Reloading datalayer , Failed to make replicated actor

I want to make before step state by reload datalayer.

I made level and I used worldpartition system.

one actor for event graph.
datalayer have one replicated actor.

I set datalayer

Is Rumtime ( checked )
Initial Runtime state Activated

I made event graph in blueprint

  1. delay time ( 5 second )
  2. change datalayer state unloaded
  3. delay time ( 1 sencond )
  4. change datalayer state activate
  5. failed to make replicated actor

It is not happend on Standalone.

It is happend on dedicated server.

error message

LogNet: Warning: UActorChannel::ProcessBunch: SerializeNewActor failed to find/spawn actor. Actor: Fanatic_Door_C /Memory/UEDPIE_1_DSCheckPointLevel_MainGrid_L7_X0_Y0_DLA12AA97B.DSCheckPointLevel:PersistentLevel.Fanatic_Door_C_UAID_244BFE96614B263B01_1984924175, Channel: 9
LogNet: Warning: UActorChannel::ProcessBunch: SerializeNewActor failed to find/spawn actor. Actor: Fanatic_Door_C /Memory/UEDPIE_2_DSCheckPointLevel_MainGrid_L7_X0_Y0_DLA12AA97B.DSCheckPointLevel:PersistentLevel.Fanatic_Door_C_UAID_244BFE96614B263B01_1984924175, Channel: 11
LogNet: Server connection received: ActorChannelFailure [UChannel] ChIndex: 0, Closing: 0 [UNetConnection] RemoteAddr: 127.0.0.1:53133, Name: IpConnection_6, Driver: GameNetDriver IpNetDriver_3, IsServer: YES, PC: DsPCTR_C_0, Owner: DsPCTR_C_0, UniqueId: NULL:DESKTOP-KCE01NL-35E857EE48CF1CB27293168E67C1F9CD
LogNet: Server connection received: ActorChannelFailure [UChannel] ChIndex: 0, Closing: 0 [UNetConnection] RemoteAddr: 127.0.0.1:53134, Name: IpConnection_7, Driver: GameNetDriver IpNetDriver_3, IsServer: YES, PC: DsPCTR_C_1, Owner: DsPCTR_C_1, UniqueId: NULL:DESKTOP-KCE01NL-FC4E480646C82461B03F04B3FF2BC39B

Have you seen this problem?

1 Like

I’m having exactly the same problem now. Inside UActorChannel::ProcessBunch the actor is not valid because it’s marked as pending kill, so it fails to replicate. This seems to happen with actors that are both replicated and placed in a level (or a world partition level). I suspect being placed in the level and being replicated are two things that are not really meant to be used together, if they aren’t mutually exclusive to begin with.

Did you find any solution? If not, I’m considering spawning those actors dynamically at the beginning of the level so that they can replicate.

I ran into a similar behavior and my solution was to mark the actors as “always relevant” in the replication settings. Don’t know if that will solve your problems, just throwing it in as a possible solution.

I solved this by calling UEngine::ForceGarbageCollection between unloading the data layer and reloading it.

2 Likes