I figured out my issue, and it was due to UCommonSessionSubsystem
:
I leaned heavily on UCommonSessionSubsystem
when implementing my game’s session management. In that class are two calls to ServerTravel
: One for hosting an offline session, and the other called after an online session is created. My project effectively does the same thing.
By effectively replacing these calls withUGameplayStatics::OpenLevel
with a “listen” parameter, and not writing to PendingTravelURL
in my own project, I no longer have the issue.
I think the expected flow for a server is to: Create the session, call OpenLevel
with “listen” as the options parameter; and then for each subsequent level change, use ServerTravel
. I also don’t think ServerTravel
was intended for use in offline play.