Advanced Sessions Plugin

If its part of the current engines steam sdk then yes, i think I saw a function for it when adding the text filtering

Has anyone ever thought about using relay servers with this, I am aware that it supports dedicated servers, but a relay server would be awesome, probably a wrong place to ask.

If you don’t want the users IP address to be exposed while playing peer-peer, Steam natively supports relay servers through “Steam Networking”.
https://help.steampowered.com/en/faqs/view/1433-AD20-F11D-B71E
Haven’t tested it’s support, but it’s pretty interesting.
https://partner.steamgames.com/doc/features/multiplayer/steamdatagramrelay

1 Like

Sorry but havent said it, It was clear to me that Steam has p2p relay servers, I try to set up one by myself without the addition of steam

Steam Networking doesn’t require Steam, it’s open-source:

1 Like

Hello, I have a problem about steam matchmaking. If i use 480 as my appid it works but when i use my own game id steam overlay and achievements are coming but matchmaking is not working.

Any idea?

Did you contact Steamworks support?

Fixed it nvm

hello, i’m having problems with my package game after adding AdvancedSessions, after i added the both plugins my game is not starting, here is the error message on my log

any idea how to fix this?

thank you in advance for all the help

Can’t compile with ue5-main branch.
In AdvancedSteamFriendsLibrary.cpp lines 322, 324 and 331 use Avatar->PlatformData.
The error: ‘PlatformData’: is not a member of ‘UTexture2D’
I looked at *\Engine\Source\Runtime\Engine\Classes\Engine\Texture2D.h in both 4.27.1 and the ue5-main and they changed PlatformData (public: line 83) to PrivatePlatformData (private: line 71) in UE5.
Does anybody know a fix for this?

AdvancedSteamFriendsLibrary.cpp

UTexture2D* Avatar = UTexture2D::CreateTransient(Width, Height, PF_R8G8B8A8);
// Switched to a Memcpy instead of byte by byte transer
uint8* MipData = (uint8*)Avatar->PlatformData->Mips[0].BulkData.Lock(LOCK_READ_WRITE);
FMemory::Memcpy(MipData, (void*)oAvatarRGBA, Height * Width * 4);
Avatar->PlatformData->Mips[0].BulkData.Unlock();

// Original implementation was missing this!!
// the hell man......
delete[] oAvatarRGBA;

//Setting some Parameters for the Texture and finally returning it
Avatar->PlatformData->SetNumSlices(1);
Avatar->NeverStream = true;			UTexture2D* Avatar = UTexture2D::CreateTransient(Width, Height, PF_R8G8B8A8);
// Switched to a Memcpy instead of byte by byte transer
uint8* MipData = (uint8*)Avatar->PlatformData->Mips[0].BulkData.Lock(LOCK_READ_WRITE);
FMemory::Memcpy(MipData, (void*)oAvatarRGBA, Height * Width * 4);
Avatar->PlatformData->Mips[0].BulkData.Unlock();

// Original implementation was missing this!!
// the hell man......
delete[] oAvatarRGBA;

//Setting some Parameters for the Texture and finally returning it
Avatar->PlatformData->SetNumSlices(1);
Avatar->NeverStream = true;

Change PlatformData to GetPlatformData() and that should be it.

Thanks, I tried GetPlatformData, but I forgot to add the Parenthesis.
GetPlatformData() worked

Yeah there are several main branch changes that AS doesn’t have currently because EA didn’t have it. But as a rule of thumb I generally don’t port to unstable branches without a binary build.

Hi all,
I’m having a problem with my project using advanced sessions. I can host a server and the client can see it but when I try and join it just times out and doesn’t travel this works fine in the editor but only fails when it’s built using steam my appid is correct and this was working until about a week ago. I havent changed any of my network code since then. Anyone have any ideas on why this might of happened?

I did not understand can you please enumerate by an example also what do you mean by actual .exe?

Hi,

Can we publish a project with a plugin in it?
If we can’t publish, how can I make a game using the Steam infrastructure?

Thanks,
Ismail

Yes, the plugin is MIT licensed, the most open license that the engine allows. Pretty much all it requires is mention somewhere in the file system (or app) of the source used. There is no restriction on where/why/how something derived from it is published / released.

Thank You so much.

From my time looking around, it seems to be a part of Steam v1.52 and v1.53. I’d assume that Epic would need to update the Steamworks SDK version in Unreal Engine to v1.53 in order for some of the Steam Deck functions to be added.

From my time digging around updating the SteamBridge plugin for v151 (Which is the latest the engine supports), all that SDK version currently has is some added functionality for checking for DualSense support if using Steam Input (Although that is another can of worms, as you have to integrate SteamInput support in the engine by hand yourself currently, as the Steam Controller plugin hasn’t really been updated in years (And it essentially just emulates Xinput and mouse inputs rather than having full action-based rebinding anyways)).

I’d love to see someone make a plugin that seamlessly integrates SteamInput support alongside having C++ and Blueprint bindings for checking what input glyphs to use in UMG, amongst other things. Controller support in Unreal Engine, outside of XInput, has desperately been lacking for years, and suggestions like Windows RawInput (For DualShock controllers) completely falls apart when you add Bluetooth devices into the mix (Which have different DirectInput bindings).

4.27.2 just released, does this fix the recent issues caused by 4.27?

1 Like