Niagara data channels island sleeping is bugged

Hello,

We have big scene with many NDCs. The problem is once the NDC island is not visible and put to sleep, it never wakes up (unless I toggle the debug draw settings).

I failed to replicate the issue on simple scene, maybe because it will not happen with just single island.

The issue is not there if I disable the “Complete if unused” module.

Best regards,

Ivo

Found another bug. When you write NDC with this function:

InitWrite(FNiagaraDataChannelSearchParameters SearchParams, int32 Count, bool bVisibleToGame, bool bVisibleToCPU, bool bVisibleToGPU, const FString& DebugSource)

You must tell it where the data should be visible. After moving the simulation to the GPU, I pass false for bVisibleToCPU, and true for bVisibleToGPU. NDC stopped working. Turned out you must always use bVisibleToCPU.

Hi. Apologies for the delay.

Yeah I believe I fixed the first issue in 5.7. https://github.com/EpicGames/UnrealEngine/commit/ed202f7b49d8fd1f80eb7443961a4b2751272c5d

I’ll have a look into the latter issue.

It’s likely due to the fact that you’re reading the NDC data on the CPU for spawning. Emitter and System portions of the Niagara FX run on the CPU