To do that, I modified UGameInstance::InitPIE to take an additional WorldContextHandle (defaulting to none).
If a valid handle is passed in, then I lookup that world context, instead of creating a new one.
Additionally, I made a modification to address
I modified PlayLevel.cpp:1889 to run the OnlineSubsystem login regardless of the PlayNetMode.
These changes may or may not have anything to do with this issue…I’m still investigating.
Thanks for pointing this out. This issue has actually been fixed in our main branch, and is accessible in the latest code available on GitHub. Of course the fix will also be included in the 4.5 release!