Performance Hit Fixing Unbuilt Light Interactions in VR Level

XxpiingyxX
Wed, 17 Sep 2025 08:13:07 +0000
XR Development

Hello!
Project notes (click for more details)

TLDR:

In a VR PC project with static lighting, unbuilt light warnings remained due to skeletal meshes marked Movable under Static parents in blueprints. Fixing it by making parents Movable removed the warning but hurt performance (12ms → 19ms). Rebuilding the animation isn’t an option.

Questions:

- How can this be optimized?

- Can a skeletal mesh remain in a static parent without causing lighting issues?

- If left as-is (with the unbuilt light bug), will it cause visual problems in a shipping build?

I had a light bug in my VR project; whenever I would build the light and then reopen the level I did the build in, I would still receive the Unbuilt light warning.

To find out which lights where unbuilt, I used the command DumpUnbuiltLightInteractions. This in its turn did show a few unbuilt light but also a few Primitives with unbuilt interactions.

After some testing I found out that the unbuilt interactions was blueprints with a skeletal mesh component set to Movable but a “parent” to the attached SK was set to static. Setting the parent to movable solved the problem with all unbuilt light warnings in the level.

However, this resulted in the level going from 12ms to 19ms, with one of the higher thieves being the shadows (of course).

I guess one workaround would be to recreate the animation (its an electric door with hydraulics that have an open/close animation) with constraints in blueprints, but that is currently not an option.

So my questions are, how can I optimize this? Is there a way to have the SK in a static parent in the blueprint? If I keep the bug, will it cause problems in a shipping build? Why does this lightbug happen?

2 posts - 1 participant