Utilizing our Netcode for GameObjects package and Unity Gaming Services, this template allows you to quickstart your development. It includes a Bootstrapper tool, in-Editor tutorials, and a barebone event-driven gameplay flow. If you’re looking for a starting point to build small-scale competitive games (e.g., real-time strategy games) that don’t require prediction, you’ve come to the right place.
that help you get familiar with the templates main tools and feature
Bootstrapper
that helps you test faster using various network modes (Host, Client, Server) and dynamic configurations.
Out-of the box, server authoritative event-driven gameplay flow
that you can customize to make your own game
Compatibility:
This template supports the most recent LTS version of the Unity editor: 2022.3. Update to the latest patch release for the best experience.
The Bootstrapper tool is not available in standalone players.
We’re continuously developing and improving our templates and would love to hear your feedback! Please follow the link to fill out your feedback: Multiplayer Template Feedback Form (ETA: 1 min)
If you experience any issues or would like to reach out to the development team, you can connect with us either via the Multiplayer Forum, on Discord.
I was following the tutorials offered at start up and when following them I came across this error, which prevented me from playing the game. I updated all of the packages via the Package manager before I ran it but I’m not sure if that was the issue. Is there a way to fix this?
Edit: I tried to run an older Udemy project I had working when learning this stuff and it’s getting the same error.
OK I fixed the issue on my other project. The issue was that the project had been archived and wasn’t in the active list. Once I un-archived it that error went away, so perhaps there’s an issue with the project on the UGS dashboard?
Hi Thiaqo, it means that you’re not supposed to build a Battle Royale or MMO with it because it uses Netcode For GameObjects, which is the wrong tech for large-scale cases like the two I mentioned.
You can build other types of objects without issues, especially if those are slow-paced games.
There are many factors, most of them are summarized in this reddit post and its replies.
tl;dr: NGO is not designed around these use cases and misses some (complicated) features that you will need to run these type of games properly at scale.
Should this sample work if I start two clients from the same PC?
Any settings that I need to pay attention to? (I did all the tutorial steps), and what was described in the sample documentation. And I am just waiting in a qeue when I click find game
This is a template, not a sample (samples are example project, templates are starting point)
If you start them with Multiplayer Play Mode, yes, because every editor/virtual player instance gets assigned a different player ID when you sing in through the Unity Gaming Services’ Authentication service. If you make a build and open it twice from the same device it won’t work, because every device has the same ID. If you open the build from two different devices, it’ll work. (assuming you properly set up everything else by following the tutorials).
I have set up everything in the template but when I export it as a client and me and my friends are trying to find a match, on Unity cloud, I can see the server crashes and returns a null object exception as follows:
NullReferenceException: Object reference not set to an instance of an object
at Unity.Services.Multiplayer.MultiplayHandler.UpdateConnectionPort (System.UInt16 value) [0x00006] in
<9904666352db452f95e856cbfeaacbc7>:0
at Unity.Services.Multiplayer.MultiplaySessionHandler.OnAllocate (Unity.Services.Multiplay.MultiplayAllocation alloc) [0x00025] in
<9904666352db452f95e856cbfeaacbc7›:0
at System. Runtime.CompilerServices.AsyncMethodBuilderCorer<>c.<ThrowAsync>b_7_0 (System.Object state) [0x00000] in <2c79f6edfe124ee2aa025655e31e1a7f>:®
at UnityEngine.UnitySynchronizationContext+orkRequest.Invoke [0x00002] in <d967eba87₫a549Ccb33c20425766c>:0
at UnityEngine.UnitySynchronizationContext.Exec () [0x0005d] in <967eba87da549ccb33c20425c766ec>:0
at UnityEngine.UnitySynchronizationContext.ExecuteTasks ( [0x00014] in <d967eba87d549ccb33c20425c766ec>