Implementing Steam Advanced Sessions | 08 | Multiplayer Battle Royale | Tutorial | Unreal Engine 5
HTML-код
- Опубликовано: 29 сен 2024
- 👨🏫 My Patreon link:
/ kekdot
Download Project Files | Premium Tutorials | Courses
🕹️ Get our Game on Steam | The Anomaly Project:
store.steampow...
---
In this tutorial we implement/setup Steam for our game. We take a look at the Steam Advanced Sessions plugin and set it up for the project. At the end of the video the game is connected to Steam and able to host Steam Sessions.
We take a look at:
- Steam (Online subsystem Steam)
- Steam Advanced Sessions Plugin
- Setting up the DefaultEngine.ini file
- Adding plugins
- Adding Create Advanced Sessions, Find Advanced Sessions nodes
- Adding C++ class
- Converting the project to a Hybrid project
- Building the project in Visual Studio
- Testing Steam
Steam Advanced Sessions Plugin link:
forums.unreale...
Unreal Engine Steam Online Subsystem documentation link:
docs.unrealeng...
✔️ What are we going to make in this series?:
In short it will be PUBG but with Bean characters.
We will have:
- A Battle royale Map
- Full Steam Session setup for connecting to games (Host, ServerBrowser, Join)
- Multiplayer characters
- Picking up Tools / Weapons
- Multiple weapons
- Lootcrates
- Flying out of an airplane
- All kinds of UI and HUD
- Match flow logic
And basically everything that a battle royale needs
#unrealengine #tutorial #multiplayer
---
Welcome to Kekdot!
👨🏫 Our Patreon - Download Project Files | Premium Tutorials | Courses:
/ kekdot
🛒 Our Unreal Engine Marketplace Templates:
www.unrealengi...
👾Join our Discord:
/ discord
📆 We upload videos on a weekly basis
📰 Follow us on:
Instragram: @kekdotyoutube
Twitter: @kekdot
Reddit: @kekdot
Hey guys,
Get the project files here if you're interested:
👨🏫 My Patreon link:
www.patreon.com/kekdot
Download Project Files | Premium Tutorials | Courses
Just to let you guys know what we are making in this course, we are making a full multiplayer battle royale game. I am uploading one video each day.
In short it will be PUBG but with Bean characters.
We will have:
- A Battle royale Map
- Full Steam Session setup for connecting to games (Host, ServerBrowser, Join)
- Multiplayer characters
- Picking up Tools / Weapons
- Multiple weapons
- Lootcrates
- Flying out of an airplane
- All kinds of UI and HUD
- Match flow logic
And basically everything that a battle royale needs
question, I noticed you say only developement build. Why can't this work in shipped build? I did what you said and it's weird that only development build gets the steam overlay.
@@Alex-jb8wr Because the Steam ID 480 is only for testing dev builds, you have to purchase a steam page in order to get your own ID that can be used for shipping builds
@@Topher2k8 thanks for advice, I did and bought it and verified my id for taxes but now not working in standalone anymore, does it work immediately or I need to do something?
make dedicated server tutorial button
I'll do one if it gets a 100 likes
@@Kekdot 157
when tut lol
@@Kekdot I would love the dedicated servers tutorial!
@@Kekdot Hello, thanks for the series... we have already reached more than 100 likes on your video, please dedicated server video!
@@Kekdot would also like to see a dedicated server tutorial
Do you need a steamworks account in order to use steam advanced sessions? Are their servers available for free? Are you using an existing ID (ie Spacewars?) that someone else has already applied for?
- You don’t need a Steamworks account to test. You can simply use the by Steam provided testing ID of 480
- ‘Their’ servers is incorrect. The hosting player becomes the server. Steam simply substitutes their network for us developers to run the sessions over. Yes this is completely free, read more on the Steamworks api website
- I am using the default dev testing ID of 480 which Steam provides for all developers as a testing ID.
Anyone on 5.3.2 Might need to enable "Online Subsystem - Steam" In tandem with the default subsystem + advanced steam and sessions. Hope that works!
May I give u a kiss no homo
I did it with this version, everything exactly as in the tutorial, but my Steam icon didn't appear, could you explain this additive better? Where exactly do I add this? Thanks in advance, hugs
@@sammermusa5124 In Editor menu Edit > Plugins search for "Online Subsystem - Steam" tick the box, restart editor. Hitting run in editor then worked for me.
Can you explain this please?
@@Rodluq Go to your plugins tab and enable "Online Subsystem Steam," "Online Subsystem," "Advanced Sessions," and "Advanced Steam Sessions"
Thanks a million! quick question, i had an in-app purchase. could i access the steam wallet directly now?
I did everything as in the tutorial, everything worked fine, but when I open the game in "launch game" it doesn't look like the Steam icon, can you tell me what I might have missed? I saw a comment below talking about this but I didn't understand exactly what I should do to solve this with the latest version of the steam plugin.
Same here, have you found a solution?
@@tristanlapointe9087 In Steam's Settings, under 'In Game', enable 'Steam Overlay'. Then relaunch the game.
Thanks for the tutorial. I did everything as in the tutorial. I can see the server of my friend but the ping is 9999 and when I try to join the server, connection times out. Any idea why? How can I fix it? Please help.
Getting same issue. Let me know if you fixed
Great video 🎉
Unfortunately this process seems to have created an issue with CommonUI / controller input. If anyone is using CommonUI, I recommend skipping this video. I was at a loss for how to undo the breaking changes, so I had to start my project completely over right from the start. I'm going to try again once I have version control set up.
I can create a Server but Joining ist not Working. Kicks me everytime back to the Menu. Does anybody have an idea?
In my case I could fix it with cleaning my GameEngine.ini….there was a lot of stuff from EOS what i used before.
Also a ServerTravel was not working because I had enabled the seamless Travel in GameMode. The other Level used an other GameMode so I had to disable it
Very Cool !
Before anyone watches this video, and your using UE5.3 this defiantly is not working, no errors following the video, but you do get a fatal error when you package project in development for windows. So make sure you back up your back ups, lol.
To fix this enable "Online subsystem - Steam" and "Online subsystem - Utils" in the Plugins menu, then rebuild.
@@gaboralberti Thank you this fixed it for me
I love what you're doing with this series 🙏
doin on ue4.27. Installed plugin, steam works great (friends see im playing spacewar, shifttab works). But when i click create host, it doesnt work and shows error. what do i have to do?(online subsystem - steam and steam socket plugins are enabled)
hey kekdot while building game in visual studio I am getting error saying "command failed with exit code 1"
Are there any steps that I need to take after building my project to ensure that it uploads to GitHub correctly, so that my artist can pull the changes and open the project? I built the game, pushed to the repo, and after pulling and attempting to open the project he gets the error "the game module could not be found. please ensure that this module exists and that it is compiled". Any help appreciated, not sure what to do next. If possible, I want to avoid having the artist install Visual Studio and keep their technical workflow limited to just pushing and pulling changes
Currently getting this warning in my console when I try to play in standalone "LogOnline: Warning: OSS: TryLoadSubsystemAndSetDefault: LoadSubsystemModule([Steam]) failed" Any idea how to fix this? EDIT: See reply for solution
Solved this just minutes after. Going to post my solution here for anyone that encounters this issue. If you go to edit -> plugins -> All plugins -> search "online subsystem steam" and enable it, this should solve the issue.
Hey kekdot, Love you efforts.
I just wanna know that does this advance steam plugin also work with EOS ( EPIC ONLINE SERVICES ) Or there is something else plugin for this ?
Hey there,
The Steam Online subsystem expects you to publish your game on Steam and only works on Steam. It is not cross platform.
The EOS (Epic Online Subsystem) is cross playform and works both on the Epic Game's store as on Steam and others.
However if you intend to release on Steam then you most likely want to have the player get Steam achievements, and Steam friends, etc. So then I'd say the Steam Online subsystem makes more sense in that case.
EOS does not have a free plugin I believe but if you type in EOS on the Unreal Engine marketplace you'll see available ones
Glad that you enjoy the series! Appreciate your support
I've come across a plugin called the EOS Integration Kit; do you think it functions similarly to the one demonstrated in the video?
i have my own dedicated server can u please teach me how to build my game for my dedicated server without steam
U already have one?
hello there i had a probleme , when i try to launch the game the launch game button dosen"t appear and it says : The following modules are missing or built with a different engine version:
I'm also having the same problem. were you able to fix it and if so, how?
@@goncaloanastacio736 hello brother , i finally fix it by rebooting my pc , like delete everything and redoawload windows , ans it actually work
@@JawadAnzour what do u mean?
If you still cannot see the Steam overlay try to enable the Online Subsystem Steam plugin.
What does it mean?
Thank you for the wonderful lessons. Can someone explain why it doesn't connect to Steam in the shipping build if there is an ID for my project?
Quik note the dont have to be from the same country
Its funny people still dont know this😂😂😂
But noth need to be in the EU or both need to be in NA or AU or AZ
I can connect to a host, but the map they're in will not load for me, unless we're running a built version of the game. UE 5.3 with the 5.3 plugin binaries. I've done limited testing and it seems like a UE bug.
if i dont want to advertise the server if the match started should i update the session? when the match started? cant seem to see the join in progress to set
Did you have a solution in mind for the fact steam only ever returns 50 servers?
this dont works in 5.4
Tested it today works fine. Simply compile from source or first upgrade to 5.1 , then to 5.4 from there.
how did you get the launch game options ?
am i supposed to have to open ports for this?
Is there any compatibility problem if I have to integrate the Steamworks SDK after the Advanced Sessions Plugin in order to publish the game on Steam with Achievements and such? Maybe this Advanced Sessions Plugins makes Steamworks SDK unnecesary?
What do we do if the SLN file isnt created?
have you figure it out yet ?
@@woodoowooda_yt1713 Unfortunately not :/
Great Tutorial KekDot!
Before starting this video I recommend Copying a file of your project. As sometimes working with files directly can get messed up.
For those of you in UE5 getting the Error "The following modules are missing or built with a different engine version." Make sure to have all of your C++ Components and .NET Components files for Visual Studio installed mentioned on 14:19 (When I tried installing it came up with a popup saying you need to install more .NET Components.) Then Rebuild it and it should work as normal. At least it worked for me there may be something else you might need to do. I recommend reading the other comments down below relating to the error Message.
i learned that the hard way all my shit is corrupted now
error "the following modules are missing or built with a different engine version"
At about 13:10 if you're following this tutorial and you run into a build error (like myself) after creating the C++ class, it's because the components for Visual Studios weren't installed. launch Visual Studio Installer and make sure to install the components for 'Game development with C++' specifically
How I found this out for myself was I right clicked the .uproject file and choose "Generate Visual Studio project files" and the logs window mentioned the specific component in VS that I needed installed, in case anyone else runs into a similar issue
I realize now that was mentioned later in the video and it would have saved me an hour of researching if I had just listened... 👍
Great tutorials! Please please make a video about Dedicated Servers!
Great tutorial on this implementation!
If possible, it would be nice to see some later on (much later on) advanced topics like net serialization for better replication performance or added usage of C++ to improve performance for functions that would be more ideally written in code. For instance if using the profiler, and it shows some operations taking a lot of time in the blueprint, converting that to C++ function that is (BlueprintCallable). I think it would benefit this series as we are building this series around a battle royale mindset, where more then a usual amount of players are potentially joining and we would want some level of optimization.
For some reason, everything works on my end, except when I create a session and it spawns in the player, the keyboard and mouse inputs are not recognized. Anyone else with the issue or has any ideas on how to solve? @Kekdot
Check and see if you are using enhanced inputs on your player controller, if you have enhanced inputs AND input actions, coded in OR you have input actions created but not named correctly that can cause you to not have input.
@@Crouton_6 Thanks. Turns out that the "Set Input UI Mode Only" in the Main Menu Player Controller was causing issues. Disconnected it and it works fine now. Still have to properly implement it, so for the time being I am keeping it disconnected.
THANK YOU!!!
Thanks for the great tutorial. I used another version of the plugin since it didnt compile at UE 5.1.1 I used the latest version released in their website. I did everything inside the tutorial as the instructions were given but when pressing Shift + Tab it didnt open steam setting when launching the game. What could I have done wrong? Thanks for your help.❤
I believe that the plugin is broken in 5.1 since Unreal broke the Steam subsystem libraries for 5.1.
Also the reason I do the tutorial in 5.0.3.
5.3 might actually be fixed however you should check to see that yourself. I currently don’t have 5.3 installed on my PC as our own studio still uses 5.0.3 only.
But things to check are:
- Do you have Steam running?
- You configurated the DefaultEngine.ini file?
- You properly rebuild the project with success in Visual Studio
- You are testing in standalone and not in the editor
I am having similar issues with 5.3 too. The installation looks like it went totally fine. I can start a session and connect a second client exactly as expected though.
Explained in a comment above, you have to enable one more plugin named "Online Subsystem Steam"
Can you implement eos in a tutorial, too?????
I’ve never used EOS so won’t be the best teacher for that.
EOS is broken as hell for UE5, SharedPointer.h file has 4 unfixable errors that will cause your game to crash each and every time you try to connect.
using appid 480 I am only able to find sessions on my local network. and using my own appid I no longer get the steam overlay. any advice?
App id you can only use in shipping builds that are also actually On Steam.
Dev ID only works in Development builds that are just packaged and that you use for testing and sending to people in a zip.
When using Dev ID 480 you should test with a unique Steam account per computer. If any friends test they must be running steam logged in, and then they also must be from the same country.
@@Kekdot thank you for the reply! I changed the appid in my projects engine default ini file and did a shipping build. But when I run the built exe I get no steam overlay even with steam running in the background.
I paid $100 and got my own unique steam id. Are you saying that I have to push my build to steam for it to work?
Idk why 480 won't work. I gave a development build to a friend. We were both using separate steam accounts and both in US, but I think he is West Coast and I'm East Coast.
@@SterlingNesbitt Yeah for the US the region is a block as well I believe.
Also perhaps you simply didn't do it right. Perhaps check all steps again. Did you enable the Steam Subsystem plugin properly too? And the rebuild of the project in Visual Studio went well?
If you yourself are not even getting the overlay then the setup steps simply didn't go correct for you and you have to check your setup.
@Kekdot I also tried myself with 2 computers, 2 steam accounts, and one computer on VPN but tunnel Bear out me somewhere in the mid West.
I have all 3 plugins enabled. But I did not covert my project to cpp. I read one person who didn't have to do that on ue 5.3.
I am about to get the steam overlay and able to make a list of my steam friends using appid 480 but not with my unique appid
@SterlingNesbitt unique ID works when On Steam in a packaged build. Otherwise package in development build. You do need to convert the project to hybrid cpp project.
how did you get the launch game options ?
how did you get the launch game options ?
how did you get the launch game options ?
how did you get the launch game options ?
how did you get the launch game options ?
how did you get the launch game options ?
how did you get the launch game options ?
how did you get the launch game options ?
how did you get the launch game options ?
how did you get the launch game options ?
how did you get the launch game options ?
I followed the tutorial and when i open the game with 2 players in the editor I create and find the servers just fine. (Actually it finds the same server twice) But when i package the game as development and send it to my friend who is in the same region it can't find the server. What could be the reason?
Did you ever figure this out?
@@muji1234567 The problem might be about the advanced sessions plugin. When i change the appID from default to my game's id it started working just fine
Are you talking about in the default engine.ini file? Also what’s ur game ID u mean the steam ID when u actually publish it?
@@muji1234567 yes in the engine.ini file.Its the appID when you you get the steam developer account and created a new app. So basically yes its the one when u actually oublish it