Scalable Dynamic Shadowing on Mobile


We are creating a mobile title for iOS and Android.

I don’t seem to be able to create a level that has dynamic shadows (Cascaded Shadow Maps) on Metal devices and Static Shadow maps on non-metal devices.

  • I can get our whole scene casting dynamic shadows at 60 fps on metal devices with a “Movable” directional light with cascaded shadow maps on. Unfortunately even using the new material scalability settings with everything forced to fully rough, this same level runs at approx 12 fps on a non metal device (with shadows turned off r.shadowquality 0) We assume this is because of the light being set to movable.

  • The same level runs at 30 fps on non mental device when I change the directional light to Stationary and rebuild the lighting. Unfortunately in this scenario on the powerful Metal devices there are no dynamic shadows (cascaded shadow maps), even with r.shadowquality 5)

Am I missing a trick or setting here to Cascaded Shadow Maps working in Metal on a Stationary Light?


Uppercut Games

Hello UppercutAJ,

After some testing I was able to confirm that dynamic shadows are not working as expected for mobile when using a Stationary Directional light, but work correctly when the light’s mobility is set to Movable. I tested this is the case in 4.9.2, 4.10.2 and the current preview release. I went ahead and entered a bug for the issue (UE-25830) and will return once the bug has been addressed. I do see this a problematic since a single movable light already eats some performance on mobile.

If you have further questions please let me know.