Search Unity

Unity Integrated Full Version Control Stack: Plastic SCM

, febrero 10, 2019

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.

Dejar una respuesta

Puede utilizar estas etiquetas y atributos HTML: <a href=""> <b> <code> <pre>

  1. I tried it but it does not work with the free version of Unity combined with the free version of Plastic SCM.
    As i later found out that is by design. Pitty aldo i am a hobbiest i would have loved to work with different branches not only of the C# but also the assets. (I do not know if that is even possible but as it dasn’t work at all for me i can’t try)

  2. WTF! incredible, thanks unity for the info

  3. Amazing volumetric video experiment

  4. What about Collaborate?

    1. Have you actually tried collaborate? Its terrible, lacks features, bugs out a TON and should not be being sold in its current state. We battled with it for 1+ year and then cancelled all of our team accounts. Went to git, never looked back.

  5. I want to know more about Plastic. “It is the perfect tool to make the best out of spatial computing”. It’s also the perfect tool for any other kind of projects? What about creating branches, merging?, It is possible to do save local changes for pushing them like git stash? Thanks

    1. Branching is probably the source control functionality in which Plastic SCM excels best. It has a branch explorer included in every GUI that allows you to switch from branch to branch seamlessly, regardless of the size and history. Creating new branches is also simple both in the interface and in CLI. Merging in Plastic SCM also stands out, it has a powerful
      merge machine incorporated and it can also invoke semantic merge powers to increase automatic merges in supported languages. Lastly, it can save local changes to be pushed later to a repo.

  6. I suppose this is what happens when you sell out and let your client write your articles for you. A whole lot of marketing and nothing of value. Too bad I wanted to see what it’s workflow would have been like and what benefits it offered over git.

    1. The benefits are: it can exchange large files and handle huge repos. It has a specific interface for artists that usually work with assets that are difficult to merge. It supports multiple and versatile workflows and it can work centralized or distributed. You can do trunk-based development or a monorepo committing directly to main. There are several options to choose from.

  7. Not sure what this article wants to say. Expected to get more information about the mystic plasticscm integration, but this reads like too many parties wanted to be featured which gave it very little substance

  8. We have been using Git for version control for almost one year now, what is the benefit of Plastic SCM? Is it worth swapping from a different version control system? Are the tools free? Are there any licensing issues? That would be the kind of question we had like to see answered in this blog post.

  9. Been using plastic for quite some time on a large project, 9000+ commits. Came from dropbox (in the early days) asset server (ewww), tried hard to love git but the learning curve was steeper than i wanted and we killed our repo many times over the course of a couple weeks, SVN was a close match but duplicated project sizes. Plastic is seriously good, it handles large files flawlessly, the thing has progress bars for most interactions with the server (why are there no progress bars with git/svn clients? when will that 1gb asset finish downloading?). It’s free for small teams, they do lock out some nice features though and I’ve been eyeing off that proxy server for a while but i can’t justify it just yet. Just try it.

    1. Free for teams? I don’t see that in their site

  10. What a lot of nonsense! Not sure what this article was telling us. Presumably blog posts like this are a benefit that Unity provides people who pay to be platform partners, but someone should check they’re actually meaningful or they’re a waste for everyone involved.

  11. What a bizarrely written article. I’m actually very interested in Plastic SCM and how it performs and integrates with Unity, but this has done nothing to help. Did anyone watch that video of switching branches before posting this?! Why mix messages by making it about some VR project?

    1. Thanks for the feedback. If you’re interested in performance and integration between Plastic SCM and Unity, you can find more information here. https://www.plasticscm.com/

  12. What does this have to do with the Asset Store?

    1. Probably because of this: “Plastic SCM is developed by Codice, a partner of the Unity Asset Store”

      1. So nothing then. It’s simply them using a tenuously relevant business connection to promote things with the blog.