A component named RemoveLights that, on start, recursively walks the Scene graph and destroys any GameObject whose Name contains "light" (case-insensitive). It calls Destroy on matching children and recurses into others.
using Sandbox;
using System;
public sealed class RemoveLights : Component
{
protected override void OnStart()
{
void Helper( GameObject obj )
{
foreach ( var child in obj.Children )
{
if ( child.Name.ToLower().Contains( "light" ) )
{
child.Destroy();
}
else
{
Helper( child );
}
}
}
Helper( Scene );
base.OnStart();
}
}