Introducing Normcore: High Quality Multiplayer Networking for Unity
Yooooooooo, it’s ya boi, Max Weisel, chief blob officer here at Normal with some exciting news.
Today we’re launching Normcore, a multiplayer networking plugin for Unity.
If you’ve ever tried building a multiplayer game, you know it’s a lot of work. Even just getting to the point where you can pass data between two clients can be challenging. It’s so much work that many developers decide from the beginning not to create multiplayer games. We love multiplayer games and apps at Normal. Especially when it comes to VR, multiplayer turns what has the potential to be a very isolated experience, into a shared one.
When we started implementing our own multiplayer titles, we realized the multiplayer aspect was going to be a lot of work. Sending messages between clients, synchronizing & smoothing movement of objects, implementing voice chat, matchmaking, running servers, etc. The list piles up quickly, and there are many engineering challenges that aren’t obvious until you’re months or even years into a project.
We’ve spent the last three years working on Normcore, a Unity plug-in for our own internal use, implementing all the different pieces-state syncing, physics syncing, voice chat, persistence, fast serialization with versioning, delta compression, flow control, and much more. Through this process, we noticed a pattern: Everyone currently needs to implement each of these pieces from scratch.
We’re releasing Normcore in an effort to not only save developers time and encourage more multiplayer titles, but with the hopes of creating the best multiplayer networking plugin available. Our goal is to refine and improve Normcore until it becomes so good, you wouldn’t ever dream of writing your own multiplayer networking. You should be spending that time on your game anyway.
Now, let me set the record straight. Normcore is far from perfect. We’ll continue to make massive improvements to it as time goes on, but we’ve hit a point where the only way to improve is to get it out in the wild so we can see where it falls short in practice.
Normcore is designed to be used for anything in Unity that you’d like to add multiplayer to (games, installations, apps, enterprise, etc). However, we’ve noticed the VR/AR community is in serious need of good multiplayer support, especially when it comes to voice chat (which we believe is paramount to achieving presence in multiplayer spaces). The VOIP community solved high-quality low-latency voice chat a long time ago, and we’ve incorporated the lessons they’ve learned into how audio works in Normcore.
We’ll be in beta for the next few months through the launch of our next title. During that time, all accounts will have a coupon applied for free hosting / bandwidth as we work out the kinks.
Want to learn more about Normcore? Head over to https://normcore.io/ to create an account and download the SDK. I’ll be writing about cool things you can do with Normcore in the coming months, so keep an eye on this space to stay in the loop :)
Max
Originally published at Normal.