Advanced Sessions Plugin

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…

1 Like