Invalid parameter EOS_Lobby_CopyLobbyDetailsHandleOptions.LocalUserId reason: is not a valid Product User ID, Result: EOS_InvalidUser

After looking into this some more, I was able to get rid of the EOS_InvalidUser error when creating a lobby by manually adding the host to the session prior to calling CreateSession(), like so:

IOnlineSubsystem* Subsystem = Online::GetSubsystem(GetWorld());
IOnlineSessionPtr Session = Subsystem->GetSessionInterface();
IOnlineIdentityPtr Identity = Subsystem->GetIdentityInterface();

TSharedRef<FOnlineSessionSettings> SessionSettings = MakeShared<FOnlineSessionSettings>();
// all the usual session settings...

SessionSettings->MemberSettings.FindOrAdd(Identity->GetUniquePlayerId(0).ToSharedRef());

Session->CreateSession(0, NAME_GameSession, *SessionSettings)

So it feels like EOS OSS may be trying to access the player too soon when the session is created.

However, I’m still facing the same EOS_InvalidUser error when a client joins a session, as I haven’t yet been able to add the joining client to the session’s settings it is trying to join prior to joining.

The error doesn’t seem to affect gameplay, as both players can see each other, their movements replicate, etc, however, I’d still like to fix this error.