Multiplayer In Unity3D - The REAL Options? (NEW unity networking & more?)

  Рет қаралды 106,034

Jason Weimann

Jason Weimann

2 жыл бұрын

bit.ly/3tu1o1G - Get the Stream Chat API for Unity!
gamedevguild.com - Register - Join us LIVE @ GameDevGuild
bit.ly/3sKGagG - Game Architecture Course
unity3d.group - Join the Group (facebook)
prf.hn/l/eQJQYdE - The Asset Store 70% off SALE!
/ @unity3dcollege - Join the Channel
prf.hn/l/wL9DlbY - FISHNet Download (seems highly recommended and free)

Пікірлер: 354
@NunSuperior
@NunSuperior 2 жыл бұрын
Multiplayer isn't as hard as you think. It's much much harder.
@zetachua352
@zetachua352 2 жыл бұрын
How so? Im new to this and planning on getting started on it
@richardbeare11
@richardbeare11 2 жыл бұрын
Take the complexity of every mechanic in your game, then multiply the time and complexity by 2, or 3. Deciding when, and how, to sync game objects (e.g. who's the owner? Who effects what objects and when? What happens if someone joins late? How/when do you update/sync objects/params without bogging the network) scripts variables/params, debugging/testing with multiple machines. Just like anything, it seems simple conceptually, until you start needing to implement it yourself haha. It's totally worth doing, but start small! It can be a fun process if you are patient and persistent. Actually, I'll pitch this: If you want some help to get off the ground, I offer 1 on 1 sessions (developer support) as a side hustle (I used to work as a Unity instructor at Circuit Stream). There's also some great tutorials on PUN. I use PUN and it's great if you are making basic stuff with smaller #s of players and don't require super low latencies.
@creepybrainz4840
@creepybrainz4840 2 жыл бұрын
@@zetachua352 im working on online game for mobile.. The multiplayer system is too easy don't listen to people that say multiplayer is hard.
@gameacode1075
@gameacode1075 2 жыл бұрын
@@creepybrainz4840 I agree with you it’s not easy but that’s normal gamedev is never was easy , I think that people are generally programmed from other’s, and they say it’s hard even they didn’t experience itself.
@cahydra
@cahydra 2 жыл бұрын
Oh no, well it can't be that bad right?
@360axe
@360axe 2 жыл бұрын
Congrats on another excellent video Jason! The timestamps to help out everyone are: 00:53 UNnet (Deprecated) 01:34 Mirror uMMORPG 03:08 Stream (video sponsor) 05:01 Photon Fusion - Bolt - Pun 07:05 Unity 08:47 Fish-Net 10:16 Dark Rift 2 11:00 Smartfox
@wiglord
@wiglord 2 жыл бұрын
Working on a small scale (playercount) social mmo using fishnet. I have worked with mirror and ummorpg/2d in the past, but switched over to a scratch build co-op system with MLAPI back when it was first coming up, where I learnt most of my multiplayer coding. But the rapid changes during its development made me seitch back to mirror where i discovered fishnet. After switching to fishnet the first thing I discovered was just how smooth the server auth/client prediction was and how much nicer it felt than anything I had built previous. Haven't gone back. I have tested out basic builds with 8 players and over 250 AI all moving around on a live server and it was still just as smooth.
@StudiozYT
@StudiozYT 2 жыл бұрын
Thanks for the incite! I will definitely look into fishnet
@holdthetruthhostage
@holdthetruthhostage 2 жыл бұрын
I think Epic Online Services is the best option no limits free
@TheArthy01
@TheArthy01 2 жыл бұрын
I am using Mirror at the moment but i just read the documentation and benchmarks of Fishnet and i will swap to it now, it somehow looks like its more fun and a bit easier to develop with it. And i like the fact that they have an official roadmap which also includes an video tutorial series.
@olodurin6942
@olodurin6942 Жыл бұрын
which video series? Mirror is good but has few tutorial ..
@sdhority
@sdhority 2 жыл бұрын
Straight up read my mind. Was literally combing through your videos for some multiplayer stuff this morning. Thank you!
@aggressivemastery
@aggressivemastery 2 жыл бұрын
mainly using Unreal Engine networking, after hearing unity's ONE network dev talk about how "Games and Multiplayer are hard, Network is hard" in 2019... I had to just give up on unity and go to unreal. God bless you for helping the pain unity provides. God speed GameDevs!
@drakorez
@drakorez 2 жыл бұрын
I really appreciate that you are both a knowledgeable person who shares what they know, and also open to the idea that you don't know everything. One thing that drives me insane is people acting like they are the ultimate expert in something, and after you do what they suggested for a while, you learn that they were overselling their knowledge and sent you down the wrong path. I appreciate that you are clear about what you know, what you think, and what you need to learn more about.
@Jinjer188
@Jinjer188 2 жыл бұрын
recently I've been using Nakama for all my games. Paradox is apparently using it for their grand strategy games. it doesn't have fancy features like physics simulation, prediction, lag compensation, etc. But it's performant, open source and easy to use. It's perfect for small games, turn based or any game that doesn't require physics sim or complicated animations like first person shooters. Photon is definitely easy to use /setup , but it gets expensive fast! Nothing beats open source! :D
@ShinichiKudoQatnip
@ShinichiKudoQatnip 2 жыл бұрын
I have been waiting for such a curated video for so long now 😭 Thank you so much ❤️
@PitiITNet
@PitiITNet 2 жыл бұрын
Jason, you seriously are the start. Thank you for letting me know about Fish-Networking - I will definitely dig deeper into it! :)
@achery323
@achery323 2 жыл бұрын
Using Nakama at the moment as our internal teams found that the most useful for our applications over others mentioned in the chat. What stands out there is needing multiplayer control across different platforms all in the same session like Unity and a website all synchronised.
@aibor_io6871
@aibor_io6871 Жыл бұрын
Oh nice, I was planning on using Nakama for a later project, how is it working for you?
@achery323
@achery323 Жыл бұрын
@@aibor_io6871 Working really well. It's much better now with developing TypeScript modules instead of Go for the team. I'd recommend using the command pattern to simplify things a lot on the client end or JSONPatch if you want to maintain the full game state centrally. Depends on your application. Hope that helps!
@aibor_io6871
@aibor_io6871 Жыл бұрын
@@achery323 Thank you , this was quite helpful , thank you will look into the command pattern
@ziedsioud3313
@ziedsioud3313 2 жыл бұрын
I am currently working with Fusion on an FPS game, I've started when fusion was still in beta, and now there is a stable official version, it's kinda have everything needed for a fast paced game with the tick rate system, it s confusing to use at the beginning but once you are used to it you won't have any trouble doing what you have in mind
@ElatedBlue
@ElatedBlue 2 жыл бұрын
So glad this video came up; I've been trying to decide on how I want to handle multiplayer in my game 🤔
@njs-tv6565
@njs-tv6565 2 жыл бұрын
Ive been using Photon Pun for a month now for a multiplayer shooter, I think an important thing to mention is that photon aint free if youre planning doing anything other then prototyping , the costs monthly spike pretty quickly if youre getting more then 100 ccu's
@MartinHolan
@MartinHolan 2 жыл бұрын
Hey, I'm kind of new into online multiplayer and started my game with Photon Pun, which I find quite easy to use. In early phase I've decided that I would like game to hit Steam and utilizing Steamworks features (not expecting any success, but want to proof myself that I'm able to finish the project) and thus now changing it to Mirror due to existence of Steamworks libraries for Unity. I believe it's always important to understand what are the options and select proper tool for the right job - thanks Jason helping us all with this understanding 👍
@AEjlersen83
@AEjlersen83 2 жыл бұрын
The last one I used was Quantum from Exit Games. The guys that made Photon and Fusion. It was a different experience, since you make all the game logic in Quantum and not in Unity. However, when you get used to it, it feels like making a single player game.
@ryanharbert9415
@ryanharbert9415 2 жыл бұрын
Quantum is awesome. Its deterministic so you only have to sync inputs instead of trying to sync everything in the game constantly. It makes anticheat, replays, reducing lag and data sent, and more incredibly easy. Same patterns that they use to make Overwatch incredibly smooth.
@dworm123
@dworm123 2 жыл бұрын
@@ryanharbert9415 Does it have authoritative server? Is it viable for games simulated on server side with unity only for front end?
@ryanharbert9415
@ryanharbert9415 2 жыл бұрын
@@dworm123 Yeah but you don't necessarily need it. Inputs are all validated so the cheating player will only mess up their own experience.
@bidyo1365
@bidyo1365 2 жыл бұрын
@@ryanharbert9415 thank you for your first message, I now have an idea in the future about to make an online game smooth as possible 😯... because in the future I want it to be smooth as possible... because I have tried to play a private server that has very ugly outcomes when you are lagging, all things are like freeze and freeze while that same game but other private server when I am lagging, I can still move and hit players which is much better then after my ping came to normal the player that i hit on, just get killed and they are shock haha that's the kind of network I want, instead of those movements of players that are basing on your internet 🤮
@CasualTS
@CasualTS 2 жыл бұрын
Yeah it seemed intriguing. I want to check it out at some point. The only thing is finding the time to evaluate it, and I'm definitely worried that it's so different it won't integrate with any other Unity libraries.
@cradle_of_chaos
@cradle_of_chaos 2 жыл бұрын
I've been using Unity's Netcode for GameObjects: it's now quite stable although still in pre-release and is very similar in its design to UNet/Mirror. The bite sized samples and Boss Room are useful too and regularly updated but looking for specific examples is still less easy than with Mirror as the solution is more recent. All in all I'm OK with my choice and hoping that the (very responsive) Unity networking team will make performance improvements, client-side prediction and NavMesh integration their priorities over the next few months!
@mikekozlov3484
@mikekozlov3484 Жыл бұрын
9 months later, still nothing from this is implemented.
@cradle_of_chaos
@cradle_of_chaos Жыл бұрын
@@mikekozlov3484 Performance markedly improved in the last few months. The team has also started exploring the facilitation of host migration (see GitHub issues) but yes, for client-side prediction and even better performance currently FishGames is still the solution of choice.
@mikekozlov3484
@mikekozlov3484 Жыл бұрын
@@cradle_of_chaos Yep, rewriting my proto from Netcode to FishNet right now.
@tailwindmechanics7454
@tailwindmechanics7454 2 жыл бұрын
Mirror also have a dots focused solution that seems cool. This was well timed for me also as I'm currently trialing Mirror, its been fine so far. Being that I don't have any major network requirements, all I'm looking for is a service to just get out of the way and that won't break the bank. Most of the work for me at least is building a robust abstraction in order to prevent the networking app from polluting the other codebase systems. And Mirror is actually worse for that than PUN, but both are guilty. I'll try fishnet next, then fusion
@benjaminswee-shaders
@benjaminswee-shaders 2 жыл бұрын
I've also experinced working with Photon, super quick to get simple testing going. Thanks for sharing!
@MrQuaidReactor
@MrQuaidReactor 2 жыл бұрын
I'm using Photon PUN, and for the first time on my new project. Having never worked on multiplayer I found PUN pretty easy to get. I am still learning some of the advanced lobby and room things, but as for implementing gameplay systems and syncing I find it great. The default photonview stuff works great and is very proformant. Thier team is also great, I had a few questions related to cost and they were very helpful. I will say that the cost system is a bit complicated for someone new to multiplayer.
@LuukDomhof
@LuukDomhof 2 жыл бұрын
The biggest problem I ran into with PUN back when I used it (5+ years ago) was that you had no control of the server and no way to make an authoritative system. Which is a big problem for cheat prevention. Obviously not every game needs that kind of cheat prevention, but it was a big turn off for me. Though perhaps they've changed their product :)
@howl2339
@howl2339 2 жыл бұрын
Aw man, i can't stop looking at the lamp, it is the third time i look at the video XD
@GoogleDothBetray
@GoogleDothBetray 2 жыл бұрын
I am definitely looking forward to some Fusion tutorials, I didn't get the chance to use PUN, I went from unet to mirror. I've been tinkering with Fusion and it's a bit of a pain going back and forth between the examples, the documentation and my own code.
@DoorBuster21st
@DoorBuster21st 2 жыл бұрын
I used photon pun v1 for my first time using networking inside unity. seemed to work pretty well once I understood the netoworking concepts and how to bes implement things. I think I had more problems relating to game architecture that caused headaches with networking rather than the networking itself.
@MrOmega-cz9yo
@MrOmega-cz9yo 2 жыл бұрын
Hi Jason! Thanks for the vid. The information is much appreciated!
@re4727
@re4727 2 жыл бұрын
I love how we could experience througout Jasons videos how his room evolves. Im from the "big white lamp in the corner era". You guys?
@Hastag_AgB
@Hastag_AgB 2 жыл бұрын
Love ya, Love your show... Started vr social app using pun2. Setup was easy and seems to work. Have yet to stress test.
@AmfistomosAtlas
@AmfistomosAtlas 2 жыл бұрын
Duuuue! I haven't watched your videos in a while and today I came back, and boy.... Great content as always but man.... WHAT on earth have you done with your background space?! xD
@r.gtz.4521
@r.gtz.4521 2 жыл бұрын
Jason, I was really looking for not-outdated multiplayer options that would integrate well with unity and have been avoiding the subject (because I expected it to be a huge ordeal). with these options though, I at least have a starting-off point that I can focus on. thanks!
@publicalias8172
@publicalias8172 2 жыл бұрын
Fusion is a gamechanger really, bringing AAA options available to smaller studios at a great price it's huge.
@dominuse-sports2764
@dominuse-sports2764 2 жыл бұрын
ya I have to agree with "public alias" look at photon fusion, it is the future for indie devs not ready for backend dev.
@TheOtherClips
@TheOtherClips 2 жыл бұрын
@@publicalias8172 I tried it and it seems like a mess... You had better luck with it? Mostly I find that it lacks the input checks that a closed source project requires and it just throws nullpointers when I do something wrong with references to lines in code I can't see.
@yashikgulati3757
@yashikgulati3757 2 жыл бұрын
Jason, I really love your content and has helped me a lot in game development. I just want to give you a small feedback for your videos. The red rotating light is a little distracting. Just a thought you might consider. Keep posting videos , we love it.
@buffoverflow
@buffoverflow 2 жыл бұрын
lol, so I am not the only one that gets hypnotized by that thing...
@UeliMcStueli
@UeliMcStueli 2 жыл бұрын
I use DarkRift 2 and I'm really happy with it. The Support in the Discord Server is very fast and the community is great (grows every day). DarkRift 2 is very easy to setup and to use. You can make a console based server or a headless unity server (build the server directly in unity). And there are other cool functions ready to use :) The devs of DR2 have some cool plans for the future :D
@Haxel0rd
@Haxel0rd 2 жыл бұрын
I looked at DarkRift too, looks solid indeed! The only reason i went with Fishnet in the End is because DarkRift at time was not free, and i didn't see if it has client side prediction. But definately still on my list!
@thedudeguy242
@thedudeguy242 2 жыл бұрын
Another mid-level option if you don't want to directly wrap your TCP/UDP, you can try using a transport layer like Lidgren to handle different channels and ordering messages for you without abstracting away all of the serialization and engine-specific stuff
@galahad4514
@galahad4514 2 жыл бұрын
I'm currently using Yojimbo, it was made for c but it has a nice layer for dotnet. It is quite easy to install. One problem is that there isn't much documentation, so the whole security thing might be a problem, unfortunately I haven't experienced it in production yet, we'll see.
@forerunner9729
@forerunner9729 2 жыл бұрын
Using Forge Networking on a project of mine, a multiplayer railways simulation. Its handling everything I have needed it to so far and has been easy to work with
@hunterdyar
@hunterdyar 2 жыл бұрын
I’ve had students make multiplayer VR experiences easily (easily enough for students) with Normcore. Not sure how well it’s documented since it’s not super widely used, but the creators have gone to release a vr esports title, Nock, for the quest.
@nootherkyle
@nootherkyle 2 жыл бұрын
how you verified with such low sub count ?
@TheGamerzXChannel
@TheGamerzXChannel 2 жыл бұрын
could you give some more feedback since the normcore itself is not widely used and it looks nice from what i checked their docs. Im trying to build a VR game either probably in Normcore or FIshnet, any suggestions? :)
@MegamanXGold
@MegamanXGold 2 жыл бұрын
Photon was mentioned. Specifically I use PUN2 and I like it. Initial set up isn't great, but once you get going it's pretty good for our game. Haven't made anything like an FPS though. It seems to handle synchronizing many GameObjects at a time well, and it supports immediate and buffered RPCs. I've never used anything else, though, so I'm excited to see what Unity has to offer!
@maxkratt
@maxkratt 2 жыл бұрын
I've been building a game in Mirror, and once it "clicks" it becomes very easy to make good progress. I'm now converting the project to FishNet and I've been enjoying FishNet as well. Mirror's community is bigger currently, and there are more resources available for it, but FishNet's community is increasing steadily and the developer is a great guy who is eager to listen to suggestions and offers lots of help.
@GemTappX
@GemTappX 2 жыл бұрын
What's your game about?
@maxkratt
@maxkratt 2 жыл бұрын
It's a remake of Notch's entry to the 22nd Ludun Dare, Minicraft. I'm using it as means to learn networking in Unity. I think it's good to get a grasp of the basics before attempting to build my own game.
@user-hn1bw2xp6m
@user-hn1bw2xp6m 2 жыл бұрын
Hey, nice vid, thanks! For us - we are using Smartfox. I don't know about others libs, but smartfox provides cross-platform support, which is what we need for our projects - used for pc, mobile and almost all consoles
@maximasxavier6969
@maximasxavier6969 2 жыл бұрын
The following video might be "The best networking stack for the different game genres". FPS, MMO, Battle Royale, Fighting, Casual, etc. Or maybe by different session types; turn-based, session-based, and persistent world.
@mundovtor
@mundovtor 2 жыл бұрын
I actually use node js to make a server and a socket io client in unity to connect to it. May not be the best system, won't work fast, but it's my system and I love it. It's quite easy to set up too and It's flexible as hell.
@unhealthytomato3219
@unhealthytomato3219 2 жыл бұрын
can you define wont work fast? I am thinking of using something similar and I would like to know if I can stay on websockets or move to another solution
@mundovtor
@mundovtor 2 жыл бұрын
@@unhealthytomato3219 it's more of a theory as everything about web sockets seems to be more centered in online chats and stuff. I've done tests with up to 5 players with a basic player that moves and talks to npcs and it works great, the latency seems fine too. If you are not going to use it for an mmo I'd say its great, especially because you do all the logic :)
@sunnyboy7358
@sunnyboy7358 2 жыл бұрын
FishNet is definitly the best and easiest solution ! Server Authoritive movment ? Just drag the script in, connect your input and the transform output aaaaand done.... God i love this asset !
@foolishgamer5084
@foolishgamer5084 2 жыл бұрын
Tom Weiland, who also has a channel on youtube just released Riptide networking. I have used it successfully to create authoritative server multiplayer. Its free and easy. You still need to implement client prediction and lag compensation on your own, but the plumbing is all there.
@jTinVR.
@jTinVR. 2 жыл бұрын
the best thing with pun has to be the google results, most questions/solutions have been answered via google, testing fusion and fish atm so far fusion is winning
@MidnightSt
@MidnightSt 2 жыл бұрын
Until now, Mirror seemed good, and I was planning on using that one in my project. Oh, mentioned as a second one, cool :) Curious to see and explore other options, and possibly how the new builtin networking is going along, because I would really like to use the builtin stuff, if it's not bad anymore. But in general, I prefer using builtin stuff before using plugins, most of the time if the builtin stuff does all you need passably, it's much better option than a plugin which does all you need perfectly, because... Well... every plugin adds its own maintenance complications, always.
@PlayU2U
@PlayU2U 2 жыл бұрын
A Review on FishNet in Asset Store: I've been waiting a long time for a networking solution like this. I'm just glad it's finally here. I've tried Mirror, PUN, Photon Bolt, Netcode for GameObjects (MLAPI), Mirage, Forge. All of them have major hang-ups for one reason or another. Each one of them suffers from various downsides like legacy code, disorganization, or weird ways of doing things. But FishNet? The code base is clean. Like really, really, really clean. And even though it's simple and clean™, it still has all the features you want, and then some. Don't get me wrong, those other networking solutions have their strengths, for sure, but FishNet just takes all those strengths and bundles them into one package. Sure, Mirror is easy to use... it's just that FishNet is even easier to use. Photon Bolt is fast... but FishNet is even faster. Unity's Netcode for GameObjects is architectured well... but FishNet is just architectured even better. I cannot say enough good things about this networking package. It's just so good, and you should try it.
@zetachua352
@zetachua352 2 жыл бұрын
Thanks!!
@mementomori7160
@mementomori7160 2 жыл бұрын
Now I really know what to try out
@nathanmiguel76
@nathanmiguel76 2 жыл бұрын
So fishnet is better than MLAPI 1.0 right?
@PlayU2U
@PlayU2U 2 жыл бұрын
@@nathanmiguel76 this is someone else's review I copied for new comers to multiplayer games!
@trunghieu974
@trunghieu974 2 жыл бұрын
I've read about FishNet, but just wonder about using it on production project. becase it's just new package, it've just been released for few months.
@voidcatgames7074
@voidcatgames7074 2 жыл бұрын
Thanks for your video! You helped us a lot!
@headstart3570
@headstart3570 2 жыл бұрын
Amazing video thanks Jason, a great jumping-off point
@erickpassos
@erickpassos 2 жыл бұрын
Hi Jason, one of the developers of both Fusion and Quantum here. Thanks a lot for the kind words about our stuff. We try to always keep an eye on feedback and informational videos like this of yours. Anybody who is interested can drop a question bellow here. I’ll try my best to answer timely.
@reinhardtweyers9720
@reinhardtweyers9720 2 жыл бұрын
Hey Erick, Long time PUN user (Both 2D and 3D) I noticed that PUN was horrific for 2D Platformering Physics and player synchronization and was curious if Fusion would be a significant step up? Also, what is the learning curve going from PUN 2 -> Fusion, as it feels a bit daunting having to re-learn the wheel. I look forward to your feedback :)
@erickpassos
@erickpassos 2 жыл бұрын
@@reinhardtweyers9720 hi. Fusion has nothing to do with the way PUN works. It's a discrete ticks-based architecture that is designed for these games where accuracy is paramount. We recently released a sample called Razor Madness that loosely inspired by super meat boy vibes/mechanics. It should give you an idea of how to do 2D platforming with its APIs.
@reinhardtweyers9720
@reinhardtweyers9720 2 жыл бұрын
@@erickpassos thanks for the input. Will have a look into it 🙂
@muhammadinaammunir6761
@muhammadinaammunir6761 2 жыл бұрын
Is there any good tutorial for Quantum. There is nothing available on website.
@badscotsman
@badscotsman 2 жыл бұрын
Photon PUN is great for devs new to multiplayer so I'm interested to see how Fusion works out in this regard. I've also used SmartFoxServer2X and it's solid (long history, was big for ActionScript Flash games back in the day - its AOI feature is still a pretty unique offering). Sadly Heroic Labs Nakama server was not mentioned since it is an open-source offering (not many out there) but also used for huge games (like by Zynga) - currently using on a client project that needs to support 40k CCU. ^^
@CasparovJR
@CasparovJR 2 жыл бұрын
I'm assuming you are running Nakama on your own hardware? If so, what are your server specs to achieve 40k CCU?
@krammehl
@krammehl 2 жыл бұрын
I wrote my own UDP networking engine with p2p capabilities after having a miserable experience with bolt. great video!
@MacGhriogair
@MacGhriogair 2 жыл бұрын
Back in the day when I was smart, I built my own networking code for XNA. It was a lot of fun figuring out how to get things to work and working with multiple threads. I've been looking to get back into gamedev. But I'm old now, so I don't have time to build multiplayer again... I might have a peek at Fishnet
@stefan429
@stefan429 2 жыл бұрын
Having used both fishnet and mirror, fishnet Def seems like the better choice atm. Much more performant and stable (fn docs provide ways for you to test and prove this yourself)
@GemTappX
@GemTappX 2 жыл бұрын
What kind of game are you developing with fishnet?
@andriusbendoraitis3171
@andriusbendoraitis3171 2 жыл бұрын
The way fn docs compare themselves to mirror in the docs is so disingenuous though. Makes me wonder what's the quality of the provided tests.
@FirstGearGames
@FirstGearGames 2 жыл бұрын
@@andriusbendoraitis3171 Can you please elaborate? Far as I am aware everything in the documentation is true. If there is outdated information about Mirror please let me know and I'll fix it. Please keep in mind I only update Mirror's information based on store releases. But if you are curious about the tests, run them yourself. I've provided all of the information to do so with the results.
@andriusbendoraitis3171
@andriusbendoraitis3171 2 жыл бұрын
@@FirstGearGames I mean, I'm sure all your claims in the docs are correct at least to some level. They just seem like they were written to fill a page with nice green text, rather than to genuinely explain the differences and advantages of Fishnet. Phrases like "Fish-Networking uses 93% less bandwidth, a very drastic difference!" makes me feel like you are heavily overselling something. (Unless it is actually a representative number in real-world scenarios, then hats-off, bright future for Fishnet!). Sorry for being vague, I don't really have the time to test everything rigorously, to give you more specifics. Best of luck with the project!
@FirstGearGames
@FirstGearGames 2 жыл бұрын
@@andriusbendoraitis3171 I've been hearing Mirror supporters (not implying that's the case here) say this for awhile. The only discrepancies which may exist are if Mirror updated their product with a feature or improvement I was not aware of. Being that I do not use Mirror anymore, I encourage others to notify me when this becomes the case. I'll try to summarize an explanation to your concerns in few words as possible... The features comparison only glazes some of the features FishNet has compared to Mirror. I've left many other unique and quality of life features out because it was difficult to give them a name without creating a large description of what they do. As you pointed out, it's mostly just feature titles without a description of why they are helpful. Though, seeing someone actually spell that out for me makes me believe I should improve upon that as soon as possible. The performance comparisons are also very real. The part you mention of 93% less bandwidth is specifically about RPCs, which the documentation states. If you are looking for an actual real-world scenario benchmark you can check out fish-networking.gitbook.io/docs/manual/general/performance/benchmarks/fish-networking-vs-mirror - how to test this yourself is found with the results. There is also a #user-benchmarks channel in my Discord where naturally, users can post findings of their own tests. Here's the summary on my benchmarks by the way: - Client FPS: FishNet clients achieved 70% more FPS than Mirror. - Bandwidth: FishNet used 67-78% less bandwidth than Mirror. - Server Performance(200 CCU): FishNet retained 92.6% server performance, while Mirror retained only 16.8% performance. Let me know if you have any questions. PS: I've been in the process of updating the documentation. If you want to review the full changes please check back a few more days from now.
@andythedishwasher1117
@andythedishwasher1117 2 жыл бұрын
So I'm working on a competitive physics game with force-based movement where the collision data between players is the primary factor in who wins. It all happens with extremely simple shapes in a box, but I'm having a terrible time getting the camera controls to network properly. I first attempted to do it with PUN, but their docs confused me horribly, so I removed all the PUN code and decided to switch to Mirror. I found the docs a lot more useful, but I still can't get the camera controls to network properly. I'm parenting the camera to the player object and trying to spawn it in with the player, but my movement controls are integrated with it and when it spawns in, I can look around, but it won't move with my player. Also, when other players are spawned in, their cameras don't seem to spawn at all. I'm hopelessly confused.
@banzaimimic
@banzaimimic 2 жыл бұрын
I'm using DarkRift 2 with Unity. Thanks for the vid very helpful.
@bdd740
@bdd740 2 жыл бұрын
One of the best video ever. Thanks a lot Jason.
@twosoulfox
@twosoulfox Жыл бұрын
Thanks for talking about these topics.
@GiantBean
@GiantBean Жыл бұрын
I have used Mirror, Colyseys, PUN and FishNet. I hated Colyseys didn't care for PUNs pricing and didn't do more then play with it before moving on. I accomplished a lot with Mirror and I am really liking FishNet so far. I would recommend Fishnet to anyone looking to get into networking but it still (Nov 2022) needs more documentation and you may need to play with other tools like mirror just to understand some networking basics.
@kylo1275
@kylo1275 2 жыл бұрын
I know mirror & photon This video is helpful & learned a lot of stuff about alternatives & which is best.
@calccalccalc
@calccalccalc 2 жыл бұрын
Using PUN 2 in production and moving to using Fusion. Currently doing multiplayer VR events and minigames. PUN 2 is easy to use, but Fusion has a lot more features, and a heck of a lot more power, so I will be switching to it. Oh, and physics in fusion is handled in a similar way to something like Rocket League.
@StillCisTho42
@StillCisTho42 2 жыл бұрын
Hey! Have you found some tutorials for Fusion, I also use PUN 2 and I'm trying to make the jump but a lot of the links inside fusion documentation page are dead for some reason. Also, how was your experience? it is that much better as everyone says?
@philiplindner5150
@philiplindner5150 Жыл бұрын
I'm going to use Photon Fusion for my FPS with up to 20 players per game. Big advantages are scalable pricings, many optionally services and nice documentary about the netcode. It's also a quite new "technology", released in the last year's, so you're up to date :) To compensate the monthly costs for this service, players can rent a server and run it as an public server. Obviously there is no possibility to setup a public dedicated server from a player, only private ones to play with invited friends.
@LuzuVlogsGamer
@LuzuVlogsGamer Жыл бұрын
This was really usefull especially with the New Unity Networking system update.
@VaibhavShewale
@VaibhavShewale 2 жыл бұрын
quite informative and simple
@CG_CAKE
@CG_CAKE 2 жыл бұрын
Thanks very much!
@PESCADORSHOES
@PESCADORSHOES 2 жыл бұрын
A necessary video. Thanks a lot Jason
@silasstarr7674
@silasstarr7674 2 жыл бұрын
I use Tom Weiland's Riptide networking solution. It's a bit more advanced than normal (i.e. it's purely code-based and doesn't have a simple component to apply to gameobjects that automatically works), but it allows for complete customization of networking. It has built-in RUDP and is completely open-sourced. It's still new but works phenomenally so far, and it has great tutorials made for it. Definitely would check Tom Weiland out on youtube!
@paulscott88
@paulscott88 2 жыл бұрын
Colyseus has compatibility with a bunch of engines, including Unity. Good management for rooms, state, and normal message. Ok matchmaking, and compatibility with reddis out of the box. Though a case of needing JavaScript as another language.
@amirhoseinadlfar3102
@amirhoseinadlfar3102 2 жыл бұрын
I am writing a source generator for Unity Transport to make serialization easier. And I think using Unity Transport with DOTS will be a better performance for big games. But without source generators, it will not have much speed in the development process and as a result
@rambii.
@rambii. 2 жыл бұрын
I am using Mirror for my open world anime RPG game to add some multiplayer features to it. If possible I might expand that to do much more such as having more people sharing the same world. I might download the uMMORPG to get a better idea how they did it and they to do it on my own
@ImperialMarque
@ImperialMarque Жыл бұрын
I've Used Mirror and Pun 1 and 2 and I love PUN personally.
@dota2adsc653
@dota2adsc653 2 жыл бұрын
Hello, I would like to know if they mentioned an improvement in the network system to develop rts video games.
@kevonboxill9455
@kevonboxill9455 2 жыл бұрын
I still use photon Pun and i think it is really great for small multiplayer games, the hashtables format for sending game room data takes a bit getting used to for beginners but everything else is very noob friendly
@StillCisTho42
@StillCisTho42 2 жыл бұрын
hey! I'm developing a small game too, was the PUN free plan enough for your player base or did you need to buy the pay version? I got a prototype version of my game running on photon, 4 players by room, I'd been looking into Fishnet lately but Photon is so much easier, or I got used to it at least.
@IcekiddGaming
@IcekiddGaming 2 жыл бұрын
So Mirror would work well for a turn based strategy or something along those lines?
@Syrul
@Syrul 2 жыл бұрын
what about Normcore? anyone used it? any opinions on it?
@Frenuellcrackser33
@Frenuellcrackser33 2 жыл бұрын
I used SmartFoxServer for a game. I like how easy it is to implement and use, all you have to do is drag a .dll into the project and it works. It doesnt really bring a lot to the table however. You have to host you own server and also manage everything on your own. Like there is no network transforms or RPCs. You would always send player variable updates to the server and every client would receive them and you had to implement your logic based on that. Works with 2D, 3D, everything but I dont think it is really scalable/managable for bigger projects. At least that is how I understood it and I looked quiet a lot through the documentation. The documentation is actually pretty decent but next time I will definitely go with something else. Probably going to try FishNet ;D
@ppivec
@ppivec 2 жыл бұрын
I also use SmartFox and currently creating a Unity OpenWorld asset that is based on SmartFox Server and Game Creator.
@shilpashreen8995
@shilpashreen8995 2 жыл бұрын
Jason , i was really looking for canvas button should work in multiplayer which works using single player camera. do please share if anything is availabe
@GamesOfVaibhav
@GamesOfVaibhav 2 жыл бұрын
I'm also curious about the Steam Networking solution🤔
@borzonstudios8638
@borzonstudios8638 2 жыл бұрын
What do you guys reccommend for a coop game? I just want to be able to have 2-4 players max in a match (wave survival game)
@corey6796
@corey6796 2 жыл бұрын
Im using TNet3. Would have like to see it in the list.
@CCV334
@CCV334 2 жыл бұрын
I’ve used normcore and it’s been good. They even have a sample VR project.
@ebenknot
@ebenknot 2 жыл бұрын
Nice video! what do you think can be the better option for an io game? The problem of an io game is that alwaysd has to be rooms crerated for people enter the game easy and quickly, and if a room get full, create new one with some bots to let new players enter the new room.
@JohansMedianero
@JohansMedianero 2 жыл бұрын
Thanks for the video. In other words, Photon is the best alternative. Right?
@XxIanEstebanxX
@XxIanEstebanxX 2 жыл бұрын
Jason it would be great if you make a tutorial on how to get started with fusion. There are tons of tutorials for PUN out there, but nothing on how to get started with fusion.
@squitz7056
@squitz7056 2 жыл бұрын
what about unity's transport layer? I use it exclusively. It's the easiest to understand as it just sends bytes over. The work is a bit much but you have the finest level of control. Nobody seems to know it?
@cetiah
@cetiah 2 жыл бұрын
I just started learning networking a bit and I've started with Mirror since that's the one I found tutorials for. Dark Rift 2 has been recommended to me on Discord, but I don't know any specific pros or cons.
@steven3314
@steven3314 2 жыл бұрын
I also use Mirror, lots of tutorials, and there exists a book about building MMO using it!
@1lsgaming27
@1lsgaming27 2 жыл бұрын
A great free option is Photon truesync. It's a deterministic lockstep framework with code thats pretty much the same as monobehavior, except its called truesyncbehavior. Its open source so if you want to modify or optimize it, you can do so in c#
@JacobS-rh7tb
@JacobS-rh7tb 2 жыл бұрын
Smartfox 2x here. We've been over 10k CCUs and it's really reliable (monoscene game, 20-25 players per instance). Mirror has some impressive projects using it as well, seems to be solid.
@hawkgamedev
@hawkgamedev 2 жыл бұрын
what kind of game do you have if you don't mind me asking.
@yugao2619
@yugao2619 2 жыл бұрын
We are using fusion and its very good so far
@ilikesnow
@ilikesnow 2 жыл бұрын
Great info as always! Curious what your thoughts are about Epic Games online services? Saw another video that highly recommended it. Thanks.
@LesP56
@LesP56 Жыл бұрын
Question, I need to learn everything I can about using a Photon Server (currently experienced with C# and Unity). I've looked on Udemy etc. and KZfaq and haven't found much. I saw one Udemy course
@KeyboardKrieger
@KeyboardKrieger 2 жыл бұрын
I worked with mirror and photon for some prototyping, but now I make my own system. My game is turn based so the traffic is low and it doesn't matter if it's slow. All the paid options charge too much for the things I just need. So SignalR it is for me. Simplest way would probably be to abuse such messaging services like your sponsor and send json data instead of chat messages xD
@KazimierzLuska
@KazimierzLuska 2 жыл бұрын
If you want to roll up your own server I am using RiptideNetworking by Tom Weiland for my small puzzle game. It is open source and written by a single person so it will not have many bells and whistles but a big benefit of it is that it's C# so if you want to have domain logic on the server without needing to learn another language this might be a good choice for you ;)
@BadBanana
@BadBanana 2 жыл бұрын
I'm going into Tom's stuff next year when I begin my course. It will be useful to see how he has done things compared to cs
@KazimierzLuska
@KazimierzLuska 2 жыл бұрын
@@BadBanana There are definitely things that I like in it (simplicity and relative ease of making the library do what you need it to do) and other ones I might not recommend in a project that's anything but a prototype (static only message handlers) but it is a good thin server library and with a bit of refactoring it's easy to make it do what you need.
@hawkgamedev
@hawkgamedev 2 жыл бұрын
@@BadBanana I love Tom's content and appreciate what he does for the community, but, aren't you afraid of investing your time and devotion to learn something that depends on 1 single person? I'm just saying
@sarthakbapte6301
@sarthakbapte6301 2 жыл бұрын
UNet is just.... aah those were the times..... of networking spaghetti....
@kingselx
@kingselx 2 жыл бұрын
Can I ask which of these can be used to create a local hostspot/wifi game for Android
@popuzin
@popuzin 2 жыл бұрын
we used EasyWiFiController from AssetStore for a such task. Obviously, it had less lag than Photon PUN
@rocamorapiano1
@rocamorapiano1 Жыл бұрын
Hello. If I want to create a videogame similar to chess but for 4 players. What do you recommend me?
@xaviercollignon1202
@xaviercollignon1202 2 жыл бұрын
Hi, i use socket and my own netcode, existing libraries were to much confusing or not working like i wanted, so ...
@martinmaurer
@martinmaurer 2 жыл бұрын
Usually the story with unity’s solutions is: endless beta period to find out the final is really slow and crappy. Then you turn to something else… Fishnet is looking really good though…
@MidnightSt
@MidnightSt 2 жыл бұрын
A good compromise between the extremes of complete library, and making your own networking solution on the level of TCP or UDP seems to be Websockets, IMO. No need to muck about with actual protocols and ports and all that lowest-level stuff, Websockets are much simpler and friendlier, but they seem to be pretty powerful. I've been able to handle 15k concurrent connections with my laptop (hp omen 15) being the server and it seemed to handle it fine.
@meddjihed9108
@meddjihed9108 2 жыл бұрын
currentlu im using mirror for a domino table top game? any other recommendations guys, im struggling with it.
@Yarwad
@Yarwad 2 жыл бұрын
Jason, can you do LAN networking with Photon Fusion? If not, what's the best local networking option? Thanks for the great vid btw :)
@spacewizards9039
@spacewizards9039 2 жыл бұрын
Personally, I love FishNet. I haven't gotten to the point yet where I can develop multiplayer for my game, but that is the solution I'll be using for sure.
@hacklordmonster8780
@hacklordmonster8780 2 жыл бұрын
i've only used photon, and only once. it did have some issues but it was a very basic project and i didn't even bother searching
Make Unity Dev Easy with these..
12:54
Jason Weimann
Рет қаралды 3,2 М.
4 Ways to Make $$$ with GameDev - 1 SECRET ONE
15:17
Jason Weimann
Рет қаралды 13 М.
DEFINITELY NOT HAPPENING ON MY WATCH! 😒
00:12
Laro Benz
Рет қаралды 60 МЛН
Iron Chin ✅ Isaih made this look too easy
00:13
Power Slap
Рет қаралды 34 МЛН
УГАДАЙ ГДЕ ПРАВИЛЬНЫЙ ЦВЕТ?😱
00:14
МЯТНАЯ ФАНТА
Рет қаралды 3,9 МЛН
Multiplayer Game Architecture in Unity
15:21
Shrine
Рет қаралды 151 М.
6 MUST USE Packages for Unity3D
9:12
Jason Weimann
Рет қаралды 117 М.
The 6 Design Patterns game devs need?
24:20
Jason Weimann
Рет қаралды 364 М.
Top Game Development Tools for Solo Devs | Must-Haves for Unity
10:02
Non-Compete Banned - What's it mean for GameDevs?
2:29
Jason Weimann
Рет қаралды 17 М.
Watch This Before Working on a Big Game in Unity
18:44
John Leorid
Рет қаралды 293 М.
Giving Personality to Procedural Animations using Math
15:30
t3ssel8r
Рет қаралды 2,5 МЛН
Unity Architecture for Noobs - Game Structure
16:24
Tarodev
Рет қаралды 190 М.