Dive into large-scale multiplayer game development with Unity’s Megacity Metro. This sample offers insights into building games that work across different platforms, using Unity Cloud Services, DOTS, and the Universal Render Pipeline (URP). It’s designed with features like prediction, interpolation, and lag compensation to enhance gameplay, even with high latency.
With support for over 128+ cross-platform concurrent users, Megacity Metro demonstrates Unity’s scalability and multiplatform capabilities. It’s a blueprint for developers looking to understand multiplayer game mechanics or for studios seeking to incorporate the latest game technologies.
Join the webinar on March 27 at 9:00 am PT to see how to use Unity Cloud Services, DOTS, and URP to build a high performance multiplayer game that supports 100+ players on desktop and mobile.
Honestly it doesn’t look good. I’m speaking about the graphics not the code and multiplayer integration. But on the demo landing page there are bragging rights about HDRP and URP. Which they don’t look good at all even for mobile. This is PS2 brown era graphics.
Cut 2% from both unity CEOs monthly earnings and buy some good looking graphics from the asset store.
Note this line:
"Use of HDRP in Megacity and URP in Megacity Metro"
The video above shows Metro which includes mobile support. For the HDRP quality (albeit now 4 years old) look at this:
so this includes only URP? ok, really strange way to write that “feature” in the landing page.
Anyway, urp CAN look good on mobile. So I’m not saying that URP is not capable to look good. Just that this demo is lacking in the visual department
If you want to give them a default pat on the back, ok, but I’m way over this and I believe the only way they can turn back from the abyss is to be honest with them.
Ironically you are unintentionally helping them remain subpar when you approve low efforts
I think you misunderstand whole purpose of the demo of Mega City.
Visuals are not bad. But they are not main focus of this demo.
It is amount of elements displayed in the scene, using DOTS, as well in this case networking. Demo may intentionally not wanting go toward more realistic graphics. That would be responsibility of developers, who want to convert to such.
I don’t buy this explanation. A complete game needs to look good and perform well. If adding the graphics workload will reduce the performance of DOTS by half for example then the tech is flawed. (theoretically speaking not based on any tests and may not be an issue)
IIRC the Megacity Demo that ran on iPhone X was a special build that a different studio optimized it for the phone. That particular version of the demo was not made available to the public, IIRC.
original demo with tweaks can run on today low-middle mobile when run on optimized LWRP of 2018 showing slightly lower LOD then PC version
6 years later after huge amount of optimisations for URP, ECS, Jobs and Burst we have mobile demo that looks like lowest LOD of original demo and even worser
Q: what direction we move?
I dont think it is just such style, because it looks like very very very cropped down version by entities count by render objects count by tris count and everything else. The only thing added is multiplayer logic.
This is good demo for multiplayer for sure but better they dont use cropped down version of, Good rendering capabilities Demo, for multiplayer. Just because not so many devs want to create bad looking battle royal game, but pretty many of them waht to create good looking game.
There Unreal made better job, they never use crappy graphics to showcase some other capabilities of Engine.
You are forgetting an important point here, the old demo had practically no gameplay, most of the hardware resources could be used for rendering. But as soon as you add real gameplay for 100+ multiplayer, then you have to start making compromises.
On the other hand Original Megacity Demo was created by very small team of just few people it has very few assets and everything else is repetition. Very Good composed repetition.
So that is pretty achievable for indie studio
Agree
But URP is not the tool for low end mobile it is Universal so for any modern mobile with Graphics Jobs enabled, Burst, Jobs, ECS and good occupation of 8 CPU mobile cores it is pretty easy to show what was in original demo. I believe
Additionally
In Multiplayer dedicated server game all gameplay logic is on server and client only show Ghosts without computing their behavior, so Client must only compute input and logic for 1 player.
In client host mode mobile phone unable to simulate 120 mobs and render rich world it is true.
But in only server or only client mode is totally possible.
Additionally I can say that gameplay logic of Megacity Metro looks super simple stupid and must be very simple to compute by 8xCPU Cores
PS. I have not actually profiled that demo to see what was created and how it works
The client still needs to be able to compute all 100 players and their actions (with interolation?) and your actions against the other players with prediction. Basically the same simulation runs on the client, just without the server stuff.
But there are also many people with old or cheap mobile devices, or both. My iPhone is also 10 years old.
No this is not how network ghosts suppose to work
Someone can create network like this for sure but it will be bad experience creating game on top of it
As a sample see how Photon Fusion or Counter Strike or any modern Multiplayer game network works
Client predict only local movement. All ghosts is as empty as possible and client run only their animation in past and only if they pass AOI (Area Of Interest) test. Those who dont pass AOI even dont consume network bandwidth.
Are you sure? The top posting says something about lag compensation, but if all the other ghosts apart from the player are just simple server replications, wouldn’t that mean that with every lag everything would stop for a moment?
Lag compensation is a system that runs on server side and know in what time you shoot so raycast of shoot will be applied in the same time of world in which you saw it when press fire button. So this thing work totally on server side and actually inside NetworkedPhysicsRaycast logic
All we had for the fact that it ran on the iPhone was from the video from Unite keynote and the tweet you linked to, which were not good enough to eyeball graphics quality. Notice that I mentioned “That particular version of the demo was not made available to the public, IIRC.”, so I doubt that you can simply say it “looks […] even worse” when the baseline for the comparison is not even there, unless I have missed something entirely.