Description

The bug is data layer runtime states can get out of sync between a client and a host depending on the initial runtime state of a data layer and the size of the replicated data layer names array.

See repro.

Steps to Reproduce

Repro:

  • Add a data layer to a world. Set an initial runtime state of Activated or Loaded for the data layer.
  • At some point in script (or code), change the data layer runtime state to Unloaded (could be on BeginPlay or later during the game).
  • The Rep<Active|Loaded>DataLayerNames list on the host should now be empty.
  • Add a client to the game. The client will not get an OnRep for RepActiveDataLayerNames or RepLoadedDataLayerNames if the array is empty on the host.
  • The client now has a data layer in a different state from the host (because it initialized the data layer to the initial runtime state of Active or Loaded).
  • If the host waits for the client to complete streaming (IsStreamingCompleted), it will never complete because the two are out of sync.

Reproduced this in UE5/main today (08/23/2024).

Have Comments or More Details?

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

0
Login to Vote

Fixed
Affects Versions5.5
Target Fix5.5
Fix Commit35821857
CreatedAug 23, 2024
ResolvedAug 29, 2024
UpdatedSep 4, 2024
View Jira Issue