Game Development


Learn Socket to Create Multiplayer Games with Unity

Learn to use C# Socket library to create a 3D multi-player game.

3.90 (43 reviews)


13.5 hours


Feb 2020

Last Update
Regular Price

Exclusive SkillShare Offer
Unlimited access to 30 000 Premium SkillShare courses

What you will learn

Developing own game server from scratch

Serializing data structures and preparing for transfer over the network

How data transfering between clients and server

C# threading

Reading and deserializing data from network

Learn game server architecture design


Learn socket programming in C# .Net

Get proficient in computer network socket programming using TCP/IP streaming sockets and become a better professional programmer.

Perhaps you have already created some cool game and now you want your game to be multiplayer but you do not know how to do it? Creating games is hard but creating online games is even harder, especially if you do not know where to start. These days a lot of cool solutions that help achieve this or that purpose. However, I am sure that this does not suit you, either because these solutions are quite expensive or created to solve only certain tasks. Thanks to this course you will see how to program the real online games.

Due to the fact that nowadays the resources of CPU have become easily accessible to everyone, C# is perfectly suitable for creating client-server applications and for network multithreaded programming. You will see how to create a multithreaded game server for your games in C# programming language that will receive and send data to your clients in real-time using the TCP protocol that is used in real game projects.

With this course, you will see how event-driven and service-oriented applications work. Understand how to use multi-threaded programming in Unity Game Engine and you will see how to serialize and transfer data from the clients on Unity with C# programming language to the server.

At the end of this course, you will be able to create C# (Sharp) .Net software capable of sending and receiving data over TCP/IP sockets on peer to peer basis with async and await keywords. You will learn not only socket programming, but OOP as well. The course will make you a better programmer. you will have the source code of the complete production-ready event-driven service-oriented concurrent game server on C# and client for Unity Game Engine, which you can modify and freely use in your projects.

Having completed the course you will have all the skills necessary to create 3D multi-player games of your own. With the 30 day money-back guarantee you can start the course today with complete confidence.


Learn Socket to Create Multiplayer Games with Unity
Learn Socket to Create Multiplayer Games with Unity
Learn Socket to Create Multiplayer Games with Unity
Learn Socket to Create Multiplayer Games with Unity


Simple Chat Application

Synchronous Chat Server

Synchronous Chat Client

ASynchronous Chat Server-Client

Introduction to the Server-Side

Server Class Entrance

Client Class Entrance

Message Class Entrance


Controller Manager

A Function for Sending Response To The Client

007-Changing The Read Message Function For Encrypted Data

PackData(Encrypt The Data)

Connecting Mysql Database

Introduction to the Unity-Side

Unity Entrance


Message Class For the Client-Side

Creating a Function to Send Request to the Server

Receiving the Data

Accessing GameFacade Class from manager classes

Creating a dictionary for RequestCode and Request Classes-1

Creating a dictionary for RequestCode and Request Classes-2

Creating an Animation for the Camera

Login Button

Creating Login,Register and Message panel

Adding Path for each panel

Adding some features into the MessagePanel Class-1

Adding some features into the MessagePanel Class-2

Pushing The LoginPanel

Close Button

Creating Tables in Mysql

First Communication Between the Unity and Server

Showing an Error Message for the Wrong Password

Making changes for a future error

First Login Request

Reading the Login Request Coming From Unity on the Server

Reading the Login Request Coming From Unity on the Server-2

Reading the Login Response Coming From Server on the Unity

Fixing Some Errors

Login Succesfull

Pushing The RegisterPanel

Sending the Register Request

Registration Succeed

Introduction the Room

Designin the Room List Panel

Pushing Room List Panel

Creating animation for the Room List Panel

Animation Problems

Sending Player Result From Server

Reading Result From Client

Makes Result Appear on the BattleRes Side

Creating ScrollBar and Class for the Room Item

Designing the Room Panel

Requests For the Room

CreateRoom Request-1

CreateRoom Request-2

CreateRoom Request-3

Listing Room Request-1

Listing Room Request -2

Adding User ID and Moving the CreateRoomRequest()

Creating the RemoveRoom() and QuitRoom() functions

Join Room Request-1

Join Room Request-2

Join Room Request-3


StartGame Request

Timer for Stating the Game

Adding Player Movement

Make the Player Shoot

Creating The RoleType And RoleData

Make the Camera Follow the Player

Make Camera Walk Through the Scene

Determining the Spawn Position of Players

Current Role Game Object

Enter Playing

Adding Control Script From Scratch

Move Request

Move Request-2

Move Request-3

Shoot Request

Shoot Request-2

Attack Request

Attack Request-2

Reading The GameOver From Client

Walk Through The Scene


Vincent22 April 2020

You need to have some knowledge of how socket works to understand this course. It more like walk through of how to do it. Without much explanation. More like code reading and trying to understand it yourself.

Rishit13 April 2020

I am a Unity developer and looking forward to create a multiplayer game.I am following you step by step and have not faced any problem so far.However this course description mentioned that it would help us from scratch, so please don't presume that we would have any knowledge regarding server side.I have watched 2 videos so far, i have applied it myself and there are no problems in that, but when you write any code, you are not mentioning clearly about what is that specific code is for? 90% of code I write here is new for me because I haven't done networking ever, so it would be great if you could improve on that.Anyways, I hope to learn much more from this and hopefully I don't face any problems in the future lessons.Good luck

James4 April 2020

The instructor skips over a lot of critical details about the development environment that he is running in, and his English pronunciations are really poor.

Kolodjazhnyj20 February 2020

If all you want is to learn usage of Socket - this is good. Fair warnings: 1) I wouldn't call this a tutorial. It's more like a timelapse. Could use a bit more explanations instead of just dictating whatever is typed on screen. 2) It's not completed yet. The name says "Build a game" but in fact you'll make only a small portion of it with some bugs left. - That being said, the teacher responds very quickly if you got any questions and I advise you to download the complete project, experiment with it and ask some questions. That's the best way to learn anyway.

Maksymilian18 February 2020

Well this is just a minimal implementation like hello world. Good starting point, but as developer you must be aware thet security isnt covered here. This solution is valid for learning phase but far from production ready implementation.

Anıl12 February 2020

I've been looking for kind of course on this subject and I'm happy to enroll this course. I just started the course and I believe it's a good project to learn how works Socket!

Alihan31 January 2020

I did not expect to find such a good resource about this topic. Thanks for your interest. I would definitely recommend.

Fatih28 January 2020

that's a wonderful course for game-coders. course content is basic and useful and the narrative style of this teacher is very clear and beatifull.

Abdülsamet22 January 2020

I was waiting for a long time for this course. There are not same course even in udemy. By the way You speak understandable language. Thanks for all.


Udemy ID


Course created date


Course Indexed date
Course Submitted by