Host, Find, Join Sessions By Community

Hello Community,

I like many others are trying to work on Steam and are happy with the implementation of the Blueprint version of Sessions for Host, Find, Join. However, we would like more control and with little documentation regarding Host, Find, Join Sessions using C++ I’d like to get everyone’s input for all of us trying to do this task.

I appreciate there is an awesome ShooterGame Sample all in C++ and I would encourage other to spend time and look around, but having spent a number of days dissecting it, I personally am getting confused in some areas.

I am trying to use Steam for the Online Sub System and have successfully integrated this using the following tutorial from Rama (Thanks)

There is also an Epic version here (Thanks)

I would like to get enough information together that a Tutorial for creating a simple Host,Find,Join demo for everyone using say the 3rd Person Template.

When we get this completed we should release the demo for free on the Marketplace.
I’m willing to put the time into creating the demo for everyone.


Hi Lyrical,

I’m not sure if you were aware, but the Mulitplayer Shootout demo does have this example setup.

Again, the current implementation of Blueprint Session control is very limited but is a good foundation for you to extend from.

Good luck!

Thanks Devero,

I’m not looked at the Multiplayer Shootout yet so I will do that this weekend.

This thread is not just for me, Once this is sorted I want to release a very simplistic version with no fancy bits so others don’t have to go through the issues I’m having.

I’ll let you know how this goes.

The Multiplayer Demo is only Blueprints I’m looking at C++ with this thread unless I’m still missing something.

It is interesting however, I’ve got a Blueprint game working in demo and you can connect to a lobby and travel together etc.

ShooterGame is way too heavy to learn the Session thing.

You should better strip off a lot of the ShooterGame Code if you want to learn it that way.

Otherwise, you can try to just recreate the Nodes that you are using in BPs.

Steam or any other Subsystem is not important. It will only allow you to join Internet Games from a Master Server list.
Lan Matches on the other hand are working with and without steam. You don’t need to change the code for this. UE4 uses wrapper function for this. If Steam is enabled, it will call the Steam version of these functions. You don’t have to worry about steam as long as you manage to get the sessions working at all.

I guess the main rundown is:

  • Player who wants to host a game creates a session and opens the map he wants to play
  • Player who wants to Join searches for sessions (without subsystem it is only LAN) and joins the retrieved once
  • Leaving a game or shutting down the listen server will need to destroy the running session

Then there are function for ServerTravel and ClientTravel and i guess you can have a look at the ShooterGame for these.

It isn’t that hard to understand (no offense!), you just need to understand the steps to achieve hosting, joining and leaving. Everything else is only adding a bit code (like the ServerTravel).

And the ShooterGame added ALOT of those extras. It got extra SessionResults (instead of the standard once). It uses Slate (which i would not try to learn, since we have UMG by now) and other things that will confuse you.

Thanks for the insight Newest and no offense taken.

I’ve got the whole blueprint systems working and I’m on the verge of getting something completed in C++ which I’m going to share when I’m done.

I’m going to take another closer look at the ShooterGame as there is always something to learn.

Thanks for all your comments, Keep them coming, we will all eventually benefit from this I hope.