Because shadow casting lights tend to be very expensive, and we’ve run into a bunch of issues with artists adding shadow casting lights without intending for them to be shadow casting and tanking our framerate, we’d like to change the default value for
CastShadow flag to
false. Unfortunately, because properties that have not changed from their default value are not serialized, simply changing the default value in
UBaseLightComponent's constructor results in all lights being set to not cast shadows, as only lights with that flag disabled had that property serialized when saving.
Is there a mechanism already in place by which we could easily change the default value for the
CastShadows flag to
false, while keeping all the lights that currently exist in our world as-is? That is, all lights that currently exist need to keep their
CastShadows flag set to whatever it is currently set to, and all new lights that are created need to have it defaulted to