Random crash in PhysicalAnimationComponent after upgrading to 5.6.1

After we upgraded from UE 5.4.4 to UE 5.6.1 our game clients (Windows) started having this crash. Happens randomly during our QA passes and we couldn’t track it down to anything problematic in our animation assets.

Looking at the callstack and related code it seems like an impossible situation where SpaceBases is empty instead of having bone space transforms?

Any chance it’s a known issue with a related hotfix for 5.7 we could cherry-pick?

Steps to Reproduce
No clear steps to reproduce. The crash started happening randomly after upgrading the project from UE 5.4.4 to UE 5.6.1

I don’t see the callstack that I provided to the question form. I’m duplicating it here:

=== Critical error: ===

Assertion failed: (Index >= 0) & (Index < ArrayNum) [File:D:\UE\Engine\Source\Runtime\Core\Public\Containers\Array.h] [Line: 1067]

Array index out of bounds: 6 into an array of size 0

[Callstack] 0x00007ff79189f558 ProjectRLH.exe!FDebug::CheckVerifyFailedImpl2() [D:\UE\Engine\Source\Runtime\Core\Private\Misc\AssertionMacros.cpp:728]

[Callstack] 0x00007ff798feb969 ProjectRLH.exe!ComputeWorldSpaceTargetTM() [D:\UE\Engine\Source\Runtime\Engine\Private\PhysicsEngine\PhysicalAnimationComponent.cpp:215]

[Callstack] 0x00007ff798fd8ca9 ProjectRLH.exe!`UPhysicalAnimationComponent::UpdatePhysicsEngineImp’::`5’::<lambda_1>::operator()() [D:\UE\Engine\Source\Runtime\Engine\Private\PhysicsEngine\PhysicalAnimationComponent.cpp:409]

[Callstack] 0x00007ff798f6ff7f ProjectRLH.exe!FPhysInterface_Chaos::ExecuteWrite() [D:\UE\Engine\Source\Runtime\Engine\Private\PhysicsEngine\Experimental\PhysInterface_Chaos.cpp:632]

[Callstack] 0x00007ff799042133 ProjectRLH.exe!UPhysicalAnimationComponent::UpdatePhysicsEngineImp() [D:\UE\Engine\Source\Runtime\Engine\Private\PhysicsEngine\PhysicalAnimationComponent.cpp:376]

[Callstack] 0x00007ff799039607 ProjectRLH.exe!UPhysicalAnimationComponent::TickComponent() [D:\UE\Engine\Source\Runtime\Engine\Private\PhysicsEngine\PhysicalAnimationComponent.cpp:315]

[Callstack] 0x00007ff79832b1c8 ProjectRLH.exe!FActorComponentTickFunction::ExecuteTickHelper<`FActorComponentTickFunction::ExecuteTick’::`2’::<lambda_1> >() [D:\UE\Engine\Source\Runtime\Engine\Classes\GameFramework\Actor.h:4838]

[Callstack] 0x00007ff7984332a8 ProjectRLH.exe!FActorComponentTickFunction::ExecuteTick() [D:\UE\Engine\Source\Runtime\Engine\Private\Components\ActorComponent.cpp:1593]

[Callstack] 0x00007ff79969cae9 ProjectRLH.exe!FTickFunctionTask::DoTask() [D:\UE\Engine\Source\Runtime\Engine\Private\TickTaskManager.cpp:345]

[Callstack] 0x00007ff7996a2092 ProjectRLH.exe!TGraphTask<FTickFunctionTask>::ExecuteTask() [D:\UE\Engine\Source\Runtime\Core\Public\Async\TaskGraphInterfaces.h:707]

[Callstack] 0x00007ff7915a4bd3 ProjectRLH.exe!UE::Tasks::Private::FTaskBase::TryExecuteTask() [D:\UE\Engine\Source\Runtime\Core\Public\Tasks\TaskPrivate.h:528]

[Callstack] 0x00007ff791597cf9 ProjectRLH.exe!FNamedTaskThread::ProcessTasksNamedThread() [D:\UE\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:779]

[Callstack] 0x00007ff79159824e ProjectRLH.exe!FNamedTaskThread::ProcessTasksUntilQuit() [D:\UE\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:668]

[Callstack] 0x00007ff7915a70e7 ProjectRLH.exe!FTaskGraphCompatibilityImplementation::WaitOnNamedThreadForTasks() [D:\UE\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:1511]

[Callstack] 0x00007ff791598cbf ProjectRLH.exe!FTaskGraphCompatibilityImplementation::ProcessUntilTasksComplete() [D:\UE\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:1588]

[Callstack] 0x00007ff7996bca2c ProjectRLH.exe!FTickTaskSequencer::ReleaseTickGroup() [D:\UE\Engine\Source\Runtime\Engine\Private\TickTaskManager.cpp:986]

[Callstack] 0x00007ff7996c42bf ProjectRLH.exe!FTickTaskManager::RunTickGroup() [D:\UE\Engine\Source\Runtime\Engine\Private\TickTaskManager.cpp:2079]

[Callstack] 0x00007ff798b82bde ProjectRLH.exe!UWorld::RunTickGroup() [D:\UE\Engine\Source\Runtime\Engine\Private\LevelTick.cpp:786]

[Callstack] 0x00007ff798b8c2f8 ProjectRLH.exe!UWorld::Tick() [D:\UE\Engine\Source\Runtime\Engine\Private\LevelTick.cpp:1534]

[Callstack] 0x00007ff7988530a6 ProjectRLH.exe!UGameEngine::Tick() [D:\UE\Engine\Source\Runtime\Engine\Private\GameEngine.cpp:1878]

[Callstack] 0x00007ff799c13081 ProjectRLH.exe!FEngineLoop::Tick() [D:\UE\Engine\Source\Runtime\Launch\Private\LaunchEngineLoop.cpp:5625]

[Callstack] 0x00007ff799c2697c ProjectRLH.exe!GuardedMain() [D:\UE\Engine\Source\Runtime\Launch\Private\Launch.cpp:187]

[Callstack] 0x00007ff799c26a5a ProjectRLH.exe!GuardedMainWrapper() [D:\UE\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:128]

[Callstack] 0x00007ff799c29868 ProjectRLH.exe!LaunchWindowsStartup() [D:\UE\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:282]

[Callstack] 0x00007ff799c36eb4 ProjectRLH.exe!WinMain() [D:\UE\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:340]

[Callstack] 0x00007ff79f8e2e76 ProjectRLH.exe!__scrt_common_main_seh() [D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288]

[Callstack] 0x00007ff9b432e8d7 KERNEL32.DLL!UnknownFunction []

Hi,

We don’t currently have a fix that can be applied for this case. It is most likely related to parallel blending conflicting with the component. If setting `a.ParallelBlendPhysics 0` resolves your issue then that would confirm that case. UPhysicalAnimationComponent is an experimental object and we don’t have an ETA for a fix to this case - the parallel blending conflict is tracked as issue UE-212074.

Thanks,

Benn.

Hi Benn,

Thank you for the pointers! We will try `a.ParallelBlendPhysics 0`. The related tracked issue doesn’t seem to be public though.

Best,

Roman