UGameInstance::PlayReplay does not work. If I call “demoplay ReplayName” through the console, then the playback works.
After studying, I noticed that when UGameInstance::PlayReplay is called in UWorld::SetActiveLevelCollection variable DemoNetDriver sets not nullptr. A call through the console DemoNetDriver sets in nullptr.
If at that moment DemoNetDriver set to nullptr, playback of UGameInstance::PlayReplay is running correctly