[Major] An interactable disabled as it enters the scene (Disable() in OnAddedToScene, or the Enabled checkbox unticked) never shows its prompt again after Enable()

Summary

A basic_interactable_component subclass that calls Disable() inside its OnAddedToScene override (after the super call) correctly shows no prompt. When Enable() is called later, IsEnabled[] succeeds, but the prompt never appears again and no press reaches StartedEvent or SucceededEvent, for as long as the entity exists. The same Disable() and Enable() called from another component, even right after the entity is added to the scene, works as expected. Interactables that must start disabled and be enabled later cannot disable themselves while entering the scene.

Please select what you are reporting on:

Verse

What Type of Bug are you experiencing?

Scene Graph

Steps to Reproduce

  1. Create these two components, put both on one entity that also has a mesh component with collision (for example a cube), place it in front of the player start, build Verse and start a play session with one player.
using { /Verse.org/SceneGraph }
using { /Verse.org/Simulation }

# Disables itself as it enters the scene.
self_disabling_interactable_component := class<final>(basic_interactable_component) {
  OnAddedToScene<override>(): void = {
    (super:)OnAddedToScene()
    Disable()
  }
}

# Enables the interactable 8 s into the simulation and prints every press.
enable_later_component := class<final_super>(component) {
  OnSimulate<override>()<suspends>: void = {
    if (Interactable := Entity.GetComponent[self_disabling_interactable_component]) {
      Interactable.StartedEvent.Subscribe(OnStarted)
      Sleep(8.0)
      Interactable.Enable()
      if (Interactable.IsEnabled[]) {
        Print("enabled again")
      }
    }
  }

  OnStarted(Agent: agent): void = {
    Print("press started")
  }
}
  1. After “enabled again” is printed, stand facing the mesh within 2 m and press Interact several times.
  2. For comparison, remove the Disable() line from OnAddedToScene and call Interactable.Disable() at the start of OnSimulate instead: after “enabled again” the prompt shows and every press prints “press started”.
  3. The same loss without any Verse disable: remove the OnAddedToScene override, untick the interactable’s Enabled checkbox in the editor’s details panel (or in an entity prefab that carries it), and keep enable_later_component: after “enabled again” no prompt shows and no press prints.

Expected Result

After Enable(), the interaction prompt shows and presses start the interaction.

Observed Result

No prompt ever shows and no press is reported, although IsEnabled[] succeeds.

Platform(s)

PC (Windows)

Additional Notes

Reproduced in UEFN 6.0.0-59343437 (Fortnite Release 42.40) with entities placed in the editor and with entities spawned at runtime, in several play sessions. Starting disabled through the editor’s Enabled checkbox (unticked on an entity prefab spawned at runtime) shows the same loss. Disabling from outside the component in the same transaction that adds the entity, from the component’s own OnBeginSimulation or OnSimulate, or switching the mesh’s Queryable off and on instead, does not show the problem.

Internal bug database reference, for matching any follow-up to our records: 9EKONU.

Is this still happening after today’s update?

Yes, this still happens after the update. Retested on 2026-11-02 in UEFN 6.0.0-59596594 (Fortnite 43.00), in one play session with one player.

What was retested: the OnAddedToScene case of the original steps. A sphere mesh with collision and a basic_interactable_component subclass that calls Disable() in its OnAddedToScene override (after the super call) was spawned at runtime 250 cm in front of the player, and another component called Enable() on it 6 s later.

Result: still present. IsEnabled[] succeeds after Enable(), but no prompt shows and none of 20 presses reached StartedEvent.

Steps: steps 1 and 2 of the original post, with the entity spawned at runtime instead of placed in the level (the original report covered both).

Differences from the original report: none in the result. Only the runtime-spawned case was retested; the entity placed in the editor and the unticked Enabled checkbox (step 4) were not rechecked in this version.

Internal bug database reference, for matching any follow-up to our records: 9EKONU.