Search Unity

Unity Integrated Full Version Control Stack: Plastic SCM

February 10, 2019 in Games | 4 min. read

Plastic SCM is a full version control stack integrated with Unity. It enhances Unity’s project creation with asset versioning, diff and merging capabilities, and repo management among other features.

Plastic’s Unity plug-in is bundled into Unity’s executable, you access it through through the Edit menu > Project Settings > Editor and then select Plastic SCM from the dropdown version control menu.

Plastic SCM is developed by Codice, a partner of the Unity Asset Store, and it is all about collaboration. It’s a tool to allow remote teams of developers and artists to get the best results most efficiently, one task at a time. Plastic’s flexibility allows for teams to work distributed or centralized. On premises, cloud and hybrid setups are also available. With Plastic, management of all objects suitable for version control can be done right from within the editor. As an example, in your Inspector, all team members can visualize and change the different instances of each Game Object across all scenes.

Check-in description is easily done from the version control pane in Unity.

Plastic SCM also provides a point and click GUI for artists called Gluon. Gluon will allow them to version on a file per file basis, checkout, lock files, and benefit from the goodies of version control while avoiding its complexities. Artists and developers can seamlessly work with code and graphics in the same repository with Gluon.

Plastic SCM brings devs and artists together for a Magic Leap collaboration

The challenge was to render real-time, volumetric video on top of a person. To make matters even more challenging, this was to be built in only six weeks by a full-remote team of videographers, programmers and spatial computing specialists.

As a spatial computing device, Magic Leap One lets in natural light waves together with softly layered synthetic lightfields. Our brain then interprets the combination of light rays as one single scene, creating highly realistic experiences. Virtual Voyagers and Volograms, have created a real-time volumetric video project for Magic Leap One, Unity’s partner. Only a pipeline of integrated tools that talk to each other seamlessly would allow for all these professionals to blend their work into one coherent experience in due time. Since Plastic SCM is built for devs and artists to collaborate, the choice for them was clear.

Rendering results in crunch time: performance with binaries and non-binaries

An example of volumetric video managed with Plastic SCM’s version control.

Virtual Voyagers’ and Volograms’ programmers worked on Plastic’s native GUI, most of their designers managed their assets inside Unity’s interface, while one illustrator utilized Gluon. This workflow allowed for minimum friction and loss of focus — binaries over 1 TB big where shared through Plastic SCM with low latency. Graphic assets, physics, and animations lived in the same repo as the source code to have a consistent and manageable build pipeline that they could monitor through the branch explorer.

Switching branches or workspaces is seamless in Plastic SCM.

The complete toolkit in action.

Volumetric video, polygons, and animations united!

The volumetric video assets consist of a series of temporally coherent 3D textured 3D meshes played sequentially. Two main factors determine the performance of the sequence: the polygon resolution of every mesh, and the resolution of their texture atlases. Magic Leap One is perfectly capable of running 50k polygon meshes at 30 fps with 2K textures, and Plastic SCM helps to exchange them between team members.

In this project, 12 cameras were used to record the actor’s movement.

Magic Leap's spatial mapping was used to position this hologram coherently within context.  Using this method allowed the team to use a raycast that interacts with both the real objects and artificial content in a virtual space. The project then creates the virtual content via an occlusion plane set to where the raycast indicates that produces the optimal scene.

Raycasting visualization in Unity to produce the optimal scene.

Plastic SCM, as well as Unity and Lumen OS, perform well with such load. Powered by Jet, Plastic's own built-in repo storage system outperforms all commercial version control in the market. Read Plastic’s performance and scalability benchmark report here.

Shipping projects, one task at a time

The end result is a hologram immersed in your visual field with which you can interact. You can see the end result of Virtual Voyagers’ and Volograms’ project recorded directly from Magic Leap One.

Plastic SCM is a versatile, resilient and powerful source code manager to handle your code base and connect your remote teams. It is the perfect tool to make the best out of spatial computing. The combined forces of Unity’s SDK, Magic Leap One and Plastic SCM allowed Virtual Voyagers and Volograms to present a groundbreaking project that is absolutely breathtaking.

If you want to learn more about Plastic SCM’s capabilities and use cases in game development with Unity please visit the website.

February 10, 2019 in Games | 4 min. read