It looks like you're new here. If you want to get involved, click one of these buttons!
So something I am noticing across the programming forum is that the "How do I do multiplayer" question is raised multiple times throughout the day, almost every day. The purpose of this post is to clear up some confusion about multiplayer, and how to implement it.
WHAT YOU SHOULD KNOW:
There is no universal way to implement multiplayer into Unity as of now. Many people reference the Brackeys "How to make a multiplayer FPS" tutorial as a guideline, but this should not be used as a way to implement multiplayer. In that video, Brackeys uses "UNET". This is Unity's old, legacy networking system that is being phased out.
If you make a game with UNET, that code will be obsolete and unsupported in less than a year. You can read more about UNET deprecation here.
Before I talk about options, I want to point out that networking is not only difficult, but it requires knowledge in C# and networking itself. Please make sure you understand how Unity works, and at the very least can program small games on your own, with minimal help from tutorials. If you dont know what you're doing, networking a game will hit you like a pile of bricks.
Until Unity's new networking system is released, and complete, you're going to have to use your own networking code, or 3rd party software. Lets talk about the pros and cons of these.
UPDATE 2023: Netcode For GameObjects/Entities has been released. It is quite nice even though it has some issues. Code monkey and the official unity documentation are great resources if you wish to use this system.
YOUR OWN IMPLEMENTATION / C# SOCKETS
USEFUL NETWORKING INFORMATION:
There are many more systems you can try and use, these are just popular ones you might want to try. If I made any mistakes please correct me, I am not an expert. I just see this question very often.