OnJoinSessionCompleteResult always returning '0' for Success when not true

void UMyGameInstance::OnJoinSessionComplete(FName SessionName, EOnJoinSessionCompleteResult::Type Result)
{
GEngine->AddOnScreenDebugMessage(-1, 10.f, FColor::Yellow, FString::Printf(TEXT(“OnJoinSessionComplete %s, %d”), *SessionName.ToString(), static_cast(Result)));

The OnJoinSessionComplete callback function seems to return a ‘Success’ all the time.

I’ve tested it over LAN, not over Steam yet, but it seems to be the case over LAN. The Use Case I’ve tested is:

  1. Client A hosts a Session over LAN.
  2. Client B searches for sessions and finds Client A’s Session.
  3. Client A leaves Session, and Session is destroyed.
  4. Client B tries to join Client A’s session which is now destroyed.
  5. OnJoinSessionComplete callback returns with ‘Success’

This is obviously an issue since I need a correct callback to adjust game flow and redirect menus and all that.

Tested over Steam. Steam join callbacks are correct, this seems to be an issue over LAN.

Do used OnlineSubsystemNull or you trying to make LAN game using OnlineSubsystemSteam? Keep in mind Null is just a dummy, there is no online service behind him it just to make a game that is made for online servers could work without any online service implemented

I used Steam with the -nosteam command argument to test multiplayer locally to make the LAN game. I think a failed JoinSession should still return at least an “Unknown” if it fails whatsoever.