Its attempting to allocate uint64_MAX worth of memory when searching for many friend sessions during a loop? ok…
Can you show me a SS of your loop? I have the function pulled up but can’t get down to testing it for a couple of hours but it looks like they are creating a unique net id manually for people out of a lobby. Regardless FindFriendSession shouldn’t be called on someone in the menu, they aren’t actually in a session at the time, but it should fail gracefully, not have memory corruption.
Edit You know what? I totally forgot to initialize Friend.PresenceInfo in the “GetFriend” function…
It contains the following:
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Online|Friend")
bool bIsOnline;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Online|Friend")
bool bIsPlaying;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Online|Friend")
bool bIsPlayingThisGame;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Online|Friend")
bool bIsJoinable;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Online|Friend")
bool bHasVoiceSupport;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Online|Friend")
TEnumAsByte<EBPOnlinePresenceState::Type> PresenceState;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Online|Friend")
FString StatusString;
Which should allow you to fully define whether they are joinable and their current status. I had some of the presence settings exposed to their own variables but I will fill out the entire presence structure, like “IsJoinable” which would be a big help here…