Summary
An entity with a mesh and a basic_interactable_component, spawned at runtime and presented to nobody with SetPresentableToPlayers(option { array {} }), is hidden as expected. When it is presented to everyone again with SetPresentableToPlayers(false), the mesh reappears, but the interaction prompt is an empty box with only the button glyph and no text, and no press reaches the interactable’s StartedEvent or SucceededEvent. The same entity without the presentation change works normally. So an interactable cannot be hidden from every player with presentation and shown again.
Please select what you are reporting on:
Verse
What Type of Bug are you experiencing?
Scene Graph
Steps to Reproduce
- Create this component, replace
my_sphere_meshwith any mesh component class from your project whose mesh has simple collision, place the component on an entity in any level, build Verse and start a play session with one player. Do not move the character.
using { /Fortnite.com/Characters }
using { /Fortnite.com/Playspaces }
using { /Verse.org/SceneGraph }
using { /Verse.org/Simulation }
using { /Verse.org/SpatialMath }
presentation_round_trip_component := class<final_super>(component) {
OnSimulate<override>()<suspends>: void = {
Sleep(10.0)
if (
Playspace := Entity.GetPlayspaceForEntity[],
Player := Playspace.GetPlayers()[0],
Character := Player.GetFortCharacter[]
) {
Target := entity {}
Interactable := basic_interactable_component { Entity := Target }
Target.AddComponents(array { my_sphere_mesh { Entity := Target }, Interactable })
Entity.AddEntities(array { Target })
Body := Character.GetGlobalTransform()
Target.SetGlobalTransform(transform {
Translation := Body.Translation + Body.Rotation.GetForwardAxis() * 250.0
Rotation := IdentityRotation()
Scale := vector3 { Left := 1.0, Up := 1.0, Forward := 1.0 }
})
Target.SetPresentableToPlayers(option { array {} })
Interactable.StartedEvent.Subscribe(OnStarted)
Sleep(8.0)
Everyone: ?[]player = false
Target.SetPresentableToPlayers(Everyone)
Print("presented to everyone")
}
}
OnStarted(Agent: agent): void = {
Print("press started")
}
}
- After “presented to everyone” is printed, face the sphere and press Interact several times.
- For comparison, remove the first
SetPresentableToPlayerscall: the prompt shows its text and every press prints “press started”.
Expected Result
Once the entity is presented to everyone again, its prompt shows normally and presses start the interaction.
Observed Result
The prompt is an empty box with only the button glyph, and no press is reported.
Platform(s)
PC (Windows)
Additional Notes
Reproduced in UEFN 6.0.0-59343437 (Fortnite Release 42.40) in three play sessions: with the presentation set on the interactable’s own entity and on a parent entity, hidden at spawn and hidden later in its life. Restoring to an explicit player list instead of everyone gives the same result. Changing between non-empty player lists (with two players: everyone, then one player, then everyone again) keeps the interaction working for both, so the trigger is presenting the entity to an empty list. Hiding and showing an entity without an interactable (a plain mesh) works as expected.
Internal bug database reference, for matching any follow-up to our records: A6WAJX.