Before the plugin enters the chat.
Runtime data layout and Unreal object lifecycles become tightly coupled when one layer owns both.
Entity and fragment data can stay compact only when UObject ownership, Actor spawning, presentation failure, and pool reset behavior remain outside the hot core.
Lightning packages those concerns as two sibling runtime modules with an explicit inward dependency direction.
What that feels like
- Core simulation code starts acquiring UObject or Actor dependencies.
- Presentation failure clears work before the result was actually applied.
- Pooling is introduced without an explicit reset contract or separate lifecycle metrics.