How can I make a "Ready Up" system with Advanced Steam Sessions?

I have the Advanced Steam Sessions in my project and everything is working fine. I just want to add something like a “Ready” system, so for example, you are in a lobby with teammates, and you all have to press “Ready” to start the match. I’m following NiceShadow’s tutorial but this isn’t a part of the tutorial. Here is the tutorial: [ue4] Lobby Menu and Join Game - Advanced Session - Steam Multiplayer #6 [Tutorial] - YouTube

So far, I have this, but nothing happens on the server, so when I press “Ready” everything works except it doesn’t update it for other players.

You need to Wrap that Into a Server rpc function so the variables are Set on the Server

right, I forgot about that, so could I do it in my game instance?

Also, could we talk in discord, as waiting for me to see your message and vice versa is really frustrating and time wasting.

Yes you can do it in gameinstance. If your clients don’t need the replicated variable you could also do it in gamemmode. Just create an Event which Runs on server. I guess you need to Trigger the Server call from your pawn or Player Controller, Not from ui, but try it

I understand that, but I’m answering this anserhubs in my free time for the Community, so the answers should also be available for everyone who Looks for the question. I can also offer you one-to-one Consulting, but Not for free, sorry

Nevermind, this is in the “spectator” part of the tutorials, thx for the help anyways!

Hey I just figured it out, I know this is kinda late but surely it will help to those devs who are looking for answers on the same question. PS. I am using Steam Advance Session and UE4.24 but it will work for most of all versions from 4.20+
First make a Boolean Var on your LobbyLevelPlayerController. like below

347277-button3.png

Then on your Lobby Widget By your Button Clicked event make this:

Then here is my continuation code If “IsReady?” returns true: PS just dont mind the clicked event

For more details: Is Server is checking wether you are a host or a client.
Hope this might help

2 Likes

And by the way “Get All actors of Class” is actually the LobbyPlayerController in which you made the Bool Var in and in some case gets all client response to set “IsReady?”.

1 Like

Hey guys little update, what ive written on top doesnt work properly
but I have another solution.

First make a function inside your LOBBY Widget then name it check everybody ready, you could name it what u want.

348199-answ7.png

Inside copy this:

What it basically do is that it filter all Player controller that joined. Also dont forget to tick Local Variable Ready L to true:

348223-answ6.png

On your Lobby Player Controller, make custom event that triggers setting to server and a normal custom event in which the player to tick to.

and on your WB_Lobby make this:

Hope it helps.
PS I am using Steam Advance Sessions and UE Version 4.24.

1 Like

Also guys another add tip:
This for displaying to player list if player is ready or unready.

get a reference of your child widget added to playerlist then make a custom event that has a INPUT pin of player controller object reference, then get ur ISREADY var then bind it to any text box or change color or opacity.

1 Like