Description

From licensee:
What happens is that UEditorEngine::CheckForPlayerStart() is returning the PlayerStart in the data layer, so FInternalPlayWorldCommandCallbacks::PlayInViewport_Clicked() doesn't route the view transform to the PlaySession, but probably the player start position can't be retrieved later when needed.

 

In this case we would expect the PlaySession to use the view transform, as the PlayerStart is unloaded and should not be considered valid.

Steps to Reproduce

We are encountering an issue with the behavior of PlayInEditor. All the following uses World Partition maps.

 

Base situation "A" (which is correct)

  • Create a simple level with no player start
  • Press the PIE button in the taskbar
  • The game starts with the player spawned at the camera location, whenever it is

 

Alternative situation "B" (still correct)

  • Create a simple level with no player start
  • Right-click in the viewport and select Play From Here
  • The game starts with the player spawned on the ground at the projected cursor location

 

Incorrect situation

  • Create a simple level
  • Add a data layer with a data layer asset set to Runtime type
  • Set Initial runtime state to Unloaded (default)
  • Place a player start in the level and add it to the data layer

 

Now when using Play From Here (B) the same behavior as before is observed.

 

When using PIE (A) instead, the player is spawned at the world origin.

Have Comments or More Details?

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

0
Login to Vote

Unresolved
CreatedMar 19, 2024
UpdatedMar 20, 2024