Learn FishNet for Unity in the style of a math workbook: through hands-on exercises and application.
Please jump right to the workbook exercises below.
Otherwise, read on to understand what this repo is... 👇
It is 2024, and any hit game will feature multiplayer heavily in its gameplay.
And if you're using Unity, FishNet is a solid choice for your networking stack. It's free, the developer is friendly and responsive, and their Discord community is incredibly helpful.
But... there's 1 problem: how do you get started?
FishNet isn't hard to learn, but there are numerous concepts and not-too-many "getting started" guides.
And while YouTube videos or courses can help, I feel they aren't the most efficient way to learn. It feels akin to watching a pro play basketball; at some point, you need to stop watching others, and get your own hands dirty.
The ultimate goal for you is to understand 3 things:
- what tools are provided by your networking solution (FishNet), and how to use them,
- when or why you should use each tool,
- and how to use these tools to architect any multiplayer game of your choosing.
Be it peer-to-peer or dedicated server, turn-based or real-time — you want to be a multiplayer architect.
You want to be a creator of multiplayer experiences that bring people together. But how?
How do you learn something new — in this case, networking with FishNet — in the least amount of time possible?
You don't need a YouTube video.
What you need is a math workbook. A set of end-of-chapter exercises that:
- get your hands dirty in multiplayer programming as soon as possible, and that
- progressively build your understanding by posing well-designed questions: forcing you to do research, build GameObject hierarchies, and write C# code ASAP.
Thus, this repo provides a set of successive exercises that teach you multiplayer programming in Unity, using FishNet as your networking solution.
You can see links to the exercises below, which guide you through building a room-lobby system (inspired by FishNet Pro's Lobby and Worlds system). Currently, there are 35 as of this writing — 35 Exercises to Learn Multiplayer Game Programming:
Exercise | Link |
---|---|
Build your own NetworkManager (5 exercises) |
Exercise 1 |
Managing server and client sockets (6 exercises) | Exercise 2 |
Multiplayer architecture (11 exercises) | Exercise 3 |
Deployment with Edgegap (3 exercises) | Exercise 4 |
Implementing a simple login system (6 exercises) | Exercise 5 |
Code quality (4 exercises) | Exercise 6 |
(more to come soon...) |
Please see FishNet's and TextMeshPro's respective licenses for usage restrictions.
The written exercises in this repo are unlicensed. Thus, you may not re-appropriate the written exercises as your own.
However, feel free to remix or modify the C# scripts as you see fit.