Hi Unreal Engine team,
I found a reproducible visibility issue when calling SetVisibility from an Actor Construction Script with Propagate to Children enabled.
Engine version: UE 5.7
Context: Actor Construction Script / Editor viewport
Not tested: Runtime BeginPlay, Tick, or regular Blueprint events
I have an Actor containing several render components, including a UProceduralMeshComponent and UStaticMeshComponent children. In the Actor’s Construction Script, I call SetVisibility on a component with Propagate to Children enabled.
When visibility is set to false, the components hide correctly. However, after setting visibility back to true from the Construction Script, some child components remain invisible in the editor viewport.
The same setup works if Propagate to Children is disabled and each render component is toggled individually.
Steps to reproduce:
- Create an Actor Blueprint.
- Add a parent component with child render components, for example
StaticMeshComponentorProceduralMeshComponent. - In the Actor Construction Script, call:
Set Visibility
- New Visibility: false
- Propagate to Children: true
- Change the same Construction Script logic or exposed variable so it calls:
Set Visibility
- New Visibility: true
- Propagate to Children: true
- Observe the actor in the editor viewport.
Expected result:
Calling SetVisibility(true, true) from the Construction Script should restore visibility for the affected child components, matching the previous propagated hide operation.
Actual result:
After hiding with Propagate to Children = true in the Construction Script, some child components may remain invisible even after the Construction Script later calls SetVisibility(true, true).
Workaround:
Avoid Propagate to Children in Construction Script and toggle each render component explicitly:
PlaneProceduralMesh->SetVisibility(bVisible, false);
Sphere1->SetVisibility(bVisible, false);
Sphere2->SetVisibility(bVisible, false);
Blueprint equivalent: call Set Visibility on each target component separately with Propagate to Children disabled.
Thanks!