Description

Soft references to World objects (TSoftObjectPtr<UWorld>) cannot be directly created in blueprints. These types work fine in blueprints but cannot be directly created. The reason soft references are banned is because of crashes and ensures that can result from creating hard blueprint references to worlds (equivalent to TObject<UWorld> or UWorld*). When hard references to worlds were disabled, soft references were also disabled as a side effect.

In order to obtain a 'World Soft Object Reference' you have to add a 'Load Level Instance' node and promote the input pin to a variable. You are unable to add a reference to 'World' from the Variables Panel, only 'World Settings' and 'Material Expression' World Position.

This issue was originally found in UE4. As a workaround, the FSoftWorldReference type was added to the engine in 5.3 and can be used as a blueprint variable, but the user experience is somewhat confusing.

Steps to Reproduce
  1. In any 4.19 (or later) project open the Level Blueprint
  2. Add a 'Load Level Instance' node that references World Soft Object
  3. Promote the input pin to a Variable
  4. In the Variables panel add a new variable and set the type to World

Results: You can only create 'World Setting' variable and not a World Variable

Expected: World Object Variable Type is available through the Variables panel

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-60933 in the post.

40
Login to Vote

Backlogged
ComponentUE - Gameplay
Affects Versions4.19.24.204.21
CreatedJun 21, 2018
ResolvedAug 18, 2021
UpdatedNov 29, 2023