Inspiration

I wanted to begin this project because I have been working on a Unity project for almost a full year and I wanted to branch out into multiplayer game development.

What it does

Unfortunately, I do not have any functional implementation as I spent all of the time researching how Unity's NetCode and Networking relationships function.

Challenges we ran into

The idea for this project was to follow a basic tutorial to implement a functional server-client connection using Unity's NetCode while also referring to relevant documentation to properly implement this. However there was three main challenges.

The first was my lack of any networking experience, so a lot of time was spent researching how basic server-client networking is achieved.

The second was that I did not have the resources to properly test any of my implementations. The implementations I was testing involved running two instances of the project on my device; having one run as a server and another as a client that would connect to the server. This worked and I was able to effectively control one client connected to the server, due to my setup however, I was unable to test if multiple clients could be controlled independently. Unity has a built in input system that can receive inputs from the device running the instance of the project, however these inputs can only be mapped to a single instance on a given device. In other words, I could not test if each client could receive inputs and update accordingly because the inputs could only be registered by a single instance of the project.

The final challenge was, surprisingly, my usage of, updated documentation. Two weeks ago, over spring break, I researched into what packages I would need to utilize to complete the project and installed the necessary ones and got my project set up using those. Unfortunately, yesterday, yes yesterday, unity updated their API with their new changes to their multiplayer implementation. This meant that I was trying to use packages that were no longer up to date with the documentation I was referring to. link

What we learned

Although I do not have any code or working project to present, I am happy with the things I have learned. The first being that this project was too ambitious without the proper preparation and research beforehand. The second is ensuring that I am utilizing the correct documentation for the tools I am using. I choose to participate so that I could gain some experience so that I can get involved with more of these opportunities in the future. This was my first time participating in an event like this and I hope that in the future when I am more experienced I can actually finalize a completed project.

What's next for Unity Multiplayer

I will continue to look into Multiplayer Game Development using Unity, but I plan on utilizing their newer updated packages with Unity's newer versions. I still desire to continue pursuing game development and this event was a great way to rekindle that desire while also gaining valuable experience.

Built With

Share this project:

Updates