Key Features
Overview
Mixer synchronizes in real time the modifications done to the scene and the objects it contains. During a collaboration session, Mixer displays the position of other participants and highlights their selections. See Work together for more details.
In the sections bellow we listed the features of Blender that are synchronized and those which are volontary not, as well as what is currently supported and what is not.
Warning
Undo / Redo is a important pitfall at the moment for technical as well as paradigm reasons. It is strongly adviced not to use it, it may destabilize the running collaborative session.
See Caveats for more details.
What is synchronized
Most of the elements contained in a scene, the data types, are synchronized, as well as the custom properties of all datablocks. The following table summarizes the covered features and a note indicates when synchronization is not available because the feature has not been implemented yet.
Data |
Status |
Comments |
---|---|---|
Action |
Yes |
See [Delay] |
Armature |
Partial |
Simple rigs only. See [Armature] |
Brush |
No |
|
Collection |
Partial |
Except collection children ordering |
Camera |
Yes |
|
Curve |
Partial |
|
Grease pencil |
Yes |
See [GreasePencil], [Edit], [Convert] |
Image |
Partial |
|
Keying sets |
No |
|
Library |
Partial |
See [Library] |
Light |
Yes |
|
Light probe |
No |
|
Line style |
No |
|
Mask |
No |
|
Material |
Yes |
See [Nodes] |
Mesh |
Partial |
Except split normals, custom properties, see [Edit] |
Metaball |
Yes |
|
Movie clip |
Yes |
See [Media] |
Node group |
Partial |
Not extensively tested, see [Nodes] |
Object |
Partial |
Except motion paths, particles and physics. See [Convert] |
Paint curve |
No |
|
Particles |
No |
|
Shape key |
Yes |
|
Scene |
Yes |
See [Delay] |
Sound |
Yes |
See [Media] |
Text |
No |
|
Texture |
Yes |
|
Volume |
No |
|
VSE |
Partial |
Except meta strips. Not extensively tested |
World |
Yes |
- Armature
Issues remain with rigs generated by Rigify.
- Convert(1,2,3,4)
The result of object conversion (Object/Convert to menu) is not synchronized.
- Delay(1,2)
Some updates may be delayed until another modification is detected:
scene annotations: try to click around in the background of the 3D viewport
animation curves names : try to toggle the curve Enable checkbox twice.
- Edit(1,2,3,4)
While an object is not in Object mode (in Edit, Sculpt, Paint, …) the local modifications to this object are not sent to the other participants and the other participants modifications are not applied. Pending modifications are applied when the mode changes.
- GreasePencil
the mask layer is not correctly synchronized
area fill is sometimes not correct
- Image
Generated images and UDIMs are not synchronized. Image files are synchronized.
- Library
Nested libraries will fail when shared folders are not in use. The following are not synchronized:
the results of make local and reload
library overrides
- Media(1,2,3)
Media files are synchronized. The result of reload or media path modification are not synchronized.
- Nodes(1,2)
Links synchronization sometimes fails. Some cases might cause crashes.
What is NOT synchronized
In order to provide to all participants a collaborative experience with as much freedom as they have during a solo session some features are deliberately not synchronized. This is the case for most User Interface elements, user preferences and configuration.
UI and Settings |
Comments |
---|---|
User preferences |
|
Key mapping |
|
Installed add-ons |
|
Workspace |
Scene Manipulation |
Comments |
---|---|
Object Editing Mode |
|
Active tool |
Eg: Move, Rotate, Scale… |
3D cursor |
|
Scene display mode |
Show gizmos, overlays… |
Viewport shading |
|
Play mode |
Scene Properties |
Comments |
---|---|
Scene current camera |
|
Render engine |
See [RenderEngine] |
- SceneCurrentCamera
Although belonging to the scene properties, preventing the current camera to be synchronized allows each user to view and render the scene from the camera of her choice
- RenderEngine
Each user can render either with Eevee, Cycle or another avaiable engine of her choice
Caveats
In addition to the limitations listed in the previous section, you should be aware of the following limitations:
Undo / Redo
Using undo may cause data desynchronisation between users, unexpected behaviors and possibly some crashes. Using undo while in Object mode may undo other participants changes. It is then strongly adviced not to use the undo feature during a collaborative session.
The undo action rises several paradigm questions such as:
What happens in the scene when an action is undone and some work dependent on it has been done by other users, such as a mesh edit, a constraint, etc?
What should be undone? The last action of the user doing the step backward or the last action made by any user of the session? Or all the actions of everyone up to the last action of the considered user?
Should a redo be possible?
…
Once the expected behavior clearly defined there is a technological challenge to face in order to address it.
Currently the undo and redo actions are “possible” as part of the default behavior of Blender. For the reasons mentioned above doing one of them can very likely, according to the context, lead to an unstable environment. It can be noticed from error messages in the terminal or more obviously from differences in terms of data in the shared scene.
At this point a synchronisation recover is unlikely and it is adviced that one of the users save the scene on her computer, everyone leaves the room and a new session is started.
In order to minimize the chances of doing an undo action we thought about blocking this feature during a session. We don’t know if this is possible and have not gone further in that direction at the moment.
File saving
The files saved by all participants are not exactly identical.