Advanced Sessions Plugin

This looks pretty incredible! Thanks!

Sorry but this isn’t the plugin in the first place, your issue is with your steam subsystem setup, AS doesn’t do the actual search, it tells the subsystem to do it.

Are you sure the game instance is set as the active one? and join via presence is enabled on your sessions?

Yes, my game instance is a child of the Advanced Friends Instance and join via presence is enabled.

Oh you said Invite Received, the steam subsystem doesn’t implement that interface function, only OnSessionInviteAccepted.

I have events for both because the sessions interface has both events and some subsystems do actually implement it.

Steam you are supposed to accept in the overlay

Please help! For some reason the OnSessionInviteAccepted event in the game instance doesn’t work even when I use the OnSessioninviteAccected function in the game instance or another blueprint.


This is my code to be executed upon receipt of the invitation. The code placed in the level blueprint and elsewhere also does not work even if I use the OnSessionInviteAccepted event in the Advanced Friends Game Instance.

Does anyone know how I would go about ‘creating’ a new FBPUniqueNetId assuming I have a string version of the netid?

I have a list of other lobby players UniqueNetId stored as Strings and am serializing it across the network and sending those Ids to all players. I would Ideally like to create a new FBPUniqueNetId or even a FUniqueNet Id that I can then use for a FindFriendSession search later on.

Oh, gotcha. Is there a workaround you would recommend for getting a response in game when you receive an invite over steam?

Why would you do that? the player state should have them available to retrieve

Hi thanks for the reply. I just realized that this would work, I was trying to get them from player controllers but that was not working but player state works perfectly.

I did have one additional question. I am storing these FBPUniqueNetIds for lobby re-connection if the host disconnects and its working really well for when all hosted players are friends, however, when they are not (ie friend of a friend invite) FindFriendSession obviously no longer works (I am using Steam).

Is there any way to find what session a FBPUniqueID is in without the players being friends? I figured I could add a GUID and just search through all of the servers for it but I think this may not work as Steam only returns 50 servers If I am correct and pre-search filters do not seem to work.

To expand a bit on my point above there is also the case of having a host find a new match and then trying to do an RPC call to tell clients ‘leave this session and join this new one’

However, FBlueprintSessionResult contains a FOnlineSession which in turn contains a FUniqueNetIdPtr which can not be sent over the network at all it seems. This means that yes in a lobby situation you would be able to use player states but as soon as you need to notify a player about a session or something they can not get directly form the player state this stops working. I have additionally tried to store the variables in the GameState but that still doesn’t work because the FUniqueNetIdPtr is invalid.

I might be thinking about something wrong here but due to the Steam limitation of only returning 50 servers I think I would need to be able to join a session directly in-case it does not show up in a search.

That kind of networking flow is the point of the Online Beacons in engine.

Of which there are several online beacon party / lobby plugins available last I knew.

1 Like

So my packaged game crashes on the Stream Sessions Plugin. Its on early loading (must be the steam overlay)
Anyone knows what’s up with the plugin on 5.4.1 crashing?

[2024.05.21-13.35.12:171][  0]LogWindows: Error: === Critical error: ===
[2024.05.21-13.35.12:171][  0]LogWindows: Error: 
[2024.05.21-13.35.12:171][  0]LogWindows: Error: Fatal error!
[2024.05.21-13.35.12:171][  0]LogWindows: Error: 
[2024.05.21-13.35.12:171][  0]LogWindows: Error: Unhandled Exception: 0xc06d007e
[2024.05.21-13.35.12:171][  0]LogWindows: Error: 
[2024.05.21-13.35.12:171][  0]LogWindows: Error: [Callstack] 0x00007ff8e7c4ba99 KERNELBASE.dll!UnknownFunction []
[2024.05.21-13.35.12:171][  0]LogWindows: Error: [Callstack] 0x00007ff6d99dc4c8 Espresso-Win64-DebugGame.exe!__delayLoadHelper2() [D:\a\_work\1\s\src\vctools\delayimp\delayhlp.cpp:312]
[2024.05.21-13.35.12:171][  0]LogWindows: Error: [Callstack] 0x00007ff6d97b73b8 Espresso-Win64-DebugGame.exe!_tailMerge_steam_api64_dll() []
[2024.05.21-13.35.12:171][  0]LogWindows: Error: [Callstack] 0x00007ff6d5edd762 Espresso-Win64-DebugGame.exe!CCallback<USteamNotificationsSubsystem::cSteamEventsStore,GameOverlayActivated_t,0>::CCallback<USteamNotificationsSubsystem::cSteamEventsStore,GameOverlayActivated_t,0>() [D:\Programs\EpicGames\UE_5.4\Engine\Source\ThirdParty\Steamworks\Steamv157\sdk\public\steam\steam_api_internal.h:148]
[2024.05.21-13.35.12:171][  0]LogWindows: Error: [Callstack] 0x00007ff6d5eddda8 Espresso-Win64-DebugGame.exe!USteamNotificationsSubsystem::USteamNotificationsSubsystem() [C:\ProjectEspresso\Plugins\AdvancedSteamSessions\Source\AdvancedSteamSessions\Classes\SteamNotificationsSubsystem.h:32]
[2024.05.21-13.35.12:171][  0]LogWindows: Error: [Callstack] 0x00007ff6d5edd242 Espresso-Win64-DebugGame.exe!InternalConstructor<USteamNotificationsSubsystem>() [D:\Programs\EpicGames\UE_5.4\Engine\Source\Runtime\CoreUObject\Public\UObject\Class.h:3559]
[2024.05.21-13.35.12:171][  0]LogWindows: Error: [Callstack] 0x00007ff6cd80cbbe Espresso-Win64-DebugGame.exe!UClass::CreateDefaultObject() []
[2024.05.21-13.35.12:171][  0]LogWindows: Error: [Callstack] 0x00007ff6cdbb90bb Espresso-Win64-DebugGame.exe!UObjectInitialized() []
[2024.05.21-13.35.12:171][  0]LogWindows: Error: [Callstack] 0x00007ff6cdb9c4d2 Espresso-Win64-DebugGame.exe!ProcessNewlyLoadedUObjects() []
[2024.05.21-13.35.12:171][  0]LogWindows: Error: [Callstack] 0x00007ff6d4841bc7 Espresso-Win64-DebugGame.exe!FEngineLoop::PreInitPostStartupScreen() []
[2024.05.21-13.35.12:171][  0]LogWindows: Error: [Callstack] 0x00007ff6d483b998 Espresso-Win64-DebugGame.exe!GuardedMain() []
[2024.05.21-13.35.12:171][  0]LogWindows: Error: [Callstack] 0x00007ff6d483bc1a Espresso-Win64-DebugGame.exe!GuardedMainWrapper() []
[2024.05.21-13.35.12:171][  0]LogWindows: Error: [Callstack] 0x00007ff6d483e7e5 Espresso-Win64-DebugGame.exe!LaunchWindowsStartup() []
[2024.05.21-13.35.12:171][  0]LogWindows: Error: [Callstack] 0x00007ff6d484ee44 Espresso-Win64-DebugGame.exe!WinMain() []
[2024.05.21-13.35.12:171][  0]LogWindows: Error: [Callstack] 0x00007ff6d99e03e6 Espresso-Win64-DebugGame.exe!__scrt_common_main_seh() [D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288]
[2024.05.21-13.35.12:171][  0]LogWindows: Error: [Callstack] 0x00007ff8e9197344 KERNEL32.DLL!UnknownFunction []
[2024.05.21-13.35.12:171][  0]LogWindows: Error: 
[2024.05.21-13.35.12:191][  0]LogExit: Executing StaticShutdownAfterError
[2024.05.21-13.35.12:192][  0]LogWindows: FPlatformMisc::RequestExit(1, LaunchWindowsStartup.ExceptionHandler)
[2024.05.21-13.35.12:192][  0]LogWindows: FPlatformMisc::RequestExitWithStatus(1, 3, LaunchWindowsStartup.ExceptionHandler)
[2024.05.21-13.35.12:192][  0]LogCore: Engine exit requested (reason: Win RequestExit)

If you are using the plugin as binaries only the steamcore and steam subsystem module aren’t correctly linking in 5.4 if you didn’t follow the step of adding a blank c++ file to your project. They fixed the steam subsystem crashing out in 5.4 but steamcore is still having issues.

I realize that it has been working without doing that in prior versions but the step is there for a reason. That crash is the steam delegate binding macro epic has failing to bind as the steam library hasn’t been loaded.

Thanks for the answer. My project is c++ based mostly so that would not be the problem i think. Where can i read anything of a changelog/migrate guide for this plugin? I can only find this huge topic but the first post is outdated.

There isn’t really one, AS has been “stable” and for the most part unchanged for years now. It has been around since 4.16 in 2017. Any minor changes it gets are in Github commits.

It wasn’t really intended to be a forever thing, the assumption was that it was a temporary patch until they finished the BP access.

Is the steam subsystem / steamcore modules enabled in your project? Its not initializing steam / loading the dlls from that crash.

Yeah, all the required plugins seem to be enabled. Anything else that might be wrong? :thinking:

package for development and look at the log it generates

Does anyone know what makes Get Current Unique Build ID change? It always stays the same no matter what.

We’ve got a post going here and haven’t been able to get the multiplayer to work the steam features seem to be fine can someone help plz?