[MPPM] Multiplayer Play Mode Experimental Release Now Available

Hi everyone

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.

Requirements:

  • Unity Engine: 2023.1.a22 or above
  • Install the Unity Engine version here: https://unity.com/releases/editor/alpha
  • 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
  • Documentation is live: https://docs-multiplayer.unity3d.com/mppm/current/about/

Feedback:

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: https://discord.gg/unity-multiplayer-network.

Thanks on behalf of the Multiplayer Tools Team,
Chris

11 Likes

Awesome! This is one of the biggest game-changers for Multiplayer game development in Unity! It used to be very cumbersome to do any rapid testing.

1 Like

Good News indeed!

Thanks! By any chance will this be ported to 2022.2-3 versions?

Better late than never.

Any chance this will be backported to at least 2022.x?

2 Likes

Sadly does not seem available?

8655324--1165131--upload_2022-12-12_19-10-22.png

EDIT: Nevermind, I wasn't logged into unity services for some reason..
However none of the links on this page work, https://docs.unity3d.com/Packages/com.unity.multiplayer.playmode@0.1/manual/index.html so I have no reference how to set anything up :)

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 ?
8655360--1165137--upload_2022-12-12_10-26-25.png

1 Like

Unfortunately not at this time. The engineering team made changes to the engine which were needed to enable this workflow.

2 Likes

So if we are developing in 2022.X we will be forced to update without chance of sticking to 2022 lts…

@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

5 Likes

@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 :)

1 Like

@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 open clone editor too slow, user experience is not good.

1 Like

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.

1 Like

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)."

  1. The link to NetworkObject seems to be broken.
  2. 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.
1 Like

We are pleased to announce a new release of Multiplayer Play Mode! ("MPPM")

Version 0.1.1 Highlights:

We have added support for additive scenes. This minor release also includes minor bug fixes, some of them were reported by users.

Requirements:

  • Unity Engine: 2023.1.a22 or above (get it here)
  • 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

Documentation is live: https://docs-multiplayer.unity3d.com//tools/current/mppm

Feedback:

Please open new threads in this subforum.
Alternatively, please use the #multiplayer-tools channel on the Multiplayer Discord Server.

Thanks on behalf of the Multiplayer Tools Team,

Paolo

2 Likes

Has this project been discontinued?

UPDATED: I didn't get to try this package, but the one I used before is https://github.com/VeriorPies/ParrelSync in case someone needs something similar

No, what makes you think that?

ParrelSync is the recommended solution for all editor versions in which MPPM is not available

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

Here to confirm this is also still an issue for me.