I spent the last few hours tinkering with Multiplayer Play Mode 0.1.1 running on Unity 2023.1.3f1 and I’d like to share my thoughts, as well as wishes for it.
First - allow me to say that getting it up and running is fast and intuitive, which is great! Just opening a new window tab and ticking an extra player through a checkbox is great. The little bit of waiting for it to become available does not hurt. The ability to right click and “open in explorer” is blessed and transparent for developers! I also like that the files are in the Library/VP folder so that they will not be included in version control!
The tags system is intuitive and comfortable, but feels like a misnomer for “identifier”. I wish I could add multiple tags over a single player through the window, but it is easy enough to just number the players and use my own tagging system for whatever desired flags.
The extra taskbar windows are welcome, but it appears that the extra editors love un-docking themselves whenever I enter playmode, which is frustrating. Trying to dock one editor per window corner is futile when they keep un-docking and resetting their position/resolution. I assume this is a bug of some sort?
The taskbar flashing on the extra editor windows whenever playmode is entered, even after their initial opening, is incredibly frustrating, and although it was solvable with a script which calls user32.dll’s “FlashWindowEx” , I wish I didn’t need to do that just to have a non-disruptive extra editor.
(I also found it difficult to get the extra editor’s window handle, as "
System.Diagnostics.Process.GetCurrentProcess().MainWindowHandle" seems to be wrong for the first frame of the application, requiring that I delay the process of removing the flash one frame. This seems to happen in the main editor window as well, so I’m not sure if this is a behavior of Unity or MPPM. Is there any way to disable the taskbar flash entirely, or improvements to my current methods you can recommend?
I’ve written a separate thread on the domain reloading issues, but I’d like to mention that it is sad that domain reload wasn’t taken into account with MPPM. Having to choose between two time savers when I’d like to have both is painful.
When domain reload is enabled (as per default to Unity), it appears that the main window goes through domain reload first, and only after that do the extra editors enter domain reload and begin playing. I wish they could do it simultaneously so I don’t have to wait however-many seconds for the second window to become usable.
I checked the provided PlayerData.json and noticed that there is a “name” field for the editor windows. However, it is not editable in the mppm tab. I wish it was! Although I understand that being in the “Library” folder means it will not be found for version control, so I have mixed feelings on my understanding of it.
The logs counter in the MPPM window tab for each player get highlighted when hovered by the mouse cursor. However, they are not clickable, which is confusing.
As hyped as I am to finally have something that even slightly resembles Unreal Engine’s multiplayer mode in editor, and will be watching MPPM develop closely, my current conclusion is that MPPM 0.1.1 feels too experimental to be used for production. Annoyances aside (the taskbar flash spam, lack of docking, etc), the choice between quick iteration of disabled domain reload or MPPM itself is quite a deal breaker.
I noticed that version 0.2.0 is already available in the official package’s documentation, and that it is recent, so I’m happy to see this is actively being worked on. I believe that MPPM is crucial for having the best development experience for multiplayer games, so I am cheering for it from my seat! I hope this feedback helps at all!