How to use Unity Relay, Multiplayer through FIREWALL! (Unity Gaming Services)

แชร์
ฝัง
  • เผยแพร่เมื่อ 1 ธ.ค. 2022
  • ❤ Watch my FREE Complete Multiplayer Course • Learn Unity Multiplaye...
    ✅ Learn more about Relay and UGS on.unity.com/3tQZLLW
    📝 Relay Docs on.unity.com/3OjXL8z
    🌍 Get my Complete Courses! ✅ unitycodemonkey.com/courses
    👍 Learn to make awesome games step-by-step from start to finish.
    👇 Click on Show More
    🎮 Get my Steam Games unitycodemonkey.com/gamebundle
    🎮 Wishlist my Next Steam game! cmonkey.co/totalworldliberation
    Unity Multiplayer PUNCH through FIREWALLS with Relay!
    Multiplayer through FIREWALL with Relay! (Unity Gaming Services)
    🔴 RELATED VIDEOS 🔴
    COMPLETE Unity Multiplayer Tutorial (Netcode for Game Objects) • COMPLETE Unity Multipl...
    Join your Players in MULTIPLAYER with Lobby! (Unity Gaming Services) • Making a MULTIPLAYER G...
    What is Unity Gaming Services? • Free Unity Multiplayer...
    EASY Console! Run any Command! (Add Cheats, Set Gravity, Spawn Enemies Quantum Console Asset Review) • EASY Console! Run any ...
    💬 Let's learn how to use Unity Relay which is a tool for helping you connect players even while behind Firewalls. So no more issues with Port Forwarding, handling NAT or anything.
    The Unity Relay is accessible from the internet so all players connect to it and everyone can play together.
    This is pretty easy to implement so in this video let's combine this with the 2 other Unity Gaming Services tools, Netcode for Game Objects and Lobby.
    With all 3 you can create a Lobby for your players to find each other, use Relay to connect them together, and use Netcode for Game Objects to handle the multiplayer logic.
    Thanks to all these tools making Multiplayer games is now easier than ever.
    📝 Some Links are Affiliate links which means it costs the same to you and I get a nice commission.
    🌍 Get Code Monkey on Steam!
    👍 Interactive Tutorials, Complete Games and More!
    ✅ store.steampowered.com/app/12...
    If you have any questions post them in the comments and I'll do my best to answer them.
    🔔 Subscribe for more Unity Tutorials / @codemonkeyunity
    See you next time!
    📍 Support on Patreon / unitycodemonkey
    🎮 Grab the Game Bundle at unitycodemonkey.com/gameBundl...
    📝 Get the Code Monkey Utilities at unitycodemonkey.com/utils.php
    #unitytutorial #unity3d #gamedev
    --------------------------------------------------------------------
    Hello and Welcome!
    I'm your Code Monkey and here you will learn everything about Game Development in Unity using C#.
    I've been developing games for several years with 8 published games on Steam and now I'm sharing my knowledge to help you on your own game development journey.
    I do Unity Tutorials on just about every topic, Unity Tutorials for Beginners and Unity Tutorials for Advanced users.
    You can see my games at www.endlessloopstudios.com
    --------------------------------------------------------------------
    - Other great Unity channels:
    Unity - / unity3d
    Brackeys - / brackeys
    Dani - / @danidev
    Jabrils - / @jabrils
    BlackthornProd - / @blackthornprod
    Sykoo - / sykootv
    Jason Weimann - / @unity3dcollege
    Jonas Tyroller - / @jonastyroller
    --------------------------------------------------------------------
    - Website: unitycodemonkey.com/
    - Twitter: / unitycodemonkey
    - Steam: store.steampowered.com/develo...

ความคิดเห็น • 438

  • @CodeMonkeyUnity
    @CodeMonkeyUnity  ปีที่แล้ว +8

    ❤ Watch my FREE Complete Multiplayer Course th-cam.com/video/7glCsF9fv3s/w-d-xo.html
    ✅ Learn more about Relay and UGS on.unity.com/3tQZLLW
    📝 Relay Docs on.unity.com/3OjXL8z
    🔴 RELATED VIDEOS 🔴
    COMPLETE Unity Multiplayer Tutorial (Netcode for Game Objects) th-cam.com/video/3yuBOB3VrCk/w-d-xo.html
    Join your Players in MULTIPLAYER with Lobby! (Unity Gaming Services) th-cam.com/video/-KDlEBfCBiU/w-d-xo.html
    What is Unity Gaming Services? th-cam.com/video/JwClCc2_zC8/w-d-xo.html
    EASY Console! Run any Command! (Add Cheats, Set Gravity, Spawn Enemies Quantum Console Asset Review) th-cam.com/video/bOf6CjpuSFs/w-d-xo.html
    🌍 Get my Complete Courses! ✅ unitycodemonkey.com/courses
    👍 Learn to make awesome games step-by-step from start to finish.
    🎮 Wishlist my Next Steam game! cmonkey.co/totalworldliberation

    • @mctennys
      @mctennys ปีที่แล้ว

      Hope to see a solution when the host disconnected in the middle of the game and a member in the game pick up the game as a host.

    • @gohugo472
      @gohugo472 ปีที่แล้ว

      do you have a video for inviting player to your library from steam ?

    • @hiii6377
      @hiii6377 หลายเดือนก่อน

      I think the relay connection with NGO part is outdated, as I am getting errors of some of these types not existing

  • @BigBadFlag
    @BigBadFlag ปีที่แล้ว +63

    Missing bits:
    LobbyUI Script:
    [SerializeField] private Button startGameButton;
    LobbyManager Script:
    public const string KEY_START_GAME = "Start";
    public event EventHandler OnGameStarted
    TestRelay Script:
    using System.Threading.Tasks;
    public static TestRelay Instance { get; private set; }

    private void Awake() {
    Instance = this;
    }

    • @aimojorma7674
      @aimojorma7674 ปีที่แล้ว +7

      Thank you! I was wondering why I got the "No instance" error whenever I tried to open my relay

  • @lazygoosegames702
    @lazygoosegames702 ปีที่แล้ว +32

    Just finished all 3 videos on this and just have to say thanks for the in depth guides. Got my basic multiplayer up and running!

  • @WattDesigns
    @WattDesigns ปีที่แล้ว +1

    Appreciate the video, great quality as always! I'm making my first venture into multiplayer and you've demystified quite a bit

  • @davidwestwood1459
    @davidwestwood1459 ปีที่แล้ว +7

    This is the video I was waiting for! I needed a vision for how these services fit together, and the end of this video did that for me. One huge thing for me that would have been helpful that I'm just now learning is when to implement these different packages in your game development cycle. The whole time I was starting to implement Netcode I was worried that I'd have to redo all of my work as soon as I wanted to add Relay and Lobby, since I didn't understand them. What I learned from these 3 tools was:
    1. Implement Netcode from the beginning, the longer you wait the bigger headache it is to implement.
    2. Lobby and Relay can be implemented relatively whenever, and implementing them later in the project doesn't have huge cons. (The only real con is if you already had a lobby screen and you needed to rewire it to use Lobby)

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  ปีที่แล้ว +3

      Yup that's definitely what I would do. If the game is intended to be primarily multiplayer then definitely get Netcode implemented as quickly as possible, the other tools can wait.
      I'm glad the video heped you, thanks!

  • @cormo9058
    @cormo9058 ปีที่แล้ว

    This video is a godsend! I've been racking my brain trying to figure out how to set up relay for months until I finally found this video and now it seems so easy! Thanks CM!

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  ปีที่แล้ว +2

      I'm glad the video helped you! Thanks!

  • @InterloopStudios
    @InterloopStudios ปีที่แล้ว +2

    I was just thinking about making a multiplayer game and I remembered that Unity just made multiplayer easier. This is perfect timing!

  • @alec_almartson
    @alec_almartson ปีที่แล้ว +2

    This Unity tool is amazing, I'm really happy it exists.🔥🎮✌🏻
    Thank you for the great Tutorial 👍🏻

  • @LucaDev
    @LucaDev ปีที่แล้ว +5

    Lessgoo! I’ve been waiting for this! Finally I can take my multiplayer game online! Thank you (also first)

  • @NedjmouBlaxword73
    @NedjmouBlaxword73 3 หลายเดือนก่อน +1

    Imagine that I'm watching your tutorials then directly testing and trying, and when I tried to make a starting game function I didn't find any way, and I lived a week of hard researching, until I thought "let's just go and see Code Monkey's next video, maybe it has something helpful", then when I heard in 0:57 "the host starts the game" my hopes and dreams started floating in my mind. Thank you!!!!

  • @MegaMiley
    @MegaMiley ปีที่แล้ว +38

    A good use-case fort starting a relay already whilst in the lobby is something like Among us where in the lobby you can already run around and see each other :)

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  ปีที่แล้ว +16

      Yup! Having a simple fun scene for the players to test out the controls is a great use case

  • @-Bill-Clinton-
    @-Bill-Clinton- ปีที่แล้ว

    Thank you so much for these awesome UGS tutorials!

  • @ChannelIsNotInUse
    @ChannelIsNotInUse หลายเดือนก่อน

    I cannot stress enough how helpful this would've been about half a year ago for me. I tried to make an online lobby system using only NGO, but had troubles with connecting and even had to turn off my Windows Defender for it. Seeing this tutorial makes me really happy, and I'll definitely be saving this one for the future.

  • @siavash4153
    @siavash4153 ปีที่แล้ว +1

    CodeMonkey!, first of all, I have to admit strongly that you are really really amazing. You have saved and helped me many times and this is the first time I comment on your videos. There's no downside to your videos. Your content is really nice, clean, short, useful, without any extra time-consuming words. and besides, you really code so professionally. and you cover all the details. your videos are really well-designed.
    This playlist is really unique and astonishing. God save the CodeMonkey!

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  ปีที่แล้ว +1

      Thanks for the kind words! I'm glad my videos have helped you! Thanks!

    • @siavash4153
      @siavash4153 ปีที่แล้ว

      ​@@CodeMonkeyUnity Just one topic I haven't got. you just used lobby and relay and netcode gameobject to develop a multiplayer online game.
      the question of mine is, then what are Game Server Hosting (Multiplay) & Matchmaker for??! when do we have to use them while everything is done through relay and netcode?

  • @mjkkaya6056
    @mjkkaya6056 ปีที่แล้ว

    This video is really so helpful!
    Thanks a lot!

  • @matanyamin1
    @matanyamin1 ปีที่แล้ว +1

    Thank you! Very useful!

  • @durvesh007
    @durvesh007 ปีที่แล้ว +39

    Let's go back to back multiplayer tutorials

    • @TheJangoo
      @TheJangoo 5 หลายเดือนก่อน +1

      from where to start this whole tutorial step by step

    • @durvesh007
      @durvesh007 5 หลายเดือนก่อน +2

      ​@@TheJangoo if i remember correctly there is a 1 hr video regarding netcode for game object on his channel. This video was after that.
      Also there is a 6 hrs tutorial on his channel as well.

    • @TheJangoo
      @TheJangoo 5 หลายเดือนก่อน

      @@durvesh007 got it thanks 👍

  • @Astoaria
    @Astoaria ปีที่แล้ว

    Thank you for the great content!

  • @lemetamax
    @lemetamax ปีที่แล้ว

    Sweet!!! You da best Code Monkey!

  • @zbeb118
    @zbeb118 ปีที่แล้ว +1

    Great video as usual, I am very interested to see how would a dialogue system work with the open ai gpt-3 system, will you ever have the chance to cover that as I see there isn't any much explanation on this subject as it is relatively new so it would be nice fo you to explain it and I am sure a lot of people would love it. As always great job and keep up the good work

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  ปีที่แล้ว +3

      A game mechanic where you would talk to an AI? That could be interesting

  • @RigidDecay
    @RigidDecay ปีที่แล้ว

    Wow this is phenomenal

  • @MrRevelance
    @MrRevelance ปีที่แล้ว

    thanks a lot for your great tutorials, i wish we have one for host migration

  • @JesseTheGameDev
    @JesseTheGameDev ปีที่แล้ว +1

    I would also really, really like a video on how to set up a fresh game with a dedicated server. I've been trying to set it up myself, but it seems like a lot of steps are missing, maybe. I went through the example Battle Royale game, but it didn't answer all of my questions. I can't even get the server to recognize my command line arguments in the launch parameters.
    Thanks for the tutorials as always.

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  ปีที่แล้ว +1

      Yup researching Multiplay/Game Server Hosting is something I'd like to do, I'm currently busy with other projects but hopefully next month

  • @netanelkomm5636
    @netanelkomm5636 10 หลายเดือนก่อน

    Just amazing! Awesome tutorial, I have learned a lot.
    I was wondering if could could make a video that explains how to utilize the private lobby functionality, because currently, setting the lobby to private, there's now way to join it haha.
    Also, an example of how to make a screen with a "quit" button upon pressing escape would be great (not talking about the UI, but rather what do we need to cleanup when a player exists/lobby is destroyed upon host exit)
    Another suggestion is a loading screen while the relay is loading or something. But I know that's already too much lol... these are just suggestions!

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  10 หลายเดือนก่อน +1

      If you set the Lobby as private you join it with the Lobby code
      You don't need to handle clean up manually, if all players leave the Lobby Unity will automatically destroy it

  • @ChigosInRugville
    @ChigosInRugville 3 หลายเดือนก่อน

    You got yourself a new subscriber.

  • @kushpacsmike
    @kushpacsmike ปีที่แล้ว

    Thank you!

  • @erosviola7086
    @erosviola7086 ปีที่แล้ว

    Hi CodeMonkey, incredible video as always. I was wondering if you are going to show how to use Vivox too.

  • @arctiformgames
    @arctiformgames ปีที่แล้ว

    THANK YOU!

  • @YugiMango
    @YugiMango 4 หลายเดือนก่อน

    this is awesome!

  • @michaelp8376
    @michaelp8376 ปีที่แล้ว

    Thank you! ⭐⭐⭐⭐⭐

  • @tadasegaming7360
    @tadasegaming7360 ปีที่แล้ว +1

    Really like you videos! keep it up. Did you provide the latest project on this video on your website?

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  ปีที่แล้ว +1

      The Lobby has downloadable project files unitycodemonkey.com/video.php?v=-KDlEBfCBiU
      I didn't make them for the Relay since the code is really simple, you can watch the code in the video and implement it
      If you want to see it as part of a complete game I also used Lobby and Relay in my Free Multiplayer Course unitycodemonkey.com/kitchenchaosmultiplayercourse.php

    • @tadasegaming7360
      @tadasegaming7360 ปีที่แล้ว +1

      @@CodeMonkeyUnity Thanks man. Really appreciate it!

  • @rucesocial
    @rucesocial ปีที่แล้ว

    Super!

  • @s2nx7
    @s2nx7 11 หลายเดือนก่อน

    thanks so much

  • @wogergames6803
    @wogergames6803 4 หลายเดือนก่อน

    Thank You
    Awesome

  • @smyeshko
    @smyeshko ปีที่แล้ว

    Code Monkey is my hero!

  • @CamrunThomas
    @CamrunThomas 5 หลายเดือนก่อน

    very great video

  • @krujero
    @krujero ปีที่แล้ว

    Thank you so much for the tutorial! I don't have an account to check your project, I don't know if it's free. Do you also poll for updates in the host lobby (UI)? Because the host, also needs to wait for joining players right?

  • @bluzenkk
    @bluzenkk ปีที่แล้ว

    Love this high quality tutoiral with relay!

  • @JoaoGoncalves-np6su
    @JoaoGoncalves-np6su 10 หลายเดือนก่อน

    Thanks a lot for these amazing tutorials on multiplayer handling, Code Monkey!
    Cheers from one Portuguese to another (margem sul here, I'm guessing we're kind of neighbors)

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  10 หลายเดือนก่อน +1

      I'm glad the videos have helped you! Obrigado!

  • @WacMilk
    @WacMilk ปีที่แล้ว +1

    The IsLobbyHost & IsPlayerInLobby & GetJoinedLobby functions are in another video,
    at timestamp 47min 30sec th-cam.com/video/-KDlEBfCBiU/w-d-xo.html

  • @FuturPlanet
    @FuturPlanet 6 หลายเดือนก่อน +2

    You said in the video there would be timestamps, but I see none :(

  • @TruckerJoeOfficial
    @TruckerJoeOfficial ปีที่แล้ว

    Really create tutorial!! This helps me a lot.
    Can you tell me how I can read the steam name, if I use the unity lobby?
    That would be relly great!

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  ปีที่แล้ว +1

      You would use the Steamworks API, really nothing to do with Lobby, it's completely separate

    • @TruckerJoeOfficial
      @TruckerJoeOfficial ปีที่แล้ว

      @@CodeMonkeyUnity thank you.
      My problem is, that every code snippet I find in the internet, gets the SteamId over the steamlobby. Example:
      CSteamID steamId = SteamMatchmaking.GetLobbyMemberByIndex( new CSteamID(callback.m_ulSteamIDLobby), numPlayers - 1 // this is the lobby ID of your friend, it syncs up with Mirror's lobby member ID );
      So I don't know how I can access to the steamId from Unity Lobby.
      The SteamAPI I have included.....

  • @TheDrsalvation
    @TheDrsalvation ปีที่แล้ว +2

    Could you also explain what imports you need to use for your code for your next video? It's a bit tedious having to pause the video at the right moment just to see what library I need to import in your IDE's auto-complete box.

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  ปีที่แล้ว +1

      Not sure what you mean by that, the only thing you need is the Relay package which I covered in the video. Are you talking about the "usings"? I paused for a while every time the IDE was automatically adding a new one

    • @TheDrsalvation
      @TheDrsalvation ปีที่แล้ว

      @@CodeMonkeyUnity yeah, the usings, like that moment in 12:11, the unity transport comes from another using that your IDE automatically set up. Your videos are great, it's just that I came from other "tutorials" (which are really just hand-holding not explaining anything) that tell you to use something that hasn't been implemented yet, and later in the video, they implement it, and it took me a while to realize it was just a 'using' and not something you were going to implement later lol.
      And yeah, this is more of my fault I missed it, so you don't really need to listen to me lol.

    • @allankirui554
      @allankirui554 ปีที่แล้ว +1

      @@Quantiflyer life saver. thanks

  • @GH-pp7ho
    @GH-pp7ho ปีที่แล้ว

    one more amazing tutorial! I'm still not 100% clear about these but I will be clear in time. I have a question that could be a silly one. for a one-to-one player matching, should we also use Lobby or just Relay enough for this? and can we pass some parameters like CreateLobbyOptions for creating a relay and join that relay by using the same parameters?

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  ปีที่แล้ว +1

      If you only want players to join each other directly (meaning no searching) then sure you can just use Relay. Just make your players share the Relay code to connect each other.
      But if you'd like your players to be able to find each other, like allowing randoms to play together and not just friends, then Lobby is useful
      You can pass whatever data you want on the Lobby options, it's generic data so it can be the Relay code or anything you want.

    • @KontOrloc
      @KontOrloc ปีที่แล้ว

      @@CodeMonkeyUnity many thanks for your answer. would you consider to create a tutorial (or course) that has Multiplayer, Lobby, Relay and Matchmaker?

  • @MTGameMaker
    @MTGameMaker ปีที่แล้ว

    can you make a course on this for multiplayer only

  • @arjanb7158
    @arjanb7158 ปีที่แล้ว +1

    When joining a relay allocation that already has the maximum members connected, JoinAllocationAsync does not throw an exception. Is there some other way to check whether joining the relay is possible?

  • @lcd11001
    @lcd11001 ปีที่แล้ว

    Thank you for your tutorial.
    One more question! If we have one scene for lobby & one scene for game. How do we start game by opening another scene? Could you please give me some hints? Thank you

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  ปีที่แล้ว +2

      You can enable Scene Management on the NetworkManager, then if you change scenes on the Server it will automatically change them on the Clients
      I've got a video covering that topic coming out next week, doing a deep dive on Galactic Kittens, and I'm currently working on my upcoming free multiplayer course where I will also cover that.

  • @DallaswithaD
    @DallaswithaD ปีที่แล้ว

    Thanks for this. I did notice that Netcode for Game Objects is seemingly incompatible with WebGL (got a warning in my editor), but was wondering if Relay or Lobby can be used on top of Netcode to work with WebGL?

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  ปีที่แล้ว +1

      The limitation is on the Unity Transport layer, so if you swap that out for something that supports WebGL then yes all the other systems should work well on top of it.
      I believe they are currently working on Transport 2.0 which should support WebGL but not sure what is the current status on that.

  • @joshuamiller7299
    @joshuamiller7299 7 หลายเดือนก่อน

    Thanks for the great tutorials, I've done the Netcode for GO, Lobby and now this video several times. Still trying to work out the Lobby + Relay quirks I am experiencing but I never thought I would be able to get me and my buddy connected together across the net on my game demo test using a relay and join code!! Amazing! One question, if anyone can point me in the right direction. How would I get lets say, the 2 or 3,4 lobby players to spawn in certain places, instead of the default Netcode "Player Prefab" object location. Thanks!

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  7 หลายเดือนก่อน +1

      You can check the OwnerClientId on the player and use that to position them in different places. Although the clientId can sometimes jump indexes, so best option is for the host to keep track of a list of connected players and use that, kind of like I did in my Kitchen Chaos game unitycodemonkey.com/kitchenchaosmultiplayercourse.php

  • @yakwii800
    @yakwii800 ปีที่แล้ว +1

    How do you handle disconnecting from the sever as from the client side? like what if the host decides to quit out?
    I'm having troubles

  • @pitonto
    @pitonto ปีที่แล้ว

    Hey, I must say that this tutorial is fantastic. My problem is that im doing a vr game and when I click host the vr player works perfectly but when a player joins the game session all the controllers just stop working and any player can move around or move the camera. I have the same set up as the tutorial. Thx for the help

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  ปีที่แล้ว

      Doesn't sound like it's related to Relay, sounds like it's related to however you are synchronizing data with Netcode for Game Objects

  • @MatthiasMeppelink
    @MatthiasMeppelink ปีที่แล้ว

    Thanks for the great video! Super helpful!

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  ปีที่แล้ว +1

      I'm not sure you can change that in runtime however during testing I have found out you don't need to set it as Relay Unity Transport, you can leave it on just Unity Transport and it will work both with and without the relay, that's what I ended up doing on my Multiplayer course which has a mode with relay and a offline mode and both works th-cam.com/video/7glCsF9fv3s/w-d-xo.html

    • @MatthiasMeppelink
      @MatthiasMeppelink ปีที่แล้ว

      ​​@@CodeMonkeyUnity ❤ Thanks for the quick answer, I'll try that out. Keep up the amazing work and great attitude!

  • @gohugo472
    @gohugo472 ปีที่แล้ว

    do you have a video for inviting player to your library from steam ?
    or recommendation ?

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  ปีที่แล้ว

      You need to look into the Steam API for how to do that

  • @Mineboy15
    @Mineboy15 ปีที่แล้ว

    How does this have under 1k likes you are amazing!

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  ปีที่แล้ว +1

      I'm glad you liked the video! Thanks!

    • @Mineboy15
      @Mineboy15 ปีที่แล้ว

      @@CodeMonkeyUnity And im glad your doing these vids! Finally managed to setup relay for my little game prototype all thanks to you :)

  • @RigidDecay
    @RigidDecay ปีที่แล้ว +1

    I have been able to make the game run but when I press the start game button, I get an error that refers to this line : "string relayCode = await RelayManager.Instance.CreateRelay();" And the error is a NullReferenceException which causes the game to not start. I believe I am missing something when it comes to the RelayManager script or in your case the TestRelay.

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  ปีที่แล้ว

      Simply sounds like you don't have any object with the RelayManager script, or you're not assigning the singleton Instance

  • @meaow7770
    @meaow7770 ปีที่แล้ว +1

    Please make a video with matchmaker

  • @RyanShappa
    @RyanShappa ปีที่แล้ว

    I have followed all three videos as I am trying to create a multiplayer game. All videos were great individually and together. However, I'm having a tough time connecting everything so the lobby UI --> Multiplayer Relay -->Joining the actual game with Netcode stuff.
    Is there somewhere you can include how to connect everything to have this sequence? I'd like to wrap all of this into the main menu for my game. Thanks so much for all the content and help! Looking forward to your next projects and guides!

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  ปีที่แล้ว +1

      The final demo in this video has everything connected, you can download the project files for the Lobby video and then follow the few changes I made for supporting relay at 18:40
      It's really just passing the relay code through the lobby data and using that to start the connection on all clients

    • @RyanShappa
      @RyanShappa ปีที่แล้ว

      @@CodeMonkeyUnity I believe I made all the connections I need but am still receiving this error:
      CS0117: 'object' does not contain a definition for 'JoinRelay' and no accessible extension method 'JoinRelay' accepting a first argument of type 'object' could be found.
      I have the same error for 'CreateRelay' as well.
      These are from 19:27 and 20:06

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  ปีที่แล้ว

      ​@@RyanShappa Looks like you're trying to call that function on an "object" which is the default C# object and nothing related to Relay
      That function is not a built-in function, it's what I wrote at 13:20

    • @RyanShappa
      @RyanShappa ปีที่แล้ว +1

      ​@@CodeMonkeyUnity how can I fix it?
      I noticed at 20:09 you had changed the function to 'public async Task CreateRelay' which returns the joinCode or null. And for the 20:05 'HandleLobbyPolling' function the joinRelay function from TestRelay is not being passed.

  • @deathdefiler4306
    @deathdefiler4306 ปีที่แล้ว

    Ok so, you would use this method for Steam or not for Steam? The last thing I need to do for my project is connect to Steam for multiplayer.

  • @YanVaf
    @YanVaf ปีที่แล้ว

    Will you make a video about the unity CCD with addressables?

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  ปีที่แล้ว

      I made a free video on Addressables unitycodemonkey.com/video.php?v=C6i_JiRoIfk
      Then in that course is another one on Addressables Remote and CCD

  • @susan6183
    @susan6183 5 หลายเดือนก่อน +1

    Could you make host migration with netcode for gameobject?(i don't know how to build at all)

  • @virtual8207
    @virtual8207 5 หลายเดือนก่อน +1

    Nn the unity transport there is field for Adress and Port. What am i supposed to put there. Does it even matter? currently i have on localhost ip but will that work if i send the build to a friend?

  • @SociopathDev
    @SociopathDev ปีที่แล้ว

    Great video as awlays, but there is something I don't understand, using a Relay Server is a host - client connection? So I understand you don't have control on the server? You can't do server - client games with this?

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  ปีที่แล้ว +1

      If you have a dedicated server you don't need Relay, you just connect the clients directly to the dedicated server.
      Relay is useful if you don't have a dedicated server and you need some way to connect 2 clients together that may be behind firewalls, the Relay helps establish a connection through that.

  • @BossAleks123
    @BossAleks123 ปีที่แล้ว +3

    08:03 Code Monkey ~ "it really is that simple". Haha, not for me xD. I finished the Tutorial and its just amazing. I didnt use the Add on for the Console (40$), but i just made a Function that gets called by a Input GUI call and it works fine, for writing in the code and for creating i just made the button, when pressed to call the function.

    • @VoiceOfTheFutureYU
      @VoiceOfTheFutureYU 3 หลายเดือนก่อน +1

      Can you tell me how you did that?

    • @BossAleks123
      @BossAleks123 3 หลายเดือนก่อน

      @@VoiceOfTheFutureYU Its hard to explain. But i will try. You have to say when the button is pressed you call the function, in this case "start the server". So you dont have to write commands, even tho you could do one console from scratch its not that hard. Learn how to use the GUI and you will see, its very easy.

  • @funkfollow9754
    @funkfollow9754 ปีที่แล้ว +3

    Hi, first wonderful video, but I've probably watched it over 10 times now and still have a list full with errors when I tried to bring lobby and relay together. Would it be possible for you, to publish the Unity Project or to copy the finished script (as it was at the end of the video) TestRelay and LobbyManager as an answer so that I can compare my script with those scripts?

    • @RyanShappa
      @RyanShappa ปีที่แล้ว

      I second this!

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  ปีที่แล้ว

      What errors? The Lobby video has the downloadable project files, I didn't include the ones for this video because the Relay is just a dozen lines of code which are visible in the video

    • @funkfollow9754
      @funkfollow9754 ปีที่แล้ว

      @@CodeMonkeyUnity Thanks for replying, I think I did everything like in the video but got a few errors. All errors are in the LobbyManager script:
      1. "TestRelay" does not contain a definition for instance
      2.again the same error message
      3. Argument "2": Unable to convert System.EventArgs to LobbyManager.LobbyEventArgs.
      4. No argument was specified that matches the formal parameter "value" of "Dictionary. Add(string, DataObject)".
      I am new to Unity so it would be great if you could help me.

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  ปีที่แล้ว

      ​@@funkfollow9754 It sounds like you really need to learn C# basics before you go any further unitycodemonkey.com/video.php?v=IFayQioG71A
      If you're a Unity beginner I would highly recommend you start with a simple singleplayer project. Making multiplayer games makes everything 10x more difficult

  • @jamesprise4252
    @jamesprise4252 11 หลายเดือนก่อน

    hey there!! would I be correct in assuming that as long as I have a relay running, one network manager, and a network object\transorm script on game objects, I have á multiplayer app?!? Thanks, Code Monkey!

  • @JosephChancey
    @JosephChancey ปีที่แล้ว

    @CodeMonkey Something I can't seem to find a lot of information about is saving data for a multiplayer game. In this example, how could I save player position data for all of the players that joined my lobby and played with me?

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  ปีที่แล้ว

      You would save it exactly the same way as saving in singleplayer. Cycle through all the players and save their data. The only thing extra you need is some sort of identifier so that when you load the game again you can apply the saved data to the correct players

  • @RigidDecay
    @RigidDecay ปีที่แล้ว

    How would I go about making the player update older builds as I release updates. Would the game break if players from different builds joined the same server?

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  ปีที่แล้ว +2

      You could include the version in the public Lobby data and only let players join if they have the same version

  • @alecmckay9986
    @alecmckay9986 ปีที่แล้ว +1

    For anyone having trouble finding it UnityTransport is in the following namespace: Unity.Netcode.Transports.UTP

  • @d2b906
    @d2b906 ปีที่แล้ว

    At 17:55 you said that you set the name to get a new player ID. I might have missed something but is it possible to have different authentication IDs on the same computer? This would help a lot for testing. Thanks

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  ปีที่แล้ว

      Yes, you call SetProfile when initializing the services and when using different profiles you get different auth id allowing you to have multiple builds running

  • @dunc5623
    @dunc5623 5 หลายเดือนก่อน

    Tried the built in relay sample after having issues switching over to it on something else, and it gave the same error when trying to join from a second client "Join code not found". Then tested the second example, it states allows testing from multiple clients, which occasionally gives the same error but for the most part works. Had to watch you give a paid for tutorial to see it is because a connection must be established within an arbitrary time frame. Still cant get it to run properly in my initial project, yet other network transports work without any issues.

  • @alanaraujo766
    @alanaraujo766 ปีที่แล้ว

    Amazing video, thanks!! There's no download link to these codes? FeelsBadMan

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  ปีที่แล้ว

      The relay code is very tiny and all shown in the video so I didn't feel it was necessary to add it for this one, you can download the project files for the Lobby and then manually add the relay code

  • @Alex-bx5ne
    @Alex-bx5ne ปีที่แล้ว

    First of all - thanks for such detailed video) Secondly, is there any source code, so I could work through it without making a project from scratch?

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  ปีที่แล้ว

      The Relay is just a few lines so I didn't make a project for this one, but you can download the project files for the Lobby unitycodemonkey.com/video.php?v=-KDlEBfCBiU

  • @ANlevant
    @ANlevant 7 หลายเดือนก่อน

    Ahh, I got what I was looking for

  • @mitherzundhandwerk
    @mitherzundhandwerk ปีที่แล้ว

    Thanks for the good tutorial. I got two questions:
    1. Will the relay server stay online if no players are connected?
    2. Is it possible to "reconnect" via the join code or is there another way?
    Thanks a lot!

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  ปีที่แล้ว +1

      If there are no connections after 10s the relay connection is closed. If that happens and you want to "reconnect" you would just request another allocation and join.

    • @mitherzundhandwerk
      @mitherzundhandwerk ปีที่แล้ว

      @@CodeMonkeyUnity Thank you! I sent you a mail, if you'd like to help me out. Best, Tony

  • @apinoita
    @apinoita ปีที่แล้ว

    I have an idea for you also would need a tutorial for this.
    The idea is: global highscore board/list with unity gaming services.
    Unity gaming services because it would be useful to have everything in one service.

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  ปีที่แล้ว

      Sadly UGS does not have any tool for persistent global storage, to build a shared leaderboard you need something like Azure, I covered that exact scenario here unitycodemonkey.com/video.php?v=bVqSLLvao78

    • @apinoita
      @apinoita ปีที่แล้ว

      @@CodeMonkeyUnity thanks is that the best option tho i`ve seen some people use loot locker or playfab.

    • @apinoita
      @apinoita 11 หลายเดือนก่อน

      @@CodeMonkeyUnityCould you make it now that unity leaderboards has released. I tried reading the documetation but didnt quite understand it.

  • @ggbothwell
    @ggbothwell ปีที่แล้ว +3

    Hey @CodeMonkey!
    Thanks so much for this tutorial, it's super clearly explained, just like the rest of your tutorials!
    I watched the NGO one, as well as the Lobby one and was waiting for this one too! So happy to see it :)
    Any chance you could also share the unitypackage in the description as you did in the other videos? Thanks!!!

    • @shazampowers9909
      @shazampowers9909 ปีที่แล้ว +1

      I second this! He changed some more things to make it work with his lobby from the previous video that he doesn't cover.

    • @Diskokeisari
      @Diskokeisari ปีที่แล้ว

      @@shazampowers9909 agree

  • @ChiakaChima3D
    @ChiakaChima3D 6 หลายเดือนก่อน

    Hi Codemonkey . I have been following your Multiplayer series and they are great. But please I need your help/Suggestions. How can I implement multiplayer code for a Board game like Ludo game . Do I have spawn the dice and coins for each player or just assign 2,3 player to the existing section ( Yellow, Green and Blue ) of the board the player is always assigned to the red section the board. I planning to use Netcode for gameobject and Unity's Relay /Lobby. Thanks for reply in advance. Thanks

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  6 หลายเดือนก่อน

      I'm not familiar with what is a Ludo game but it appears to be a board game where each player controls a pawn? If so then each Pawn would probably be the player object, you could make just one set of dice owned by the server, and players would throw the dice by doing a ServerRPC, or alternatively you could also make dice for each player.

  • @giacomociaramella6908
    @giacomociaramella6908 11 หลายเดือนก่อน

    Hey CodeMonkey, in the last minutes of the video i dont understand quite well the pricing for CCU, if there a 3 lobbies (wich means 3 relays) with 50 player in each of them will i pay extras or it will remain free?

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  11 หลายเดือนก่อน

      What counts is the total, what you are describing are 150 CCUs so yes that is past the free tier, that would cost you $16

    • @giacomociaramella6908
      @giacomociaramella6908 11 หลายเดือนก่อน

      @@CodeMonkeyUnity ok perfect thanks you!

  • @lorenzogasparini6601
    @lorenzogasparini6601 ปีที่แล้ว

    Hi sir, very useful video. I thought it was possible to use Relay service only with their servers. But from what I understand in this video I can also host it on my server right? Sorry again for the ignorance, but by using a Relay server we are creating a p2p system?

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  ปีที่แล้ว +1

      The Relay is a Unity server. If you want P2P you need to not use Relay and just connect the host directly to the clients, but that involves handling port forwarding

    • @pepocg
      @pepocg ปีที่แล้ว

      @@CodeMonkeyUnity Hi! Do you know where I can find a tutorial for this? I want to make a P2P multiplayer game for Unity but without using Unity Gaming Services.

  • @kombosabinho
    @kombosabinho ปีที่แล้ว

    Please help me understand a doubt that I have. If the players use Relay by hosting the game on their own computer (similar to Risk of Rain 2) where one of the players is the host and the remaining 3 are joining, would that be included in the "pricing" system, or would the players be able to connect for free?

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  ปีที่แล้ว

      If you're connecting directly then you're not using the Relay at all, but in order to connect directly the host needs to enable port forwarding or some kind of NAT punchtrhough method.

  • @RigidDecay
    @RigidDecay ปีที่แล้ว

    Is there a way you could show more of the code towards the end of the video? I’m trying to to make relay work with netcode and lobbies but I believe I’m missing some of the pieces because I am getting an error that says "Argument 2: cannot convert from 'System.EventArgs' to 'LobbyManager.LobbyEventArgs'" I believe I declared OnGameStarted because I didnt see how you declared it so I just guessed.

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  ปีที่แล้ว

      Sounds like you defined your event as using a different type than EventArgs, I just made a regular EventHandler event unitycodemonkey.com/video.php?v=OuZrhykVytg
      That event isn't doing anything special, it just hides the Lobby UI, nothing else
      The connection is created on the JoinRelay(); function

    • @RigidDecay
      @RigidDecay ปีที่แล้ว +1

      @@CodeMonkeyUnity you won’t see this probably but thanks so much for responding to your comments, it’s amazing.

  • @Channel-gx2ct
    @Channel-gx2ct ปีที่แล้ว

    I am trying to create a relay, by using input field to join the game but it's not working can u explain how to join the game by using input field in relay services

  • @LeeSungHunHero
    @LeeSungHunHero ปีที่แล้ว

    Thanks for good video. I have Some questions.
    1. If host Client has disconnected, relay room is destroyed?
    2. If a new one doesn't have a joincode, how can find a relay room?
    3. When someone is disconnected in a relay room, how can I check?
    4. or When someone is connected in a relay room, how can I check?

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  ปีที่แล้ว +1

      Yes if the Host disconnects the connection to Relay (and NGO) is lost
      You cannot join a Relay without a JoinCode
      Seems you are confusing Relay and Lobby, Relay doesn't have "rooms", it just has peers being connected together.

  • @bluzenkk
    @bluzenkk ปีที่แล้ว

    can you make a tutorial on Async tutorials like the good old days?

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  ปีที่แล้ว +1

      That would be a great idea! I still find them a bit confusing so doing a quick tutorial would also help me understand them better

  • @itayp2405
    @itayp2405 ปีที่แล้ว +1

    Hey!
    i finished the lobby tut, its awesome!
    but i have 1 issue with the relay package (i tried to import it to my project several times, and do it on a new project, and several versions of it)
    i keep getting this error: Burst internal compiler error: System.Exception: Error while generating hash for method references.
    what should i do?

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  ปีที่แล้ว +1

      That's odd, what exactly is throwing that error? It happens when you import the Relay package onto your project?
      Maybe try uninstalling and reinstalling the Burst package

    • @itayp2405
      @itayp2405 ปีที่แล้ว +1

      @@CodeMonkeyUnity Thank you for the fast respond!
      I really appreciate it!
      I don't know what happened but it seems to work now, I just opened the project after a day, and again tried to reinstall, and this time I got no error

  • @nicouthe609
    @nicouthe609 ปีที่แล้ว +1

    Does Relay require a Internet Connection or would it also work offline with a LAN only scenario?

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  ปีที่แล้ว

      The Relay is a Unity server on the Internet so yes it requires a connection, for LAN you would connect directly rather than use Relay

  • @anujsaini0271
    @anujsaini0271 11 หลายเดือนก่อน

    How can we create room for players but lobby to show who are available in the games?

  • @pingu2538
    @pingu2538 ปีที่แล้ว

    Hello, i am having trouble in spawning different player for the player hosting and client hosting. Can u suggest anything to clear that up? Thank you so much

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  ปีที่แล้ว +1

      Instead of using the default player prefab you would connect to the server then use a ServerRPC to tell the server what prefab to spawn for that client. And after spawning it make sure you change the ownership so it belongs to that client and not the server.

  • @reetuverma5501
    @reetuverma5501 11 หลายเดือนก่อน +1

    How to make it automatically start with any random lobby

  • @yours_indie_game_dev
    @yours_indie_game_dev ปีที่แล้ว

    if get the time would you do like a networkdiscovery tutorial, where client discovers client but in
    offline mode

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  ปีที่แล้ว

      I'm not entirely sure what you mean by that but it sounds similar to the Async Multiplayer that I covered here unitycodemonkey.com/video.php?v=EEQfSmK1nXA

    • @yours_indie_game_dev
      @yours_indie_game_dev ปีที่แล้ว

      @@CodeMonkeyUnity not exactly, i meant where no one needs to be online and then when someone hosts before starting client one can press a button to discover host in the same lan, but ive been told that feature doesnt currently exist in netcode. although thanks for that video you sent its information is also useful

  • @diegofonsecameire
    @diegofonsecameire ปีที่แล้ว +2

    I have Netcode 1.2.0 and Transport 1.3.0 but the RelayServerData constructor as you show in the tutorial doesn't exist here. I'm using the DLTS endpoint approach *var dtlsEndpoint = a.ServerEndpoints.Find(e => e.ConnectionType == "dtls"); * It works ok but it doesn't work around my firewall issues :(

    • @MohamadsGarage
      @MohamadsGarage ปีที่แล้ว

      same here, did you solve it?
      also these docs unity provide won't help at all

    • @yours_indie_game_dev
      @yours_indie_game_dev ปีที่แล้ว

      so its not just me, how did you handle it

    • @ebrahimhsh
      @ebrahimhsh ปีที่แล้ว

      add using Unity.Netcode.Transports.UTP;

    • @miro7266
      @miro7266 9 หลายเดือนก่อน

      This worked for me:
      using Unity.Netcode;
      using Unity.Netcode.Transports.UTP;
      using Unity.Networking.Transport.Relay;

  • @jatyman3017
    @jatyman3017 5 หลายเดือนก่อน

    I am watching this a while after it came out. Good tutorial but I have a question, can players connect if they are connected to the same internet? I was able to run multiple builds on my PC and everything ran perfectly, however when I try to use my laptop to connect which uses the same internet, they couldn't connect. I haven't tried connecting to a remote build yet but I am wondering how I could connect on the same internet.

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  5 หลายเดือนก่อน

      Hmm I haven't tested that out specifically but it should work. Although usually if you're doing local multiplayer you don't need relay at all since locally there are no issues with NAT/Firewall
      What is the exact error? Maybe it doesn't work because 2 clients are trying to listen on the same port, if that's the case maybe try using different ports.

    • @jatyman3017
      @jatyman3017 5 หลายเดือนก่อน

      I downloaded a VPN for my laptop and everything seemed to run perfectly, I guess i'll need an option to connect by LAN aswell.@@CodeMonkeyUnity

  • @netanelkomm5636
    @netanelkomm5636 10 หลายเดือนก่อน

    Hey, I've ran into a problem (probably a trivial one but im a begginer).
    When loading a new scene, the stuff from the new scene won't be present on the new one. Right?
    So this means that the connections and everything won't stay in the new scene.
    Is there a way around this?

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  10 หลายเดือนก่อน

      The connections will persist, you don't get a disconnect just because you loaded a different scene. Just make sure you're loading scenes through the NetworkManager and not the standard SceneManagement. unitycodemonkey.com/kitchenchaosmultiplayercourse.php#connectionsceneflow

  • @Rush3fan1
    @Rush3fan1 ปีที่แล้ว

    @ CodeMonkey I got it working but wondering why I have to enclose the KEY_START_GAME in quotation marks while you're going without?

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  ปีที่แล้ว

      Sounds like you didn't define that symbol as a string constant, I used the same pattern I used in the Lobby video of using constants for the keys

    • @Rush3fan1
      @Rush3fan1 ปีที่แล้ว

      @@CodeMonkeyUnity Oh lol I've never used const, but I now see why it's being used here after looking it up. Thanks!

  • @gianttwinkie
    @gianttwinkie 9 หลายเดือนก่อน

    Is a CCU while they are signing in or the entire time they are playing the game?

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  9 หลายเดือนก่อน +1

      It's concurrent, so while they are connected to the Relay

  • @moranyt8299
    @moranyt8299 ปีที่แล้ว

    Hello! I am learning to write server side code using c# sockets (TcpListener UdpClient etc). My problem is that I only know so far that the server should start working on the given ip and port. I don't want to use ready-made solutions (Mirror Photon etc) because I want to learn how to write code from scratch myself.
    I want to create a p2p logic game and I noticed at 12:42 that Relay returns ip and port. Question: Can I use these ip and port to start listening based on them and only then, when other players connect via Relay, will they connect to this ip and port? Thanks in advance for your reply
    Привет! Я учусь писать серверный код используя c# sockets (TcpListener UdpClient etc). Моя проблема в том, что я пока только знаю что сервер должен начинать работу на заданном ip и port. Я не хочу использовать готовые решения (Mirror Photon etc), потому что хочу научиться писать код с нуля сам. Я хочу создать игру по логике p2p и я заметил на 12:42 что Relay возвращает ip и port. Вопрос: Могу ли я использовать эти ip и port, чтобы на их основе запускать прослушивание и уже потом, когда другие игроки подключатся через Relay они будут подключаться к этому ip и port? Заранее спасибо за ответ

  • @brayansantiagobetancourt7151
    @brayansantiagobetancourt7151 ปีที่แล้ว

    Hello I have a doubt, is it possible to make a game for WebGl using the multiplayer tools of Unity, because I see that 2 - 3 have only plans for WebGl in the future.

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  ปีที่แล้ว +1

      I believe they are working on an update to Unity Transport which is intended to support WebGL but as of right now not yet.
      That's only for Netcode for Game Objects and Relay, you can use Lobby in WebGL

  • @souravde2029
    @souravde2029 ปีที่แล้ว

    I'm really desperate for multiplayer matchmaker.
    Please can you make a video on that.

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  ปีที่แล้ว

      Yup, it's on my list to cover, hopefully next month

  • @lowkeydelacruz-eg1pg
    @lowkeydelacruz-eg1pg ปีที่แล้ว

    Hello code monkey great tutorial it's a big help but i had a weird problem All is working At first but after reopening the project and testing it suddenly the player client don't spawn in the game.
    There is no error showing in the console neither in the script
    What shoul i do?

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  ปีที่แล้ว

      Look at the NetworkManager, is it started?
      Did you enable the feature to Accept connections? If so you need to accept and set the bool to spawn the player to true, it will be false by default.

  • @RigidDecay
    @RigidDecay ปีที่แล้ว

    Is there a way I could take a look at the demo project files shown in the video?

    • @CodeMonkeyUnity
      @CodeMonkeyUnity  ปีที่แล้ว

      The only "complex" part is the lobby which you can download the project files from the lobby video

    • @RigidDecay
      @RigidDecay ปีที่แล้ว

      Alright thanks, I realize how simple it is to integrate relay now.