UGroomComponent::TickComponent sets bResetSimulation = true every frame when the component is not visible. This causes NiagaraDataInterfaceHairStrands to triggering a full simulation reset every frame.
As a result, the groom simulation incurs higher GPU cost when the component is not visible, compared to when it is visible.
Idealy, the groom simulation should not trigger a full reset every frame when the component is not visible, or the reset should occur only once when visibility changes.
1, Drag a Groom asset into the viewport to spawn a GroomActor. The asset must have physics simulation enabled (Solver Settings → Enable Simulation) in at least one group.
2, Click Play (PIE).
3, Select the GroomActor spawned in Step 1, and uncheck Visible in the Details panel.
4, The hair simulation resets every frame instead of being suspended.
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-369714 in the post.
| 4 |
| Component | UE - Simulation - Visual |
|---|---|
| Affects Versions | 5.6, 5.7 |
| Target Fix | 5.8 |
| Fix Commit | 53300895 |
|---|
| Created | Mar 12, 2026 |
|---|---|
| Resolved | Apr 29, 2026 |
| Updated | May 19, 2026 |