Consider an actor containing a Niagara Particle System Component, which is instantiated from another actor's Child Actor Component. When initializing PIE on a World Partition level containing this setup, the child actor's UNiagaraComponent::SendRenderDynamicData_Concurrent() may be called after the parent's ChildActorComponent has been destroyed, potentially causing a crash.
So far, the only reliable way to reproduce this bug is to nest 3 levels of actors inside other actors' ChildActorComponents (see Steps to Reproduce), but it is not yet clear if the crash may or may not occur in simpler scenarios. Also, the crash has not yet been observed on non-world-partition levels, and also not with other PrimitiveComponent subtypes on the innermost actor.
The related UDN case (https://udn.unrealengine.com/s/case/500QP00000CsOmRYAV/crash-when-loading-into-pie-world-actorcomponentcppsendrenderdynamicdataconcurrent) contains one possible call stack of the crash.
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-218666 in the post.
0 |
Component | UE - Niagara |
---|---|
Affects Versions | 5.4 |
Target Fix | 5.5 |
Fix Commit | 34847799 |
---|
Created | Jun 25, 2024 |
---|---|
Resolved | Jul 16, 2024 |
Updated | Aug 20, 2024 |