Runtime world-space widgets with agent messages crash the Fortnite client.

Summary

When creating a world-space widget during a round with Verse, if you initialise or set any of its Verse fields to a message that contains a localized agent, the Fortnite client crashes.

Please select what you are reporting on:

Unreal Editor for Fortnite

What Type of Bug are you experiencing?

Scene Graph

Steps to Reproduce

  1. Ensure there is an entity present in the level for GetSimulationEntity[] to not fail.
  2. Create a widget blueprint that contains a text block, and bind a message-typed Verse field to its text field.
  3. Create a new verse file and paste in the following code:
using { /Fortnite.com/Devices }
using { /Verse.org/SceneGraph }
using { /Verse.org/Simulation }

CrashVerseDevice<public> := module:

  AgentText<internal><localizes>(Agent: agent): message = "{Agent}"

  crash_verse_device<public> := class(creative_device):

    OnBegin<override>()<suspends>:void=
      if:
        SimEntity := GetSimulationEntity[]
        TargetPlayer := first:
          Player : GetPlayspace().GetPlayers()
      then:
        SimEntity.AddEntities of array:
          WIDGET_BLUEPRINT_entity:
            MESSAGE_VERSE_FIELD := AgentText(TargetPlayer)
  1. Change the WIDGET_BLUEPRINT_entity and MESSAGE_VERSE_FIELD accordingly.
  2. Build Verse and place the device in the level.
  3. Launch session.

Expected Result

The widget appears normally, showing the players name. This works correctly if you query for a a pre-placed widget and set its field that way.

Observed Result

The Fortnite client crashes.

Platform(s)

All

Workaround that works for me at the moment is sleeping at least one game tick before setting the playername.

Since I added in-World User Widgets in one of my maps I’m experiencing random crashes of the Fortnite client without verse errors in creator portal !

Same getting crashes, tried the workaround and it still crashes on the widget so ill disable the name for now

was this due to the issue reported above, or are you not doing this and it’s just crashing?

It crashes even when I’m not entering an agent message.

I think the entire world-space widget is broken. The widget seems to be losing the reference to the world.

last line of the crash log:
LogScript: Warning: Script Msg: No world was found for object (/a000b331-4932-b820-34ea-e2a2cc3f82c7/SniperDeathmatch_LevelInstance_1.SniperDeathmatch:PersistentLevel.LevelEntity.LevelEntity.Widgets-WBP_Leaderboard_entity_bhkgabevya3l1_1223659798) passed in to UEngine::GetWorldFromContextObject().

Kinda same issue. But if i try to set any exposed verse field on an in-world widget it crashes the editor when trying to compile

Edit: Found what made it crash in my case, seems using the in-world entity type as value for parametric types, when trying to access the fields, causes the crash.

Ya,. Same problem over here. Fix pleeease

1 tick? Like 1 second? What are you trying to display? Because it’s the text the problem. All the sg components work, it’s just when displaying messages it doesn’t replicate for clients without crashing Fortnite, for the client joining mid game

FORT-1126319 is ‘Closed’ as ‘Fixed’. The issue will be addressed in 42.00.