No video

Connecting Unity Clients to a Dedicated Server | C# Networking Tutorial - Part 1

  Рет қаралды 443,672

Tom Weiland

Tom Weiland

Күн бұрын

In this first part of my C# networking tutorial series, we set up a TCP connection between a dedicated server and a Unity client.
THIS SERIES IS OUTDATED! Check out the NEW & IMPROVED videos: • How to Make a Multipla...
Check out my devlogs: • Multiplayer Pirate Gam...
⎯⎯⎯⎯⎯⎯
Kevin Kaymak's channel: / @androidretro
List of commonly used ports: en.wikipedia.o...
Compare your code to mine on GitHub: github.com/tom...
Discord server: tomweiland.net...
Support me on GitHub Sponsors: github.com/spo...
Support me on Ko-fi: tomweiland.net...
GitHub: tomweiland.net...
Website: tomweiland.net/
⎯⎯⎯⎯⎯⎯
Gear & Software I Use
Developing
⮞ Engine - Unity: store.unity.co...
⮞ Code Editor - Visual Studio: visualstudio.m...
⮞ 3D Modeling - Blender: www.blender.or...
Recording & Streaming
⮞ Screen Recorder - OBS Studio: obsproject.com/
⮞ Camera - Panasonic G85: amzn.to/39P77GK
⮞ Microphone - Maono AU-PM422: amzn.to/2LsTIuG
Computer Parts & Peripherals
⮞ Mouse - Logitech G604: amzn.to/3mqUSoy
⮞ CPU - AMD Ryzen 7 2700X: amzn.to/3pU06K9
⮞ GPU - GeForce GTX 1050 Ti: www.newegg.ca/...
⮞ Motherboard - ASUS Prime X470-Pro: amzn.to/3p20h5f
⮞ SSD - Gigabyte 240GB: amzn.to/39UPWDQ
⮞ HDD - WD Blue 1TB: amzn.to/2O37EMI
⮞ RAM - 8GB x2
⮞ Case - Fractal Design Meshify C: amzn.to/3q6FgHy
⮞ Power Supply - EVGA 750 GQ: amzn.to/2N3T3A0
Other
⮞ YT Channel Management Tool - TubeBuddy: www.tubebuddy....
⮞ Webhosting - Bluehost: www.bluehost.c...
I personally use all of the above products and services, so they are genuine recommendations. Some of these links are affiliate links, which means I get paid a small commission (at no extra cost to you) if you sign up or buy through them. Thanks for supporting the channel!
⎯⎯⎯⎯⎯⎯
#UnityTutorial #Multiplayer #Unity3D #Networking #GameDev #Server #Client #Multiplayer #GameDevelopment #Unity #MadeWithUnity
Building multiplayer games is a complex topic. Since every game has its own specific needs when it comes to networking, any one-size-fits-all options will likely come with a downside. You'll end up making trade-offs between performance, certain features, ease of use, and cost.
So what's the alternative? You can build your own networking solution! That may sound daunting-and it's by no means easy-but by the end of this step by step Unity networking tutorial series, you'll have learned the fundamentals of how to make a multiplayer game in Unity, even if you're completely new to networking! You'll also learn a ton about how not only games, but also how connected software in general use TCP and UDP to communicate. In this Unity multiplayer tutorial series, we'll be building a dedicated game server from scratch, which is essential if you want to prevent cheating.
⎯⎯⎯⎯⎯⎯
"Interplanetary Forest" by Meydän is licensed under a Creative Commons Attribution license (creativecommon...)
Artist: / meydansound

Пікірлер: 2 000
@tomweiland
@tomweiland 4 жыл бұрын
As I was editing this, I felt like there were some things that I could have explained a little better. This is my first tutorial and I'm always learning, so I'll do my best to explain things in more detail in the future. If you guys have any feedback regarding the video, please let me know 👇
@CodemasterJamal
@CodemasterJamal 4 жыл бұрын
You did well. Very well. Keep up the good work.
@kaveman2940
@kaveman2940 4 жыл бұрын
This is much better than the method I did! This is gonna help a lot! Thanks!
@tomweiland
@tomweiland 4 жыл бұрын
I'm glad you found it helpful :)
@davidardelean2832
@davidardelean2832 4 жыл бұрын
Great job bro!
@antoinetoussaint483
@antoinetoussaint483 4 жыл бұрын
very useful, especially with uNet being disabled on Unity... ure a god , thx !
@Caliper_Click
@Caliper_Click 4 жыл бұрын
when incoming connection messange showed up i was screaming like NASA when they got messange of first moon landing Thank you a lot. Best guide that i have ewer seen.
@tomweiland
@tomweiland 4 жыл бұрын
Hahaha, that's amazing :P
@thedude4039
@thedude4039 4 жыл бұрын
Дима Самсонов 2 It would be really satisfying if when you connected, it said “Connected successfully”.
@slubbehedits9302
@slubbehedits9302 3 жыл бұрын
lmao that's hilarious
@echo9dev
@echo9dev 3 жыл бұрын
Imagine it open up a connection from aliens on mars
@MintAIO
@MintAIO 4 жыл бұрын
Please don't randomly stop uploading these videos. You see a lot of tutorials where they just stop without warning. Good video.
@tomweiland
@tomweiland 4 жыл бұрын
Yeah I've seen my fair share of those. I definitely plan on continuing this series-in fact I'm editing part two right now :)
@MintAIO
@MintAIO 4 жыл бұрын
@@tomweiland do you know any resources that I can read more about how all of this actually works?
@tomweiland
@tomweiland 4 жыл бұрын
@@MintAIO apart from the Microsoft docs, I'm not aware of any good written resources, and unfortunately the docs really only explain the what, not the why. I personally learned how this stuff works by watching tutorial videos like the ones I'm making now, and then playing around and working with it for the last (almost) 2 years. I'd encourage you to join my Discord server (link in description). You can ask questions there and we can have a more efficient conversation than here in the comments section :)
@yousefyousef495
@yousefyousef495 4 жыл бұрын
dani talked abouuut you ,, thanks nice tut.
@ffccardoso
@ffccardoso 4 жыл бұрын
I come here after his hint too
@tomweiland
@tomweiland 4 жыл бұрын
I've never had so many notifications in my life, welcome to the community guys :D
@sir-red1138
@sir-red1138 4 жыл бұрын
@@tomweiland It's a great tutorial, extremely fast-paced though, I've been programming for a long time and can't even keep up on 0.75x speed haha. That's why we got the pause button though :)
@tomweiland
@tomweiland 4 жыл бұрын
@@sir-red1138 exactly. Personally, whenever I'm watching a tutorial, I'm constantly pausing it, so I though I may as well speed things up a little bit. That way the tutorials don't go on forever (starting a series of 30-60min long videos can be very daunting).
@kermitthedog_5211
@kermitthedog_5211 4 жыл бұрын
Yeee
@tomweiland
@tomweiland 4 жыл бұрын
Since uploading this video, I've created a repository on GitHub. If you run into issues, you can compare your code mine: github.com/tom-weiland/tcp-udp-networking/tree/tutorial-part1
@hilmiakgunlu1036
@hilmiakgunlu1036 4 жыл бұрын
Wow
@JaradBailey
@JaradBailey 4 жыл бұрын
"Compare" sure...
@tomweiland
@tomweiland 4 жыл бұрын
@@JaradBailey what do you mean?
@pollomagico271
@pollomagico271 4 жыл бұрын
@@tomweiland I think he meant that most of the people would just copy and paste the code.
@Mikelica69
@Mikelica69 3 жыл бұрын
@@pollomagico271 this
@rafaelgpontes
@rafaelgpontes 4 жыл бұрын
Oh, boy! You deserve so many more subscribers!! This is SOLID content!! I started studying C# last week and I'm loving it! I came here because of Dani and now you have +1 subscriber/liker!! Keep it up, man!
@tomweiland
@tomweiland 4 жыл бұрын
Thank you Rafael, that means a LOT to hear! Welcome to the community :D
@TimothyBreadman
@TimothyBreadman 3 жыл бұрын
Tom, my guy, you just turned what would have been who knows how long looking into network programming into like an hour or two of work. You're a lifesaver.
@tomweiland
@tomweiland 3 жыл бұрын
Glad I could help :D
@benceberenyi9621
@benceberenyi9621 3 жыл бұрын
the feeling when i coded half an hour but im just 6 minutes in the video
@tomweiland
@tomweiland 3 жыл бұрын
😅
@noobmuffin
@noobmuffin 3 жыл бұрын
it took me 2 hours
@ganeshsingh4702
@ganeshsingh4702 3 жыл бұрын
me too but I took more than 1 hour
@debojyotiganguly5629
@debojyotiganguly5629 3 жыл бұрын
me too
@tsangboris6276
@tsangboris6276 3 жыл бұрын
It took me one day for finding errors but luckily there are lots of friendly people in discord server helped me😊
@theboomcommenter6894
@theboomcommenter6894 3 жыл бұрын
You are reading and replying to comments in this video even to this day... your dedication is just surprising. You gained one sub, you deserve a lot more :)
@tomweiland
@tomweiland 3 жыл бұрын
Haha thanks, welcome to the community :D
@calvinhuang2426
@calvinhuang2426 4 жыл бұрын
Really Stellar Tutorial! I can't thank you enough. One addition I would suggest is to go over the logical flow really quickly at the end. For example: TcpListener -> Accepts Client -> Connects to Client Socket -> Stream that Accepts data
@tomweiland
@tomweiland 4 жыл бұрын
Thank you :) I'll keep that in mind for future tutorials since there's not much I can do at this point.
@7verdy
@7verdy 4 жыл бұрын
First and foremost, thanks a lot for this networking tutorial. I came here thanks to Dani's videos but I stuck because of how well everything is explained and way more intuitive than other methods I tried. Having a multiplayer in my school project being mandatory, I really feel like I owe you one. Anyway, thanks man !
@tomweiland
@tomweiland 4 жыл бұрын
I'm glad you decided to stick around :D Is this a project for university or are you still in high school?
@7verdy
@7verdy 4 жыл бұрын
@@tomweiland An university project ! I'm in junior year so basically it's meant for us to get our hands in the dirt, kind of :')
@tomweiland
@tomweiland 4 жыл бұрын
@@7verdy got it, although mandatory multiplayer seems like quite a steep requirement for a junior year project doesn't it?
@7verdy
@7verdy 4 жыл бұрын
@@tomweiland Looking back at what a mess it has been since the beginning because of the multiplayer, I could not agree more. That's why your videos really came in handy !
@tomweiland
@tomweiland 4 жыл бұрын
@@7verdy well I'm glad I could lend a hand!
@owofinctive8186
@owofinctive8186 4 жыл бұрын
Awesome tutorial! Thank you. I would like to suggest you to set your font size larger when you are recording tutorials. It's not easy to read your code in 720p or a small screen :D
@tomweiland
@tomweiland 4 жыл бұрын
Other people suggested the same thing, and in later tutorials I increased the code size. In the most recent tutorial, I forgot to do so when I was recording, so I ended up just zooming in on the areas of interest, which I think is the best solution. The only drawback is that it takes more time to edit, but let me know what you think of that when you get there :)
@owofinctive8186
@owofinctive8186 4 жыл бұрын
@@tomweiland ok, thanks for sharing!
@elijahw.6144
@elijahw.6144 4 жыл бұрын
I can read it on my fucking phone. What the fuck
@zyxyfn3683
@zyxyfn3683 3 жыл бұрын
@@elijahw.6144 thats the thing on larger screen on 720p it will be more pixelated because its a big screen like a 27 inch monitor its more pixelated like for me
@Hypersniper05
@Hypersniper05 4 жыл бұрын
Straight to the point. I love it! I had to slow the video down so I can catch up with my typing but it’s no biggie. Thanks for putting this together.
@tomweiland
@tomweiland 4 жыл бұрын
Glad you don't mind the speed too much! The future parts are a bit slower though :)
@audacityfilmsproductions5334
@audacityfilmsproductions5334 3 жыл бұрын
This series is PERFECT thank you so much I already understand so much of it just from this 12 min video, you’re very great at explaining things lol! about a year ago I was using UNET and just gave up because it would NEVER sync the clients movements and would keep a copy as a child of the main player the whole time I just gave up definitely going to give this a try. I’ll lyk my results! THANK YOU SO MUCH!
@tomweiland
@tomweiland 3 жыл бұрын
Haha yeah, I never liked UNet :P Glad I could help!
@garishtiger140
@garishtiger140 3 жыл бұрын
Just found this because of Dani's channel but I've been looking for a good comprehensive tutorial for a while and this was a perfect start!
@tomweiland
@tomweiland 3 жыл бұрын
Glad I could help :)
@tomweiland
@tomweiland 2 жыл бұрын
*IMPORTANT: these tutorials and the code in them are outdated!* I've been working on RiptideNetworking (a _much_ better multiplayer solution) for the last year, and I finally made a tutorial on how to use it: kzbin.info/www/bejne/bJy6f42Fe8h5h9k
@rhetthenderson5993
@rhetthenderson5993 4 жыл бұрын
Dang man, this is awesome. I really appreciate the effort put into this video, and I'll definitely be watching till the end of the series.
@tomweiland
@tomweiland 4 жыл бұрын
Awesome, I'm glad you liked it!
@ToniMussolini
@ToniMussolini 3 ай бұрын
@@tomweilandit’s lan or online connection?
@tomweiland
@tomweiland 4 жыл бұрын
*Next tutorial:* kzbin.info/www/bejne/aqarhYaho6x9l7s If you'd like to support me directly, you can do so on Ko-fi: tomweiland.net/kofi
@thegamerjoshua2848
@thegamerjoshua2848 4 жыл бұрын
hey I can have a name of a scene called Lobby and not main
@thegamerjoshua2848
@thegamerjoshua2848 4 жыл бұрын
just for idk 8:05
@tomweiland
@tomweiland 4 жыл бұрын
@@thegamerjoshua2848 you can name your scene whatever you like, it makes no difference.
@Shakespeare1612
@Shakespeare1612 4 жыл бұрын
@@thegamerjoshua2848 I played with this and it was actually more difficult than I thought. You can double click on the script in the asset viewer. This will open it in VScode, or maybe monoDevelop. Then use the "save as" function in the program and exit the program. When you get back to Unity a new script with you new name should appear in the asset viewer. You can then delete the old script and attach the new script to what ever game objects you like. Maybe I'm wrong but I found no way to right click or double click or edit the name directly in Unity in any way.
@creativecreeper0728
@creativecreeper0728 4 жыл бұрын
would I have to use this server for localhost or can I forward a port and make it a public online server?
@erkamenescol231
@erkamenescol231 4 жыл бұрын
I was lacking the networking knowledge, now that i found your channel im hoping to fill the holes in my knowledge with information! Thank you
@tomweiland
@tomweiland 4 жыл бұрын
Hopefully your expectations will be met :)
@mtate405
@mtate405 4 жыл бұрын
Finally! After searching the whole web I found exactly what I wanted!Dedicated servers! Thank you, Tom
@tomweiland
@tomweiland 4 жыл бұрын
I'm glad you found what you're looking for, but I'm guessing you meant "dedicated", not "deprecated" 😂
@mtate405
@mtate405 4 жыл бұрын
@@tomweiland Yes)
@setseretze3565
@setseretze3565 3 жыл бұрын
"hosting minecraft servers with server jar" flashbacks
@tomweiland
@tomweiland 3 жыл бұрын
😅
@setseretze3565
@setseretze3565 3 жыл бұрын
wow you still reply even tho the video is one year old
@tomweiland
@tomweiland 3 жыл бұрын
@@setseretze3565 I do my best to reply to all the comments :P
@crazyksp8344
@crazyksp8344 3 жыл бұрын
@@tomweiland nice
@lagosta
@lagosta 4 жыл бұрын
This is such a great tutorial. I have been looking for this for months, the way you explain for me makes it more easier to understand thank you.
@tomweiland
@tomweiland 4 жыл бұрын
I'm glad it's been helpful :)
@teddyreid9055
@teddyreid9055 3 жыл бұрын
This is such a fantastic video for professional programmers pivoting into game development. No bullshit, straight to the point, clear and well spoken voice that sounds good at 1.5x speed. Cheers for this, mate.
@tomweiland
@tomweiland 3 жыл бұрын
Glad to hear that you like it! I'm surprised you're watching it at 1.5x speed-most people slow down the video, are you sure you're human 😳
@CodemasterJamal
@CodemasterJamal 4 жыл бұрын
The list of ports are superb. Didn't even know that thing existed. Excellent.
@tomweiland
@tomweiland 4 жыл бұрын
Yep, it's definitely a good reference!
@faceless8337
@faceless8337 4 жыл бұрын
Who here from Dani's video?
@tomweiland
@tomweiland 4 жыл бұрын
Many, many people 😅
@d7a6on.
@d7a6on. 4 жыл бұрын
Me
@tomweiland
@tomweiland 4 жыл бұрын
Welcome to the community guys :)
@faceless8337
@faceless8337 4 жыл бұрын
@@tomweiland I just finished watching this series and i am so glad you did this. Easy to follow and understand. Deserves more veiws
@tomweiland
@tomweiland 4 жыл бұрын
@@faceless8337 well this video got a 4.5k view boost today alone 😅 I'm glad you enjoyed it though!
@Dayogg
@Dayogg 4 жыл бұрын
Thank you for sharing this knowledge with everyone, it's amazing.
@tomweiland
@tomweiland 4 жыл бұрын
You're welcome, I'm glad you're finding some value in it :)
@_creare_2742
@_creare_2742 3 жыл бұрын
Finally someone who codes fast! I quickly rung that bell.
@tomweiland
@tomweiland 3 жыл бұрын
Glad you appreciate it! I personally hate slow tutorials which is why I wanted to make sure this wasn't another one of those, although I think I did go a bit too far in the opposite direction 😅
@DespairOfAriadne
@DespairOfAriadne 4 жыл бұрын
This is probably the first Unity tutorial I've watched that is quick, concise, and thorough, while still understandable. Thank you!
@tomweiland
@tomweiland 4 жыл бұрын
I'm glad you like it :D
@pedofangst
@pedofangst 3 жыл бұрын
you should check out bracys
@straightafitness
@straightafitness 2 жыл бұрын
execuse me understandable?!?!?! XD, i just coppying codes and hoping that would work
@aliboukaroui
@aliboukaroui 4 жыл бұрын
Thank You bro. I'm working in City of Ragdolls. I was so confused how to add multiplayer XD
@tomweiland
@tomweiland 4 жыл бұрын
Well hopefully this series can alleviate some of the confusion :)
@bubberiffic
@bubberiffic 3 жыл бұрын
@@tomweiland Ye
@CryztalzArtjom
@CryztalzArtjom 4 жыл бұрын
Thanks for the tutorial! I have one question: Wouldn't a UDP connection be preferrable to a TCP connection, specifically when writing the server for a game? Edit:// just saw part 3, I should probably watch more before asking x)
@tomweiland
@tomweiland 4 жыл бұрын
Hahaha well it's still a valid question. The reason we use both TCP and UDP is because at some point you're going to need to send messages which won't get lost-that's what TCP is for. When it doesn't really matter if all the packets arrive, UDP is great because it's slightly faster.
@CryztalzArtjom
@CryztalzArtjom 4 жыл бұрын
@@tomweiland That explains everything. Thank you!
@FateShape
@FateShape 4 жыл бұрын
You're the man! Even professional Unity lessons can't match this.
@tomweiland
@tomweiland 4 жыл бұрын
Well I don't know about that 😅
@embodyingocean189
@embodyingocean189 3 жыл бұрын
I spent two days on this single video but I learned so much, not just about networking, but other C# features too
@tomweiland
@tomweiland 3 жыл бұрын
Glad to hear it :D
@kaij1n60
@kaij1n60 4 жыл бұрын
legends say that he spoke so fast to optimize the videolength, on clientside it's supposed to be slowed down to 0,75. Genius move.
@tomweiland
@tomweiland 4 жыл бұрын
Well I'm glad you think so-most people think it's _too_ fast, and I mostly agree. I personally hate it when tutorials are so slow that I constantly skip ahead, but I think I went a bit overboard with trying to avoid that :P
@bubberiffic
@bubberiffic 3 жыл бұрын
@@tomweiland lol
@bubberiffic
@bubberiffic 3 жыл бұрын
If you are on Visual Studio 2019 with all of the installed stuff that you need. Then just go in the console and click "Run" or start it will show a green play button, so just click on that to start/run the code.
@MekaniQ
@MekaniQ 4 жыл бұрын
Thank you!!!!!! I gonna start making my game!!!
@tomweiland
@tomweiland 4 жыл бұрын
Good luck!
@leeoiou7295
@leeoiou7295 Жыл бұрын
The pacing for this video is perfect. Not fast, not slow. Good job!
@tomweiland
@tomweiland Жыл бұрын
Thanks, but you should use the newer tutorials instead. This solution isn't very good in comparison.
@calcumalations1235
@calcumalations1235 2 жыл бұрын
I remember doing this and my pc would crash idk why it works now but I’m happy that I can use this cause it’s better than pre built ones with limits
@tomweiland
@tomweiland 2 жыл бұрын
That sounds really strange, glad it's working now though :)
@StreamOStreamS
@StreamOStreamS 4 жыл бұрын
iam come from DDAANNII!!
@tomweiland
@tomweiland 4 жыл бұрын
Welcome to the community :)
@borisnliscool
@borisnliscool 4 жыл бұрын
I must say, this was a bit fast for me. I had to pause it like a bajilion times. But still, nice video!
@tomweiland
@tomweiland 4 жыл бұрын
Thanks! I figured that since it's a tutorial, you'd be pausing a lot anyways (at least that's what I do when I'm watching tutorials), so a bit of extra speed wouldn't be a problem. It keeps the videos at a more manageable length, and keep in mind you can change the playback speed to something like 0.5x :)
@heinzketchup2542
@heinzketchup2542 4 жыл бұрын
Don't know if you still read replies, but thank you so much for this tutorial. My game wouldn't be possible without your help.
@tomweiland
@tomweiland 4 жыл бұрын
I do still read comments! I'm glad you enjoyed it :)
@prometheuspickle2946
@prometheuspickle2946 3 жыл бұрын
At first it did not work for me, but after 10 minutes of fear, i realised i was executing the wrong file, and after that it worked! Great tutorial!
@tomweiland
@tomweiland 3 жыл бұрын
I'm glad it worked out in the end :)
@ArrowBlitz-tq7rf
@ArrowBlitz-tq7rf 4 жыл бұрын
Like if you were here before Dani and then saw Dani make it popular.
@tomweiland
@tomweiland 4 жыл бұрын
The networking series was actually on a pretty consistent upward trend even before Dani's shoutout, but of course everything went through the roof in the week afterwards :P
@kalix2110
@kalix2110 4 жыл бұрын
Anyone else come from Dani?
@tomweiland
@tomweiland 4 жыл бұрын
Nearly 300 new subscribers overnight, and I'm sure many others as well! Welcome to the community :)
@tomweiland
@tomweiland 4 жыл бұрын
@@someoneelsenone822 I agree!
@YulRun
@YulRun 4 жыл бұрын
Glad you have these videos out here, found the first half of this video a little fast. Trying to figure out how and why you're doing something and it already moves on to the next. Appreciate it none-the-less. Gonna have to just watch it a couple times I think to figure out how things are working.
@tomweiland
@tomweiland 4 жыл бұрын
Yeah sorry about that-this was my first tutorial and I didn't realize how fast I was actually going :P
@YulRun
@YulRun 4 жыл бұрын
@@tomweiland All good man, I do suggest if you ever get the time to maybe redo the one video, as it is a pretty important one when getting started, and the fundamentals are the most important to understand! Still appreciate the videos.
@mello-rl6418
@mello-rl6418 3 жыл бұрын
Best networking tutorial.
@tomweiland
@tomweiland 3 жыл бұрын
Thanks 😅
@rancorusia
@rancorusia 4 жыл бұрын
"double check you didnt miss anything" hard not to when you talk at 90mph...
@tomweiland
@tomweiland 4 жыл бұрын
Sorry about that. This was my first tutorial and I didn't realize how fast I was actually going-the later videos get better.
@HaxzploiD
@HaxzploiD 4 жыл бұрын
You can even set the video speed to 0.5 it has the added bonus of your instructor sounding extremely drunk...
@tomweiland
@tomweiland 4 жыл бұрын
@@HaxzploiD 😂
@thedude4039
@thedude4039 4 жыл бұрын
Rancorusia It’s amazing. He codes at the speed of speech. That just goes to show how well he knows the subject.
@tomweiland
@tomweiland 4 жыл бұрын
@@thedude4039 the footage _is_ sped up, I don't actually type that fast :P
@acoupleofgsanrandaneaniandann
@acoupleofgsanrandaneaniandann 3 жыл бұрын
I never knew seeing a line appear in a console could make me so happy.
@tomweiland
@tomweiland 3 жыл бұрын
Congrats 😂
@qokhan3463
@qokhan3463 3 жыл бұрын
I watched and typed code in same time during video.. I couldn't believe the program was going to work at the end of the video. But I'm surprised... Its working well... YOU ARE AWESOME
@tomweiland
@tomweiland 3 жыл бұрын
Why didn't you believe that it would work 😅
@qokhan3463
@qokhan3463 3 жыл бұрын
@@tomweiland I discovered this channel before fall asleep :) result miracle for me :)
@ae-_ae
@ae-_ae 3 жыл бұрын
Thank you so much, I was having so much trouble setting up multiplayer, not my strongsuit. This is already helping a ton.
@tomweiland
@tomweiland 3 жыл бұрын
Awesome :)
@bittenbroccoli9901
@bittenbroccoli9901 3 жыл бұрын
LET'S GO! Never felt so amazing after copying a tutorial. Thanks a lot for putting this video together even if I did not understand most of it.
@tomweiland
@tomweiland 3 жыл бұрын
Glad you liked it :) Don't worry if you didn't get it right away-it took me a couple months before this stuff really clicked.
@bartoszkmiecik3193
@bartoszkmiecik3193 3 жыл бұрын
Finally found a good tutorial on how to use .NET with Unity. Been looking for months for something like that. Thanks mate you're great!
@tomweiland
@tomweiland 3 жыл бұрын
Glad you like it :D
@CarbonDev
@CarbonDev 3 жыл бұрын
Wish I could understand any of this, you came in clutch Tom
@tomweiland
@tomweiland 3 жыл бұрын
I know I could've explained things better, but if you stick with it it'll start to make sense eventually. I spent several months of working with this stuff before it really clicked for me, so it'll come if you stay persistent :)
@mr_f3nr1r
@mr_f3nr1r 4 жыл бұрын
Thanks a lot for your c# tutorials, really helps me to write my bachelor diploma. Hope to finish it and make some sort of my own project video review :)
@tomweiland
@tomweiland 4 жыл бұрын
Awesome, I'm glad I could help!
@andreas2291
@andreas2291 4 жыл бұрын
This is really good stuff. You honestly deserve a lot more subscribers, considering you have over 60k views on this video at the moment.
@tomweiland
@tomweiland 4 жыл бұрын
Thank you, that means a lot :D
@David-mp2jt
@David-mp2jt 3 жыл бұрын
100% subscribed, please keep these videos up Tom, there really are few decent resources on this. I think this is the path to getting a crazy amount of subscribers!
@tomweiland
@tomweiland 3 жыл бұрын
Welcome to the community! And you're right, I would be nowhere near 10k subs without this series :P
@reillybickerton2549
@reillybickerton2549 4 жыл бұрын
Super informational tutorial, great series and an over all great job. Thanks for using your time to help the uninformed.
@tomweiland
@tomweiland 4 жыл бұрын
I'm glad you like it :D
@griffinbrooks6748
@griffinbrooks6748 2 жыл бұрын
before dani: 720 subs 3 views after dani credited you: BRRRRRRRR tbh tho man, you deserve it! keep it up :D
@tomweiland
@tomweiland 2 жыл бұрын
Thanks 😅
@TheIronicRaven
@TheIronicRaven 3 жыл бұрын
It WOOORRRKKKSSS!!! I Don't understand most of what I typed, but it freakin worked!!!!! Stoked to try out the next videos! Amazing tutorial!
@tomweiland
@tomweiland 3 жыл бұрын
Seeing it work the first time is a special moment :P Stick with it and eventually it'll make sense!
@leecandy8689
@leecandy8689 3 жыл бұрын
Yep, First one worked well for me in 2020.3.15f... now for the rest of them, Thank you.
@tomweiland
@tomweiland 3 жыл бұрын
Glad to hear it :)
@ChrisCrossed.86
@ChrisCrossed.86 3 жыл бұрын
Holy crap where has this been all my life...
@tomweiland
@tomweiland 3 жыл бұрын
😅
@harryhaddow6203
@harryhaddow6203 2 жыл бұрын
Thanks for building these tutorials. Much appreciated
@tomweiland
@tomweiland 2 жыл бұрын
Hopefully they're helpful! You may want to consider checking out my new tutorial though: kzbin.info/www/bejne/bJy6f42Fe8h5h9k
@jalenmorgan695
@jalenmorgan695 4 жыл бұрын
This was an excellent tutorial. I'll be watching all your videos from now on.
@tomweiland
@tomweiland 4 жыл бұрын
I'm glad you like it, welcome to the community :D
@jopo6445
@jopo6445 4 жыл бұрын
Looking forward to seeing the future of the series
@tomweiland
@tomweiland 4 жыл бұрын
Glad you liked it, part 2 will be out this Saturday :)
@guldberg75
@guldberg75 3 жыл бұрын
If this is your first tutorial, it's a bang good job.
@tomweiland
@tomweiland 3 жыл бұрын
Thanks, although there's tons I could've done better, particularly the speed :P
@guldberg75
@guldberg75 3 жыл бұрын
@@tomweiland Will you, or have you already, made a match making system? such as when a player makes a game others will be able to see the game and join it. I bet its a personal preference, some like the high speed and some dont. I like the most that you explain what the code does instead of just saying the actual code words your writing. For me, yeah sometimes the speed is a little bit too high if i want to write the code myself along with watching your video. I learn and remember alot better when writing things down.
@youngdollarzs
@youngdollarzs 3 жыл бұрын
Very Good tutorial easy to follow and all errors were addressed on the spot I love it. Pls keep this up as it has already helped me so much. So much thanks
@tomweiland
@tomweiland 3 жыл бұрын
I'm glad you liked it!
@tsangboris6276
@tsangboris6276 3 жыл бұрын
The like button is broken... We all smashed it🙃
@tomweiland
@tomweiland 3 жыл бұрын
Incredible 👌
@julezgermany5839
@julezgermany5839 4 жыл бұрын
Holy! Great Work- I have no experience in Networking and I think I was able to follow your coding very well. 12 Minute video and I was able to create my first connection =) NOICE! Keep it up m8 =)
@tomweiland
@tomweiland 4 жыл бұрын
That's good to hear!
@tristanbouchard9997
@tristanbouchard9997 4 жыл бұрын
I came here from Dani because the UNet system is about to be out of date and will cost a bunch if I decide I wanna publish my game.. but holy cow. I don't even know how you keep up with yourself. You went so fastttt
@tomweiland
@tomweiland 4 жыл бұрын
Yeah sorry about the speed 😅 This was my first tutorial, but it gets better in later videos. I'm also working on an improved version of this solution, and when I make a video about that I'll definitely ensure that it's slower :)
@jovannovakovic5975
@jovannovakovic5975 4 жыл бұрын
Thank you very much for this one, Tom! It helped me a lot! This time next year you will have 100K subscribers! Cheers!
@tomweiland
@tomweiland 4 жыл бұрын
Haha, fingers crossed! I'm glad you found the tutorial helpful :)
@nicholasvanlandschoot
@nicholasvanlandschoot 4 жыл бұрын
I am definitely not going to copy every single line of code word for word, and I definitely understand why everything works.
@tomweiland
@tomweiland 4 жыл бұрын
I'm really hoping this is sarcasm because simply downloading the code from GitHub will leave you with no knowledge of how to use it properly :P
@davidley5593
@davidley5593 3 жыл бұрын
Hey Tom, youre videos helped me out a lot. I just noticed, that if you change the ip to the ip of an external server you want to connect to, it still connects to the localhost (at least in my case). Because I could not find a Solution for this, and kept on trying to fix it for hours, I now want to provide the Fix for everyone else having this Problem. In the TCP class of the Client file in the Connect method you have to write: socket.BeginConnect(IPAddress.Parse(instance.ip), instance.port, ConnectCallback, socket); instead of: socket.BeginConnect(instance.ip, instance.port, ConnectCallback, socket); Hope this will help Somebody.
@tomweiland
@tomweiland 3 жыл бұрын
Would you happen to have been changing the IP in the client's code? If so, that's the problem, because the value in Unity's inspector overrides any changes you make to the initial value in the code. I have no idea why parsing the IP beforehand would have made a difference...
@kwanytt
@kwanytt 3 жыл бұрын
This is going to be so useful when i learn how to use probuilder
@tomweiland
@tomweiland 3 жыл бұрын
What does probuilder have to do with networking 🤔
@rezamoeini9657
@rezamoeini9657 2 жыл бұрын
Its amazing!! Short and useful!
@tomweiland
@tomweiland 2 жыл бұрын
And a little too fast 😅
@pitaah1044
@pitaah1044 3 жыл бұрын
If nothing happends when you click connect in unity try replacing the awake methods in both scipts with: void Awake() { if (instance == null) instance = this; else { Destroy(gameObject); return; } DontDestroyOnLoad(gameObject); } This fixed it for me, btw this is such a good tutorial!
@tomweiland
@tomweiland 3 жыл бұрын
Honestly I have no idea how this would solve the problem you say you were having :P
@pitaah1044
@pitaah1044 3 жыл бұрын
@@tomweiland yea I literally have no idea why haha, but this magically fixed it. I probably did something wrong lol. Anyway thank you for making these videos, I can imagine they take a lot of time to make.
@687r45dfg
@687r45dfg 4 жыл бұрын
Thank You So Much, I Stuck At The End Part But Than Realized The Mistake. :) Really Helpful
@tomweiland
@tomweiland 4 жыл бұрын
Glad it helped :)
@jonasbruskin3666
@jonasbruskin3666 4 жыл бұрын
I think this is an amazing tutoriel, on something that is quite complicated. Good job :)
@tomweiland
@tomweiland 4 жыл бұрын
Thank you, that means a lot to hear!
@iHouqLF
@iHouqLF 3 жыл бұрын
Your Videos are very Helpful! thx man
@tomweiland
@tomweiland 3 жыл бұрын
Glad to hear it!
@zacoons
@zacoons 3 жыл бұрын
Very epic my dude. Thank you!
@tomweiland
@tomweiland 3 жыл бұрын
Thanks :D
@gamopshot1150
@gamopshot1150 3 жыл бұрын
This Tutorial was really very helpful , I Didn't found such a good tutorial on youtube . Thanks :)
@tomweiland
@tomweiland 3 жыл бұрын
Glad to hear it :)
@djungelskogmemes
@djungelskogmemes 3 жыл бұрын
What version of unity?
@Enum_Dev
@Enum_Dev 4 жыл бұрын
Daddy Dani sent us here. Keep up the great work I subbed
@tomweiland
@tomweiland 4 жыл бұрын
Thanks for subscribing! Welcome to the community :)
@deltachanger714
@deltachanger714 3 жыл бұрын
Tom has been blessed by dani
@tomweiland
@tomweiland 3 жыл бұрын
:P
@italianchurrasco9746
@italianchurrasco9746 4 жыл бұрын
Ok so, I successfully set up a connection between my server and my client. Thank you! Only 10 videos more...
@tomweiland
@tomweiland 4 жыл бұрын
After the first 5 you'll have the core networking solution done. After that it's mostly examples for various mechanics, but we also fix a few bugs so it's still worth watching them.
@italianchurrasco9746
@italianchurrasco9746 4 жыл бұрын
​@@tomweiland I'm really thankful for the quality of your videos. I only have two videos left now. Great content!
@tomweiland
@tomweiland 4 жыл бұрын
@@italianchurrasco9746 glad you like them :)
@YulRun
@YulRun 4 жыл бұрын
Thankful that this is available to learn from, but if the goal is for absolute beginners to Networking with Unity, I suggest breaking the first video at least into 3-4 10 minute videos where you explain more why you're doing what you're doing, and what things are. It's at the pace that would be more for anyone already familiar with networking and what TCP/UDP Connections are, File or Network streaming is etc. Just a thought. Cheers.
@tomweiland
@tomweiland 4 жыл бұрын
I see your point, but when I started this series, my primary goal was to get it out there-there's tons of great info out there on how TCP/UDP work, but not too many practical implementations of it. Also, if I'm completely honest, I was a bit afraid of giving incorrect explanations, especially because the wording is often so important that it's really easy to say something that's technically wrong. The fact that I had just started making videos on KZbin probably also played into it. I did add a bunch of comments to the code on GitHub, and although that isn't a substitute for in-video explanations, you (and/or others) might still find it helpful. While I appreciate the advice and I actually agree with you, I'm not entirely sure what to do about it, besides remaking the series-which is not something I want to do.
@rosapink2390
@rosapink2390 4 жыл бұрын
This was awesome! I was able to learn, C# server creation, connection with client, Singleton Pattern and basic Unity UI. I like the way you explain. Like say exactly whats reading in the code with some comments on the idea of what is actually happening.
@tomweiland
@tomweiland 4 жыл бұрын
Thanks, I'm glad you like it!
@rorschacht8478
@rorschacht8478 3 жыл бұрын
I was gonna take a shot every time I had to pause the video. Glad I didn't cause I'd have alcohol poisoning at 0:20. Edit: Sorry I forgot to say thank you for these tutorials; straight to the point, nice quality, great volume, nice voice that doesn't burn my years. The only thing I'd critique is the font size of the IDE, would be nice if you had increased it just smudge as it can be kind of hard to read at times, especially since not everyone has GB internet and a 32" 4k monitor. *Sad 720p noises* Anyway, great video!
@tomweiland
@tomweiland 3 жыл бұрын
Hahahaha :P I increased the font size in later videos-I would've done it sooner but no one mentioned that was an issue for quite a while since the video wasn't getting too many views in the beginning.
@rorschacht8478
@rorschacht8478 3 жыл бұрын
@@tomweiland Yeah I'm further in the playlist now and the font size has indeed increased so that's awesome! Keep up the good work! Glad I found your channel.
@cdanek
@cdanek 3 жыл бұрын
Love the pace, two thumbs up. Small potential bug - Destroy(this) will destroy the component from the game object, not the game object itself (if that was your intent). Might lead to weird behavior either way, though, so I might suggest looking for the "real" instance and setting the member to that object instead of using destroy.
@tomweiland
@tomweiland 3 жыл бұрын
I can't remember what my intent was, so you might be right. Replacing _this_ with _gameObject_ should fix it though :)
@emnd4540
@emnd4540 2 жыл бұрын
Hi tom. Nice tutorial. And new subscriber here. Came from dani’s recommendation.
@tomweiland
@tomweiland 2 жыл бұрын
Glad you liked it, welcome to the community :)
@Havie
@Havie 3 жыл бұрын
Feel like youre a legend for making this
@tomweiland
@tomweiland 3 жыл бұрын
Thanks, but I just wanted to share what I know 😅
@horoclanfake8720
@horoclanfake8720 4 жыл бұрын
Not much of a feedback, but t's kinda funny how people get turned down by amount of brain-storm needed to understand networking. Just look at views/likes in following videos. Great content btw, networking handling came super easy with several episodes and basic understanding of networks and TCP and UDP protocols. Love your work! I really love how you made everything in code so clear and organised!
@tomweiland
@tomweiland 4 жыл бұрын
Haha yeah the number of views basically decays exponentially as you go through the series :P I'm glad you liked the tutorial. As for the organization part, wait until you see the upgraded solution I've been working on-it's _so_ much cleaner and easier to use!
@amitmalik5196
@amitmalik5196 4 жыл бұрын
Dani Talked about you are just awesome bro....awesome tut....
@tomweiland
@tomweiland 4 жыл бұрын
Indeed he did-I'm glad you liked it :P
@furkanbaldir
@furkanbaldir 3 жыл бұрын
Awesome tutorial! Thanks for the video!
@tomweiland
@tomweiland 3 жыл бұрын
Glad it was helpful!
@matthewparksjr3635
@matthewparksjr3635 4 жыл бұрын
Great video lightning McQueen!
@tomweiland
@tomweiland 4 жыл бұрын
Thanks, and sorry about the speed 😅
@thedude4039
@thedude4039 4 жыл бұрын
Can we just talk about how mesmerizing that water is?
@tomweiland
@tomweiland 4 жыл бұрын
😅
@konokdas1084
@konokdas1084 3 жыл бұрын
Dani learned from your video. Great job bruh...!!!
@tomweiland
@tomweiland 3 жыл бұрын
Thanks :)
@jackgilbride1401
@jackgilbride1401 2 жыл бұрын
Hi, this is an incredible series and tought me a lot. The only thing that I've really had an issue (if you can call it that) with is the annoyance of keeping the Packet class and other classes specific to my project up to date between the two projects. I'd suggest anyone having this issue look into creating a basic local unity package and removing the Package.cs from the actual project and instead using the unity package to share the file between both. This let's you edit the Package.cs exactly like you would normally but it saves between the projects.
@tomweiland
@tomweiland 2 жыл бұрын
Glad to hear it's been helpful :)
@silversurfer8057
@silversurfer8057 4 жыл бұрын
one of the best tutorials on the subject. my wish would be an advanced tutorial on individual areas. eg how to do the server search, or the lobby with chat / game start and co. i'm pretty sure that this channel will get a lot more growth ;-)
@tomweiland
@tomweiland 4 жыл бұрын
Thank you :) Believe it or not, those topics you listed aren't actually that advanced. I'm not saying you're dumb or anything, but once you get into the "multiplayer mindset" things like that become just as straightforward as singleplayer game mechanics. Debugging is always a little trickier because there's more places where things can go wrong, but as you get used to working with a multiplayer solution like this one, you'll start to wonder why you thought these things seemed so complicated. Just stick with it!
@jampakdd
@jampakdd 4 жыл бұрын
Bro its 2 am and I feel like ive just had 3 cups of coffee after watching this.
@tomweiland
@tomweiland 4 жыл бұрын
Did you manage to sleep at all then 😅
@jampakdd
@jampakdd 4 жыл бұрын
@@tomweiland only after some tea and distance from my computer :o
@tomweiland
@tomweiland 4 жыл бұрын
@@jampakdd hahaha 😅
@dragonminja246
@dragonminja246 3 жыл бұрын
Content quality 100% , but set speed to 0.75 at times you go so blazing quick man. Any company should pay you triple the wage for that working speed haha. Good job
@tomweiland
@tomweiland 3 жыл бұрын
Yeah sorry about the speed-the later videos are a bit better in that regard. Glad you liked it :)
@milosancheztv8432
@milosancheztv8432 Жыл бұрын
Wonderful tutorial !!
@tomweiland
@tomweiland Жыл бұрын
Glad you like it! However, this series is outdated and I'd recommend checking out my newer multiplayer tutorial series instead :)
@milosancheztv8432
@milosancheztv8432 Жыл бұрын
@@tomweiland WIll try ! But running into trouble installing it on my unity projects.
@mehmedcavas3069
@mehmedcavas3069 3 жыл бұрын
for the first time I have watched a video and finished it with out any errors :D
@tomweiland
@tomweiland 3 жыл бұрын
Congrats :P
@dr.albitros4242
@dr.albitros4242 Жыл бұрын
I know this is an old tutorial, but i'm trying to make a contact app using C#, and it's currently working on a console app on both sides. Very good tutorial
@tomweiland
@tomweiland Жыл бұрын
👍
Making MULTIPLAYER Games has never been EASIER!
12:49
Code Monkey
Рет қаралды 78 М.
🩷🩵VS👿
00:38
ISSEI / いっせい
Рет қаралды 18 МЛН
ISSEI & yellow girl 💛
00:33
ISSEI / いっせい
Рет қаралды 21 МЛН
Ik Heb Aardbeien Gemaakt Van Kip🍓🐔😋
00:41
Cool Tool SHORTS Netherlands
Рет қаралды 7 МЛН
Networking in C++
32:50
The Cherno
Рет қаралды 242 М.
A new way to generate worlds (stitched WFC)
10:51
Watt Designs
Рет қаралды 524 М.
Why Making Multiplayer Games SUCKS
6:46
Tom Weiland
Рет қаралды 418 М.
Гайд по Mirror мультиплееру в Unity 2д
18:29
Why You NEED a DRIVER (for hacking games)
8:03
cazz
Рет қаралды 451 М.
The Bingo Paradox: 3× more likely to win
30:15
Stand-up Maths
Рет қаралды 277 М.
Optimizing Settings in AI Voice Changer Client
14:32
Jarods Journey
Рет қаралды 566 М.
Tmux has forever changed the way I write code.
13:30
Dreams of Code
Рет қаралды 965 М.
How Hackers Bypass Kernel Anti Cheat
19:38
Ryscu
Рет қаралды 659 М.
How the Best Hackers Learn Their Craft
42:46
RSA Conference
Рет қаралды 2,6 МЛН
🩷🩵VS👿
00:38
ISSEI / いっせい
Рет қаралды 18 МЛН