We’ve been doing profiling of performance and ran across a LoadObject call coming from a GroomAsset.
We’re trying to avoid synchronous loading to improve performance.
I found where this occurs in the GroomAsset.cpp.
Is there a way around this and have it loaded asynchronously?
void UGroomAsset::UpdatePhysicsSystems()
{
for (auto& Group : GetHairGroupsPhysics())
{
if (Group.SolverSettings.NiagaraSolver == EGroomNiagaraSolvers::AngularSprings)
{
Group.SolverSettings.CustomSystem = LoadObject<UNiagaraSystem>(nullptr, TEXT("/HairStrands/Emitters/StableSpringsSystem.StableSpringsSystem"));
}
else if (Group.SolverSettings.NiagaraSolver == EGroomNiagaraSolvers::CosseratRods)
{
Group.SolverSettings.CustomSystem = LoadObject<UNiagaraSystem>(nullptr, TEXT("/HairStrands/Emitters/StableRodsSystem.StableRodsSystem"));
}
}
}