Description

During seamless travel, when a client loads into the destination level it will call APlayerController::ServerNotifyLoadedWorld, including when it finishes the travel before the server. When the server later finishes travelling itself, AGameModeBase::PostSeamlessTravel is called, and all PlayerControllers that are already loaded into the correct world will have HandleSeamlessTravelPlayer called on them. This handles initializing the new controller after travel, via calls to InitSeamlessTravelPlayer, GenericPlayerInitialization, and HandleStartingNewPlayer, and these functions call some client RPCs related to initialization, such as ClientSetHUD and ClientRestart.
However, in FSeamlessTravelHandler::Tick, PostSeamlessTravel is called before BeginPlay is called for the newly loaded world. This leads to warnings when trying to send these RPCs, as the controller is not replicated yet:
"LogIris: Warning: SendRPC ClientGotoState for BP_TestPlayerController_C_1 Failed. This rootobject is not yet replicated (RefHandle: NetRefHandle (Id=20):(RepSystemId=0) Index: 0)."

Steps to Reproduce

1. In a project using Iris, enable seamless travel on the game mode.
2. Have a server and client initiate a seamless travel, ensuring the client finishes the travel before the server. (This can be done by running the server and client in different processes, allowing you to hit a break point during travel on only the server process.)
3. Observe the "SendRPC" warnings in the log for functions such as ClientGotoState, ClientSetHUD, ClientEnableNetworkVoice, ClientRestart, etc.

Have Comments or More Details?

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

0
Login to Vote

Unresolved
ComponentUE - Networking - Iris
Affects Versions5.8
Target Fix5.8
CreatedNov 18, 2025
UpdatedNov 20, 2025
View Jira Issue