Love how the essentials are just, explained. Like why is every tutorial so spaced out and under-explained ? "just type this and this very specific function will work" this is a gem!!
3 days trying to figure out how to send Commands without authority... wish I'd of gone through this series a bit earlier. Great tutorials a lot of information and looking forward to more. The information here is the most relevant I've seen on the subject and very informative
These are the best multiplayer tutorials, period. Thank you again. Just a little clarification on the [SyncVar] example, in case someone was confused like me. As the holaCount property is initialized in the player instances, there will be one holaCount property for each client, althought they have the same variable name. So if client 1, sends 10 holas, its holaCount will update and be sent to client 2, but client 2 will still have 0 holas. If you add this to the OnHolaCountChanged() you will know of which client is the shown holaCount: Debug.Log($"Player with NetID {netId} had sent {oldCount} holas, but now he has sent {newCount} holas.");
Thanks so much, i was so lost in the mirror implementation, im a huge fan of your content, if i wasnt broke as and with a child i woul pay you for this. im sick of good tutorials giving limited information and asking for payment, im looking foward to make some money with my game, and i promise you will be in the credits for that :D
every other tutorial ive seen up till now has been just showing me what to do, but i dont care about all that, i wanna understand how everything works, how to use mirror on my own, this and the last are the first acctually useful tutorials, thank you, you helped me sooo much dude u have no idea
I don't write comments often but this one deserved it. Easily the most useful tutorial I've seen on Mirror, even compared to their own documentation! Quickly, cleanly and without confusion you explained all the things I needed to feel confident about what I'm working with. Earned a sub! :)
Real in-depth guide on Mirror. I was thinking about adding network support to one of my games but couldn't get to grips with it. After watching this video Im gonna give it another go and if it works I might even add network support to my current Game project. Thanks. 👍 Subbed
Amazing! Best networking course! I have started writing unity for a month, and 2weeks with mirror. I have almost finished the single mode UI, but when I imported mirror, I MESSED UP so hard.... After watching this video, I start understanding the data Synchronization logic, THANKS!
Man you are awesome! I am creating a multiplayer game and was just doing stuff without knowing how exactly it works. But now I am working like a boss 😂. I have subscribed + turned on bell notification for not missing any video you upload. Hopefully I can complete what I have started 😀
Thank you so much! as a web developer i was searching for something like this for a while... i have to say: this is the best unity multiplayer tutorial that i ever seen. Subscribed!
this is the best of all the tutorials on mirror i could find! by far. i think i can do with what you taught us, but i would be watching and linking additional entries to the series :) for example, id like some common mechanics implemented, like players shooting at npcs and each other. basicly principles on where and how to use commands and rpc!
I wish I could like this more than once! All of these tutorials are top notch! I'm now subscribed for anything you feel up to releasing in the future. Thank you for putting the time in on this!
That's hands down the best Unity Mirror tutorial series out there. Hope you'll get more attention in the future so that you stay motivated to provide more of these brilliant videos for us.
The tutorials that you make are the only tutorials on youtube that teach just the basics of Mirror in a really simple and understandable way Great Job If possible could you make a tutorial on making rooms and matchmaking?
Love the tutorials! Super helpful and educational. I am trying to build my first multiplayer game and these videos are a lifesaver. Cant wait for the next one! :)
One of the best, simplest, and easiest to understand Mirror networking tutorial out there. Having said that, I am having difficulty with Instantiation. Could you do a video on instantiating object and they’re specific Authority / updating all clients?
Learning a lot about Mirror from these. My only wish is that the example you give for the various tagged methods, they happen across multiple clients and not just one client and server. For example, regarding the TargetRPC tag, I want to see the behaviour of a different client when pressing the X key.
A tutorial I can actually understand. I only see one more video, I really hope you didn't stop this prematurely cause it's much easier to follow than Tom Weiland's one and goes further than Dapper Dino's one.
This video is very informative and well- explained, very helpful! Will you be making more tutorials on Mirror in the future still? I noticed it has been a while since you posted any.
Having trouble as the docs don't seem to specify the answer to this. The tutorial looks a tad out of date. This callback no longer seems to exist public override void OnClientConnect(NetworkConnection conn) it looks like it throws an error for not existing. I looked at the docs and there looks like a virtual method, but it doesn't seem to behave the same way. Any ideas how to move forward?
That wont work because its NetworkClient.connection is a static class. OnClientConnect doesnt take any parameters. I was able to get this to work by doing the following. public override void OnClientConnect() { base.OnClientConnect(); Debug.Log("Connected to Server!"); } public override void OnClientDisconnect() { base.OnClientDisconnect(); Debug.Log("Disconnected from Server!"); }
29:31 The holaCount value doesn't stack together in the server when you press X on different clients. When I press X in 1st client, it starts adding 1 until I reach 10 for example, but when I press X in 2nd client then holaCount value starts from 1 or goes back to 1, the holaCount should be 11 to all clients by that time. Isn't SyncVar supposed to update the variable's value to all clients and the clients can add by 1 each time they press X and continue to keep stacking in the server? Idk why this happens and it's not making any sense
having the same issue here, did you find the explanation? EDIT: I get it now, the sync var is shared and sync'ed among the instances of the same object across server and clients, but two objects, like the two players, will each have its own, it's not like a static class variable. So what we see is holaCount for player 1 and holaCount for player 2.
@@danielemessina1979 I forgot to edit this comment, I moved to MLAPI networking. And before that, I just thought it had the same system as Roblox Networking where u sync 1 variable and it would automatically sync to all. In MLAPI, I solved this by doing an "if this is server then variable is incremented" condition after you send the signal from client to server. MLAPI is not much different from Mirror so give it a try.
Custom HUD/UI - yes. NetworkRoomManager - might explain it, prob won’t use it as I’ll reimplement a better version as we continue to build a fall guys style game
Best tutorial on Mirror+Unity, great job! One generalized question: how would you tackle writing both a single-player AND multi-player game. E.g. some RPG like game with co-op element. Would one write EACH script again for single-player mode, or would one "fake" a single-player experience, by just silently setting up a (localhost) client-server / host connection when the player starts a single-player game?
Love your videos and how you explain the details and the implementation of the code. When you get a chance could you make a short video on how to create a custom GUI for the multiplayer. That would give me, and maybe others, the next step in completing a game. Thanks for your time and expert advise on getting things up and running.
not sure if you are the adress for my question but i wonder how can i call simple events from one sciprt to another - if i want ti add listeners and invoke a message i discover the listenr is not getting the event. i usepublic static class EventsManagerand i put there all the relveant actions and it worked - untill netocde...
Great tutorial ! How are the arguments filled for the OnHolaCountChange function filled? Where are old count and new count variables passed into the function ?
Can I sync "Collision2D x" using a command and then a SynVar with a Hook and then a ClientOnly Method? I get an error. I don't think I can pass in the new Collision2D value in the the client method. How can I do this?
I have a problem with synchronizing the player itself. I am using the karlson movement script (rigidbody) and every time a client joins a Host (Client + Server) It blacks out the clients view and causes the Host To be in control of the other rigidbody character. This is weird, I also have Network Rigidbody and Network Transform
You basically started the best networking course for unity
keep it up
i couldnt agree more
Love how the essentials are just, explained. Like why is every tutorial so spaced out and under-explained ? "just type this and this very specific function will work" this is a gem!!
I've been trying to wrap my head around this stuff for weeks and it turns out all I needed was this one 30 minute video. Thank you.
3 days trying to figure out how to send Commands without authority... wish I'd of gone through this series a bit earlier. Great tutorials a lot of information and looking forward to more. The information here is the most relevant I've seen on the subject and very informative
These are the best multiplayer tutorials, period. Thank you again.
Just a little clarification on the [SyncVar] example, in case someone was confused like me. As the holaCount property is initialized in the player instances, there will be one holaCount property for each client, althought they have the same variable name. So if client 1, sends 10 holas, its holaCount will update and be sent to client 2, but client 2 will still have 0 holas.
If you add this to the OnHolaCountChanged() you will know of which client is the shown holaCount:
Debug.Log($"Player with NetID {netId} had sent {oldCount} holas, but now he has sent {newCount} holas.");
Thank you ! I was wondering why I wasn't getting the same amount on each...
These Tutorials are incredible. I love how well structured and organized they are with the labeled sections. Keep it up!
Thanks so much, i was so lost in the mirror implementation, im a huge fan of your content, if i wasnt broke as and with a child i woul pay you for this. im sick of good tutorials giving limited information and asking for payment, im looking foward to make some money with my game, and i promise you will be in the credits for that :D
no worries man I hope you build something great!
Liked, Subbed, Belled all the hola's. You got a great talent for explaining things. Please continue making great content like this!
every other tutorial ive seen up till now has been just showing me what to do, but i dont care about all that, i wanna understand how everything works, how to use mirror on my own, this and the last are the first acctually useful tutorials, thank you, you helped me sooo much dude u have no idea
I don't write comments often but this one deserved it.
Easily the most useful tutorial I've seen on Mirror, even compared to their own documentation! Quickly, cleanly and without confusion you explained all the things I needed to feel confident about what I'm working with. Earned a sub! :)
These tutorials are the best multiplayer not only tutorials but even just explanations I've EVER SEEN. You're amazing.
Simple Incredible and definitely way to underrated! I've subbed from the bottom of my heart. You have made my day!
Who the hell are those disliking these videos? Something is surely wrong with them.
These videos are so well made and concise.
Real in-depth guide on Mirror. I was thinking about adding network support to one of my games but couldn't get to grips with it. After watching this video Im gonna give it another go and if it works I might even add network support to my current Game project. Thanks. 👍 Subbed
Learned so much from your tutorial as someone who has zero knowledge on how multiplayer works! Thank you ! Very clear content
i spend the whole weekend trying to make commands work. Now it works.
Amazing! Best networking course!
I have started writing unity for a month, and 2weeks with mirror.
I have almost finished the single mode UI, but when I imported mirror,
I MESSED UP so hard....
After watching this video, I start understanding the data Synchronization logic,
THANKS!
Man you are awesome! I am creating a multiplayer game and was just doing stuff without knowing how exactly it works. But now I am working like a boss 😂.
I have subscribed + turned on bell notification for not missing any video you upload. Hopefully I can complete what I have started 😀
Thank you so much! as a web developer i was searching for something like this for a while... i have to say: this is the best unity multiplayer tutorial that i ever seen. Subscribed!
WHO WOULD DISLIKE THIS SERIES IS GOING TO BE AWESOMEE
I'll definitely watch this tutorial again when I'll try things around!
Thanks man! :)
Thank you so much for this amazing tutorial! I was stuck because I didn't know how to use properly mirror but this tutorial helped me SO much.
Amazing for someone with dev experience who wants a kickstart into multiplayer dev in Unity, please continue, I love the videos.
Great video, keep on the awesome work!
Your explanations couldn't be more clear. Thank you so much for you work.
this is the best of all the tutorials on mirror i could find! by far. i think i can do with what you taught us, but i would be watching and linking additional entries to the series :) for example, id like some common mechanics implemented, like players shooting at npcs and each other. basicly principles on where and how to use commands and rpc!
great tutorial, I've already enabled the notifications, thanks a lot
Liked and subscribed, it's amazing how you describe everything clearly and quickly. The visuals really help too, keep it up!
This is a brilliant series! Very well structured and explained! Great work.
I wish I could like this more than once! All of these tutorials are top notch! I'm now subscribed for anything you feel up to releasing in the future. Thank you for putting the time in on this!
You are amazing, really blew my mind how a 30 min video could teach me so much
That's hands down the best Unity Mirror tutorial series out there. Hope you'll get more attention in the future so that you stay motivated to provide more of these brilliant videos for us.
Thank you, the best mirror networking tutorial !
I cant describe how amazing this is. Thank you Thank you Thank you!
The tutorials that you make are the only tutorials on youtube that teach just the basics of Mirror in a really simple and understandable way
Great Job
If possible could you make a tutorial on making rooms and matchmaking?
I love how you give time for part its a time saver
I love this serie. Thank you, this helps me A LOT.
Really good series and very useful. You’ve got potential man and I can see you becoming a big game dev youtuber one day
Super great video, looking forward to more
great stuff. Can't wait for serialization, it seems very useful
This video... is amazing. Feels like I'm getting a proper lecture that I would pay for. Subscribed for sure! : )
Really well made. Subbed! Keep it up!
Thank you so much! This is amazing, and exactly what I needed. A sub for you!
Love the tutorials! Super helpful and educational. I am trying to build my first multiplayer game and these videos are a lifesaver. Cant wait for the next one! :)
Keep this up man, it's really incredible!
Wow. All I can say. This is a fantastic tutorial, could be the best one out there!
FANTASTIC tutorial in every regard! Thank you so much for creating such a top-notch tutorial! I’m looking forward to watching the rest in your series!
One of the best, simplest, and easiest to understand Mirror networking tutorial out there. Having said that, I am having difficulty with Instantiation. Could you do a video on instantiating object and they’re specific Authority / updating all clients?
Thanks, great tutorial! This helped me past a bit of a networking brick wall in something I was working on
the contents you produce are unique. why don't you keep producing videos. people need you.
I love these multiplayer videos. Keep up with the good work
impressive class! you made a such complex thing like this looks like so simple! thanks!
You explain to me that I try to understand for a week, thanks!!!!!
The only mistake i could find in this video is that at 24:42 there is a ' ] ' missing after ClientRPC other than that the video is perfect.
Admit it its the most explained networking tutorial..
Learning a lot about Mirror from these. My only wish is that the example you give for the various tagged methods, they happen across multiple clients and not just one client and server.
For example, regarding the TargetRPC tag, I want to see the behaviour of a different client when pressing the X key.
This is very well made and you explain things clearly.
awww yeah, give me that multiplayer juice!
Amazing tutorials! Greetings from Argentina 🇦🇷
Another excellent video. I’m looking forward to the next one.
25:13 You Forgot A Close Bracket "]" After ClientRpc. BTW I LOVE THESE VIDEOS. VERY DETAILED. Subscribed
Great content! Love your examples and explanations
A tutorial I can actually understand. I only see one more video, I really hope you didn't stop this prematurely cause it's much easier to follow than Tom Weiland's one and goes further than Dapper Dino's one.
Great series bud, keep em coming!
you are just... GREAT!
Thanks!
Very good explanation, great youtube channel !! I can't wait to see the next videos !!
I need more of this, it's so good
im an absolute beginner but u rly gived me a lot of informations :DDD
This is such a great video!
please continue this series!
just love this channel.
thank was very helpful.
keep continue
This video is very informative and well- explained, very helpful! Will you be making more tutorials on Mirror in the future still? I noticed it has been a while since you posted any.
Having trouble as the docs don't seem to specify the answer to this. The tutorial looks a tad out of date. This callback no longer seems to exist
public override void OnClientConnect(NetworkConnection conn)
it looks like it throws an error for not existing. I looked at the docs and there looks like a virtual method, but it doesn't seem to behave the same way. Any ideas how to move forward?
hey, i got the same issue, have you found any solutions mate ?
That wont work because its NetworkClient.connection is a static class.
OnClientConnect doesnt take any parameters.
I was able to get this to work by doing the following.
public override void OnClientConnect()
{
base.OnClientConnect();
Debug.Log("Connected to Server!");
}
public override void OnClientDisconnect()
{
base.OnClientDisconnect();
Debug.Log("Disconnected from Server!");
}
@@oriongames1211 You save my day mate.
29:31 The holaCount value doesn't stack together in the server when you press X on different clients. When I press X in 1st client, it starts adding 1 until I reach 10 for example, but when I press X in 2nd client then holaCount value starts from 1 or goes back to 1, the holaCount should be 11 to all clients by that time. Isn't SyncVar supposed to update the variable's value to all clients and the clients can add by 1 each time they press X and continue to keep stacking in the server? Idk why this happens and it's not making any sense
having the same issue here, did you find the explanation? EDIT: I get it now, the sync var is shared and sync'ed among the instances of the same object across server and clients, but two objects, like the two players, will each have its own, it's not like a static class variable. So what we see is holaCount for player 1 and holaCount for player 2.
@@danielemessina1979 I forgot to edit this comment, I moved to MLAPI networking. And before that, I just thought it had the same system as Roblox Networking where u sync 1 variable and it would automatically sync to all. In MLAPI, I solved this by doing an "if this is server then variable is incremented" condition after you send the signal from client to server. MLAPI is not much different from Mirror so give it a try.
I want to say thank you Senpai
Nice video, helped a lot :D
ur a life saver man thx
thx dude yu rly helped me a lot :)))
Will you be covering using the NetworkRoomManager and a custom hud/ui?
Custom HUD/UI - yes. NetworkRoomManager - might explain it, prob won’t use it as I’ll reimplement a better version as we continue to build a fall guys style game
Best tutorial on Mirror+Unity, great job! One generalized question: how would you tackle writing both a single-player AND multi-player game. E.g. some RPG like game with co-op element. Would one write EACH script again for single-player mode, or would one "fake" a single-player experience, by just silently setting up a (localhost) client-server / host connection when the player starts a single-player game?
Love your videos and how you explain the details and the implementation of the code. When you get a chance could you make a short video on how to create a custom GUI for the multiplayer. That would give me, and maybe others, the next step in completing a game. Thanks for your time and expert advise on getting things up and running.
Wow that's awesome
Awesome tutorial
So would you say that sync vars would be the best to keep track of the transforms/actions of AI agents in a game?
Nice tutorial!
Dude!! Thank you!!!
Have you released the lower level tutorial just yet? Cheers!
How to communicate between client1 to client 2
amazing work
You are amazing!!
not sure if you are the adress for my question but i wonder how can i call simple events from one sciprt to another - if i want ti add listeners and invoke a message i discover the listenr is not getting the event. i usepublic static class EventsManagerand i put there all the relveant actions and it worked - untill netocde...
are these all information about Command, ClientRTS, synVAR, still up to date when Unity provided new multiplayer system?
Great tutorial ! How are the arguments filled for the OnHolaCountChange function filled? Where are old count and new count variables passed into the function ?
Hi, did you manage to figure that out?
@Shrine what if i want to call a [Command] from an object that is not a Player???
Hi, how to sync texture or send png using Mirror from server to client?
Is that possible to connect different game server to different game server
Or data transfer from one game server to different game server
Ok So I understood what u said but I m confused that which rpc to use to show projectiles and flash to other clients
Can I sync "Collision2D x" using a command and then a SynVar with a Hook and then a ClientOnly Method? I get an error. I don't think I can pass in the new Collision2D value in the the client method. How can I do this?
I have a problem with synchronizing the player itself.
I am using the karlson movement script (rigidbody)
and every time a client joins a Host (Client + Server)
It blacks out the clients view and causes the Host To
be in control of the other rigidbody character.
This is weird, I also have Network Rigidbody and Network Transform