Overview
All of the plugins have a similar structure. This document provides an overview of how they work.
Platform specific details can found in the other pages of this section.
The plugins currently only support Windows.
Both are currently tied to windows. However, it will be possible in the future to make them either platform independent (work on all), or have Mac & Linux versions.
Let us know to register your interest in the other platforms.
Installing and Updating
To find out how to install and update the Blender Addon and UNity Plugin, head over to Getting Started - Unity and Global Studio - Blender
The UI Panel
The Massless Space UI Panel is how you connect to Spaces from within your local platform.
To find out how to join a Space, visit Connecting to a Space from the Panel
Real-time synchronization
The plugins connect to the Massless Space servers, and any time you make a change on your Local Platform (Blender or Unity) those changes will be sent through to our servers. The updates then get propagated to all connected platforms.
All the updates are processed in the background while you're working. This means you can receive an update at anytime from anyone working in the same Space.
Nodes
In Massless Space a Node is like an Object, Light or Camera. Parent-child information, transforms, meshes and other properties are all stored in a Space Node. Every Space Node has a unique ID and Version.
We show the current sync status of individual nodes in the Space within each platform's UI.
- Successfully synced node in Space
- Unsynced node in Space
Hierarchy
The hierarchy lists all objects and their parent-child relationships in the scene. We keep this updated across all platforms, so as soon as a new object or parent-child relationship is added to the Space, everyone connected will see these changes and stay up-to-date.
Transforms
A transform describes the position, rotation and scale of an object in the scene. Our plugins check multiple times a second to see if the transform of an object has changed. This means, when you move/rotate/scale and object in one platform, you'll see those changes happening in all other connected platforms in real-time.
Meshes
A mesh is a collection of vertices, connected by edges and faces. An object can consist of multiple meshes. When editing a mesh in Blender, upon exiting "Edit Mode" the mesh data will be sent to the Space Database, and then that update is propagated to any connected platforms. Currently, everytime you exit "Edit Mode" the entire mesh will be uploaded as a new version.
Names
Keeping a project organised is largely about having your objects correctly named. Our plugins are able to communicate with each other whenever an object has been re-named.
Lights
Lighting is crucial for that perfect final "look and feel" of a scene. It's important to nail it, wherever you are!
Although Blender and Unity have similar lighting properties, such as intensity and colour, they each have their own unique properties. And even the one's they share are rendered differently. For example, a Blender sun light with an Intensity value of 1, will light the scene differently to a Unity sun light of the same Intensity value.
Therefore, we syncronise Blender's light properties accross all other connected Blender users, and the same for any lighting in Unity with other Unity users. Any common properties between platforms can be converted with a "best-fit" Convert feature.
You can switch off/on auto-conversion of the Light properties from within the Space Viewer. This allows the you to tweak the configuration between Unity/Blender manually, just in case our auto-conversion isn't good enough.
Within the Space Viewer, you have full oversight of all the light properties. Head over to Space Viewer - Lights to find out more.
Unity cannot display Blender's "Area" lights
This is because Unity uses "baked data" for its Area light.
Cameras
Cameras are how you display your project to the World! Without them, your scene is just digital data in a storage device.
So whether it's capturing that perfect still-shot render, or panning through a scene, it's important to have your camera set up correctly so that everyone knows where the focus is and what is actually being viewed.
Massless Space allows for real-time syncronizaton of cameras across all platforms. Just like lights, we send all the data between like -for-like platforms (Blender to Blender or Unity to Unity), and do a "best-fit" conversion when sending to a different platform.
You can switch off/on auto-conversion of the camera properties from within the Space Viewer. This allows the you to tweak the configuration between Unity/Blender manually, just in case our auto-conversion isn't good enough.