Multi-user editing workflow seems brittle

I’ve configured multi-user editing for myself and some friends. It works quite well, though it is quite easy to accidentally break it in a way that causes data loss and editor crashes.

While we discovered the issue during a sessions with two or three users, it is easily reproducible with only one user.

We are using UE 5.4.4 and git for source-code control.
We are running a multi-user server remotely (i.e. it is not spawned by any of the editors).

Basically, the problem boils down to this:

if you start a session, make some simple changes, then

  1. leave without saving or persisting: everything is fine upon reentering the session.
  2. leave after saving and persisting: everything is fine upon reentering the session.
  3. leave after saving but NOT persisting: this causes some data loss. Assets that were added to the map during the session are there, but any transformations or scaling changes are missing, and the editor can crash spontaneously. If I archive the session and then restore it while omitting the save (i.e. restore up to the last operation before the save), everything is fine again.

It is certainly easy to get into the habit of having only one user persist the changes, but it is hard to avoid users pressing “Save All” before they leave the session.

I admit, however, to not understanding what “save” means in this context. Saving does not actually cause anything to be written to the local repository, but rather some state must be being updated on the server.

As I mentioned, this is easily reproducible with a single user:

  1. start a multiuser server
  2. create and join a session
  3. make some changes (add a shape, scale it, move it, etc.)
  4. save
  5. leave, but do not persist the changes
  6. re-enter the session.

Changes to assets you added during the session will be missing.