We found that setting fx.Niagara.WorldManager.UseTickPasses=1 will break the parameters for restarted Niagara systems.
A fix would be appreciated so we can use this CVar value as a CPU optimization.
Thank you,
Eric
[Attachment Removed]
We found that setting fx.Niagara.WorldManager.UseTickPasses=1 will break the parameters for restarted Niagara systems.
A fix would be appreciated so we can use this CVar value as a CPU optimization.
Thank you,
Eric
[Attachment Removed]
Steps to Reproduce
Hi Eric,
We already have a Jira in for this, but it’s not been high on our priority list to fix as the perf gains we saw internally for FN weren’t really significant enough.
I don’t really have an ETA for when it might be fixed tbh.
Thanks,
Stu
[Attachment Removed]
Well I said no ETA, but I thought your repro was easy enough to have a look over it (the previous report I had inside FN wasn’t clear how to repro).
I’ve made the following change locally and that seems to have fixed it
// When tick passes are enabled we need to quick release the simulation otherwise they can linger causing more tick groups to be active
FNiagaraWorldManager* WorldManager = GetWorldManager();
if (WorldManager && WorldManager->UseTickPasses())
{
SystemSimulation = nullptr;
// We need to do a full parameter unbind rather than a partial unbind as we have (intentionally) lost connecting to the simulation
UnbindParameters(false);
}
// If not using tick passes and not pooled so a partial parameter unbind
else if (!bPooled)
{
UnbindParameters(true);
}
I’ll kick off some EngineTests, and if they pass I’ll submit the change.
Thanks,
Stu
[Attachment Removed]
I’ve submitted the change in 53423787.
I have not enabled this yet, as I need to do some more verification, but I think we should be good.
Thanks,
Stu
[Attachment Removed]
Hi Stuart,
We cherry picked 53423787 and it fixed our issue.
Thanks!
[Attachment Removed]
Awesome, appreciate you letting me know ![]()
[Attachment Removed]