diff --git a/AdvancedSessions/Source/AdvancedSessions/Classes/AdvancedSessionsLibrary.h b/AdvancedSessions/Source/AdvancedSessions/Classes/AdvancedSessionsLibrary.h index a512e8a..09df7aa 100644 --- a/AdvancedSessions/Source/AdvancedSessions/Classes/AdvancedSessionsLibrary.h +++ b/AdvancedSessions/Source/AdvancedSessions/Classes/AdvancedSessionsLibrary.h @@ -160,6 +160,10 @@ public: UFUNCTION(BlueprintPure, Category = "Online|AdvancedSessions|PlayerInfo|PlayerID") static void GetUniqueNetID(APlayerController *PlayerController, FBPUniqueNetId &UniqueNetId); + // Get the unique net id of a network player attached to the given controller + UFUNCTION(BlueprintPure, Category = "Online|AdvancedSessions|PlayerInfo|PlayerID") + static void GetUniqueNetIdOfSessionOwner(FBlueprintSessionResult SessionResult, FBPUniqueNetId& UniqueNetId); + // Get the unique net id of a network player who is assigned the the given player state UFUNCTION(BlueprintPure, Category = "Online|AdvancedSessions|PlayerInfo|PlayerID") static void GetUniqueNetIDFromPlayerState(APlayerState *PlayerState, FBPUniqueNetId &UniqueNetId); diff --git a/AdvancedSessions/Source/AdvancedSessions/Private/AdvancedSessionsLibrary.cpp b/AdvancedSessions/Source/AdvancedSessions/Private/AdvancedSessionsLibrary.cpp index 7cc1c1d..8c52327 100644 --- a/AdvancedSessions/Source/AdvancedSessions/Private/AdvancedSessionsLibrary.cpp +++ b/AdvancedSessions/Source/AdvancedSessions/Private/AdvancedSessionsLibrary.cpp @@ -451,6 +451,17 @@ void UAdvancedSessionsLibrary::GetUniqueNetID(APlayerController *PlayerControlle } } +void UAdvancedSessionsLibrary::GetUniqueNetIdOfSessionOwner(FBlueprintSessionResult SessionResult, FBPUniqueNetId& UniqueNetId) +{ + FBPUniqueNetId ReturnID; + if (SessionResult.OnlineResult.IsValid()) + { + ReturnID.SetUniqueNetId(SessionResult.OnlineResult.Session.OwningUserId); + } + + UniqueNetId = ReturnID; +} + void UAdvancedSessionsLibrary::GetUniqueNetIDFromPlayerState(APlayerState *PlayerState, FBPUniqueNetId &UniqueNetId) { if (!PlayerState)