A real pleasure to announce that Multiplayer Play Mode v0.1.0 is now available as an experimental package.
Multiplayer Play Mode (MPPM) enables you to test multiplayer functionality without leaving the Unity Editor. You can simulate up to four Players (the Main Editor Player plus three Virtual Players) simultaneously on the same development device while using the same source assets on disk. You can leverage MPPM to create multiplayer development workflows that reduce the time it takes to build a project, run it locally, and test the server-client relationship.
Install the package by name com.unity.multiplayer.playmode (version 0.1.0 or later)
Known Issues:
Player windows cannot be reopened if they are closed during Play Mode
Virtual Players can remain in Play Mode after the Main Editor has exited in certain circumstances, such as if script changes are made during Play Mode and the “Stop Playing and Recompile” option is active.
Entering Play Mode with multiple scenes open is not currently supported
Virtual Players lose some Game View settings, such as Aspect Ratio, when exiting and entering Play Mode
Opening a Virtual Player with unresolved script updater issues will cause an API Update prompt to appear
Scripts will not be reloaded correctly in Virtual Players with “Enter Play Mode” settings set with “Reload Domain” disabled
In some cases, an error may appear in Virtual Player windows indicating that assets were imported when they were not supposed to be
Non-prefab assets like Scriptable Objects are not synced to Virtual Players unless you save your scene or invoke the Save Project command
Authentication with UGS will not work without manually overriding configuration values at runtime
Please open new threads on the Multiplayer Netcode for GameObjects subforum. Make it clear in the title that you are referencing MPPM. Alternatively, please use the Multiplayer-Tools channel on the Multiplayer Discord Server: Unity Multiplayer Networking.
Thanks on behalf of the Multiplayer Tools Team,
Chris
The package is experimental and might be not stable.
For this reason, it does not appear in the package manager by default.
If not done yet, could try to enable “enable Pre-Release packages” in the project settings ?
@joan_stark@m0guz if you’re on 2022 or lower, you can still use ParrelSync. Even if it’s not an official Unity product it works pretty well (I use it in production projects) and covers MPPM’s use case
@PaoloAbela How does one go about reading the tags you set in MultiPlayer Play Mode? (for Main Editor, Player 2, etc) … How can you figure out which one to do StartHost() on and StartClient() on?
Nevermind found it. Unity.Multiplayer.Playmode.CurrentPlayer.Tag
@PaoloAbela Do you have to deactivate / reactivate a player every time you make a code change? Mine seems to only update when I do that. It’s pretty slow doing that, am I missing something?
ParrelSync cloned projects open the same speed as any other editor instance after the initial copy was made. However if you only have 8gb of memory then surely two unity editor instances will slow things down quite a bit.
On the documentation, there is this mention:
“There’s no restriction on where you can keep these scripts that work with Player Tags, but you must attach the scripts to a NetworkObject (such as the Player).”
The link to NetworkObject seems to be broken.
Does that mean we need to use one of Unity’s multiplayer package in order to use tags (Netcode for X)? For example, my project uses Photon Bolt.
Install the package by name com.unity.multiplayer.playmode (version 0.1.1 or later)
Known Issues:
Player windows cannot be reopened if they are closed during Play Mode
Virtual Players can remain in Play Mode after the Main Editor has exited in certain circumstances, such as if script changes are made during Play Mode and the “Stop Playing and Recompile” option is active.
Virtual Players lose some Game View settings, such as Aspect Ratio, when exiting and entering Play Mode
Opening a Virtual Player with unresolved script updater issues will cause an API Update prompt to appear
Scripts will not be reloaded correctly in Virtual Players with “Enter Play Mode” settings set with “Reload Domain” disabled
In some cases, an error may appear in Virtual Player windows indicating that assets were imported when they were not supposed to be
Non-prefab assets like Scriptable Objects are not synced to Virtual Players unless you save your scene or invoke the Save Project command
Authentication with UGS will not work without manually overriding configuration values at runtime
been using this for a couple of weeks now on Unity 2023.1.0f1
Its almost great.
The only downside seems to be every 3 hours or so the Player 2,3,4 projects all crash with a Memroy stream is corrupted [Position out of bounds]
( i have plenty of disk space)