The open source MLAPI project joins the Unity family.

Hello,

We are thrilled to share that the OSS multiplayer networking framework MLAPI is joining Unity along with its creator, Albin Corén.

We are already working on evolving MLAPI into what will become Unity’s first-party netcode solution for GameObjects.

We will continue developing in the open and welcoming community contributions such as code, technology reviews and documentation.

Learn more about the announcement and the next steps on our blog post.

Our team will be addressing questions on the blog post, on this thread, and the MLAPI Discord channel.

I would also like to take this opportunity to introduce the Multiplayer Solution Architect team. We are engagement engineers helping to support you in building multiplayer games.

We look forward to getting to know all of you and welcoming new members.

Chris, on behalf of the Multiplayer Networking team.

20 Likes

great news!

i hope we can finally make multiplayer games in unity soon :smile:

1 Like

I have an question, snapshots after 3 years :smile::p?
But atleast newbies can make a multiplayer game!

Snapshots is a high priority feature for us, but no dates to commit to just yet :) Stay tuned.

1 Like

Congrats, now you have 5 more network libraries than every other engine

41 Likes


Mirror Networking has 5+, sorry garry i didnt really understand u, awesome to see you here i always follows ur blog :)


Garry's not the only person who gave up on this.
Engine fragmentation gets worse with every Unity's decision lately. Things used to be plain simple, we were able to search a problem and instantly find an answer - which is no longer the case when you have 5 different ways to do stuff.
Besides, studios generally don't like when someone is pulling the carpet from under their feet every year by deprecating something instead of improving it.

I do realize that this is a step in the right direction though, because this is a legit attempt to revive a networking solution. HLAPI was pretty bad, but it wasn't hopeless.

6 Likes

I agree complexity has grown to be a bigger problem now that many options exist. I think as we have evolved the engine over the last couple of years, we wanted to build and improve things but also not just get rid of something in a flash, so that’s why over time there are more options.

With Multiplayer, Unet will eventually disappear, and then you have two first party options, MLAPI if you are developing in Object Oriented and DOTS-NetCode for the DOD approach.

Over time your choices should be a bit more straightforward.

7 Likes

Obviously there might be a decent bit of work building native integrations into editors, etc.

Is there any general ideas of the scope of changes coming to the public facing API?

If someone wanted to start using MLAPI now, can we expect migration plans to accommodate the changes to the API from above?

Excited to see what comes from this!

2 Likes

Pretty excited about this, can't wait till it is officially included to the Package Manager!

I was low-key hoping Unity would come out with their own solution, using the current DOTS networking as a foundation, and have a built-in support for testing multiple instance of multiplayer clients and server in the same project like the new DOTS networking.

But with MLAPI, it seems like this would no longer be possible?

I am currently using ParrelSync, but this causes a lot of lost time from having multiple clone projects to recompile every time there is change. Sure it is faster than actually having to build, but it is still a huge pain.

I am reading something about snapshots and client side prediction from the blog post.
Will we be getting a child class of Network Behaviour, and an upgrade to Tracked Object similar to DOTS networking's Ghost Snapshot behaviour?
Hopefully it does go that way! It really simplifies everything hard about the server authoritative model.

[quote]
Obviously there might be a decent bit of work building native integrations into editors, etc.

Is there any general ideas of the scope of changes coming to the public facing API?

If someone wanted to start using MLAPI now, can we expect migration plans to accommodate the changes to the API from above?

Excited to see what comes from this!
[/quote]

The current plan is to provide migration guides from UNET and current MLAPI to the new stuff.

1 Like

Amazing! Huge fan of MLAPI, glad Unity is willing to adopt it and keep it open source.

2 Likes

Testing multiple client and server instances is indeed much more troublesome without DOTS. We are looking into ways to provide a way to do fast iteration of multiplayer games so that users don't have to rebuild or clone Unity projects.

The goal of our snapshot and prediction efforts is to provide something which simplifies a server authorative model. So it will be very similar in concept to the ghost snapshot system in DOTS netcode.

4 Likes

Just started playing around with this today. Any chance you guys will include rigidbody physics syncing? In it's current state it is very jittery using dedicated server. The Transform sync component works pretty good for translation though.

I really like this move. In terms of tutorials, If we could get a simple server-authoritative tutorial, with two player characters and the ability for either move and to spawn a projectile that would be a huge step in the right direction.

Is client-side prediction and reconciliation as a stretch goal two much to ask? :)

4 Likes

Our sample game team for multiplayer will be developing a bunch of samples to educate on multiplayer development. I will be sharing more on this beginning of next year.

We want to teach crucial concepts to multiplayer development, each sample will showcase such concepts, starting with beginners and on to more intermediate/advance concepts.

10 Likes

May also be beneficial to reach out to developers who've already been teaching us to do server auth.
FirstGearGames comes to mind instantly (First Gear Games - YouTube)

5 Likes

Thanks for the reply Chris. When I first started game programming I looked at an engine called nengi.js. The Tutorials do a really good job of explaining in appropriate detail the core concepts of how to implement something that I think most multiplayer game programmers are looking for. It was about a week of learning and I was able to start implementing new features and moving quickly.

Please go check out the tutorials as I think that using a similar pattern for what you're doing in MLAPI/Unity would really benefit your user base ( and myself )

2 Likes


It was all I needed to one day be wonderful, hopeful that Unity will listen to the audience and maintain a lib with good network support

As a beginning dev, I want to thank you guys so much for being a bridge to a hole that is preventing a lot of ppl from making their dreams come true. So thanks for looking out for the little guys lol.

2 Likes