Replication Graph

Hi, guys,

I’ve been watching this thread with high hopes that Unity will finally have a commercial quality network stack, of which I think the weakest link as far as system module is concerned. It’s probably the single largest reason it kept me from using Unity, instead, turn to UnrealEngine for my past project.
From what I hear, FPS Sample is trying to be a full vertical stack and it will as good as a commercial quality game. I’m very excited.

I just want to point out that to be proven as the “best performant network engine” as Joachim mentioned, it really needs to scale to a large number of users. If it meant to support ~16 players, I think any other network stacks will just do fine and there is no point of making another network stack. I would just suggest fixing UNET instead.

In order to scale up, a sophisticated filtering system(to send packets only when necessary), or Replication Graph as EpicGames call it, is a must. Here is the link to the latest blog. And please watch the video if you haven’t
https://www.unrealengine.com/en-US/tech-blog/replication-graph-overview-and-proper-replication-methods

It’s not all there is to it to the performant network stack but it’s a good start. I really hope Unity takes a serious look at it and come up with something similar. I believe ECS can help optimize it tremendously

Lastly, I would like to know where the new network stack is headed. Is there a roadmap of some sort? What we have a very basic(just transport layer) and there hasn’t been any info or update since the initial upload.

Thank a lot!

2 Likes

Howdy Chrisk,

Untiy mentioned this in one of the videos(towards the end, I’m trying to find it,) they are working on the next-Network update, to include server-client update-Culling over an area of affect.

Today, if you have 16 players in a server, all 16 players receive the same server-update packet. That packet then has to hold all the updates, of anything the 16 players needs to actually see. So If player 1 opens a door 1 mile away from player 16, player 16 still receives that update of player 1 opening that door so it is seen as open when player 16 encounters it. If you turned it up to 64 players, it would be the same issue. And you can.

What you are asking for, Unity is looking to employee:
Instead of all 16 players learning about player 1’s actions. Only the players within a certain distance/value from the networked item(door), receive its update(has been opened.) So that when a player needs to see that networked item, the server would provide down detail on what state it is in, and update those that need to know/can see it. But when the player does not need to see the networked item, it is not sent that update detail.

So… Unity said something like this is coming! WOOT

Also, I believe you saw Peter’s networking video, but just in case you did not: (this would be for the current, all updates to all clients, network)

Yup, that’s exactly what I mean.
But there are more to it. How often it gets updated, which has higher priority, reliable and unreliable and etc.

“Coming soon” in Unity terms could mean years and anything can happen before then. I would like to know if there is a roadmap with a timeline so that we all know they are commited. ^^

1 Like

There is a clear internal roadmap and it’s well structured. This information and more is coming on the blog and in the new updated roadmap Unity is doing. So really, if you are willing to wait a little longer, Unity will release the information you want.

They want to scale the networking from 2 to unlimited, so to do that they needed first to buy essentially, an ISP (same server company that services fortnite etc) and also design the networking with ECS so it can scale from 2 to 2 million (give or take a few zeros). With this in place they can add to it over time - it’s meant to be a long term project.

1 Like

hippocoder, Thanks for the heads up. I’m well aware of all info they put out publically. So far information is scant and I wish they are more transparent what’s going on internally if they already have the internal roadmap.

Scaling to 2million? I’m talking about scaling in a single instance of a server. UE4 is struggling having ~100 of players and I wonder how it’s possible. I’ll be really surprised and be very happy if they can efficiently handle ~200 players in a single instance. Sure you can cluster multiple instances but that’s beyond the role of this network stack.

Thanks.

1 Like

By “Unlimited” I mean whatever is feasible for the cost…so 2 million would be impractical and I doubt that many people would be found to test such a thing.

So realistically I mean a typical mmo value of between 2 and 1000, depending. That sounds useful?