- Megacity-Metro Overview
- Megacity-Metro Prerequisites
- Multiplayer Setup
- Add Unity Gaming Services (UGS)
- Index of Resources in this Project
- Assemblies
- Netcode Atrributes
- Gameplay Controls
- Troubleshooting
- Disclaimer
- License
Megacity-Metro is an action-packed, shooter game based on the original Megacity sample. It leverages the power of Netcode for Entities for an immersive, multiplayer experience that can support 128+ players simultaneously. The latest DOTS packages and Unity Gaming Services (UGS) enhances the Megacity-Metro user experience. Megacity-Metro showcases how to create engaging and immersive multiplayer experiences with a suite of netcode and multiplayer tools, tech, and services.
Some important points of this demo are:
- Large-scale streaming and rendering with the Entity Component System (ECS for Unity)
- 128+ players per game session
- Server-authoritative gameplay with feature prediction, interpolation, and lag compensation using Netcode for Entities
- Unity Gaming Services (UGS) integration for Game Server Hosting, Matchmaking, and Vivox voice chat
- Universal Render Pipeline (URP)
- Cross-platform support for Windows, Mac and Android
Input | Action |
---|---|
Mouse Movement / Arrow Keys | Steering |
Left Click / Space | Shoot |
W/S | Thrust / Reverse |
A/D | Steering |
E/Q | Roll |
Tab | LeaderBoard |
V | Toggle Vivox |
P | Netcode Panel Stats |
ESC | in game menu |
The Megacity-Metro sample is large, so the first time cloning and playing the sample may take more time than expected. Subsequent plays should load much quicker because of caching.
First time clone and load time estimates:
- Cloning the Megacity-Metro repo: Up to 20 min
- Opening the project with library build: Up to 20 min
- Building the project for each platform for the first time: Up to 50 min.
Navigate to
Project Settings > Other Settings > Configuration > C++ Compiler Configuration
and setDebug
if you need to compile faster than optimal.
To get the Megacity-Metro sample, you can clone the project using Git. Please note that direct download of the project is not currently supported for this repository.
Before you can clone the project, you must install Git Large File Support (LFS). Megacity-Metro uses Git LFS to handle all large assets required locally. Refer to Git LFS installation options for instructions on Windows and Mac.
After you clone the project, follow these steps to start playing:
- Install a compatible Unity Editor version; we highly recommend using the version specified in
ProjectSettings/ProjectVersion.txt
. During installation, make sure to include Windows/Mac Build Support (IL2CPP), Windows/Mac Dedicated Server Build Support, Android/iOS Build Support (if you plan to build for mobile devices), and Linux Dedicated Server Build Support. - To add the project to the Unity Hub, click the Add button and select the root folder of the cloned project.
- Open the Menu scene located in
Assets/Scenes/Menu
. - Click the Play button to start.
- Start the Single Player mode. Multiplayer requires more setup which will be explained next.
This repository does not accept pull requests, GitHub review requests, or any other GitHub-hosted issue management requests.
Megacity Metro is licensed under the Unity Companion License. See LICENCE for more legal information.