I’ll also add on this: on 5.3 the proposed solution for UWorldSubsystem isn’t working for me in case of pie-“seamless” traveling. First level loaded fine, but on travel client return the server’s netmode.
Hence
is a way to go for me:
bool UMyWorldSubsystem::ShouldCreateSubsystem(UObject* Outer) const
{
return true;
}
void UMyWorldSubsystem::OnWorldBeginPlay(UWorld& InWorld)
{
//doing server-only subsystem
if (InWorld.GetNetMode() == NM_Client)
return;
//Subsystem is still exist, but isn't initialized on clients. May also wish to disable Tick() if your ss is tickable
//==========================
//Actual initialization goes below
//<...>
}