Registration of budgeted components with the allocator fails when running in ENetMode::NM_Client. The initialization order when running in this mode is different to Standalone net mode which ends up breaking the registration of components owned by actors that have been dropped into the level.
The usual order on PIE is:
But when running as a client on PIE:
It seem that relying on UWorld::bBegunPlay leaves us with a window of time where registration of components will fail because FAnimationBudgetAllocator::HandleWorldBeginPlay has been called but UWorld::bBegunPlay has not been set. It feels like we'd be better to set a flag in the allocator when FAnimationBudgetAllocator::HandleWorldBeginPlay is called and then choose immediate vs deferred registration based on that flag.
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-198881 in the post.
3 |
Component | UE - Anim - Runtime |
---|---|
Target Fix | 5.4 |
Created | Oct 24, 2023 |
---|---|
Resolved | Feb 6, 2024 |
Updated | Mar 6, 2024 |