Last month, we shared our vision for the future of Unity’s DevOps solutions. At its core is Plastic SCM – the foundation of our plans and investments to scale with DevOps services and improve collaboration among teams of any size. Get the details on our latest developments as part of the Plastic web experience.
Be sure to join our upcoming beta for early access to new and deeply integrated role-based workflows, code reviews, user and user group management, and so much more. These capabilities not only connect teams, they help increase productivity for real-time content creators. Thanks to your feedback, we can continue shaping the future of version control in game development and RT3D. Read on to see what we’ve been working on, though these updates are in development and subject to change with your ongoing input.
To illustrate the collaborative process issues that we want these developments to address and resolve, we’ll use an example scenario centered on a fictional gamedev team: Saver Studios. For the sake of this example, we’ll say they’re using Unity – but keep in mind that Plastic is an engine-agnostic solution, and Saver Studios could just as easily leverage it with Unreal or another custom engine.
Saver Studios is a mid-size indie game development studio. They’re heading into production with their team of 16 working on a multiplayer RPG for PC and consoles. However, they’re stretched thin and need to bring artist contractors on board so that they can keep up with their release timelines.
Bringing team members on board
In this scenario, Saver Studios onboards six artist contractors to the project. Granular access permissions are incredibly important to the studio when adding new collaborators, especially outside contractors. The Plastic web experience supports them in setting up repository server permissions to the repos as needed. Saver Studios can also specify read versus write access so that contractors can’t sync the whole repository, thereby keeping the project more secure.
While this functionality does already exist via the desktop client, the goal of this release is to get teams up and running directly in the web dashboard. This eliminates the need to install a separate client for routine management tasks.
Additionally, Saver Studios can implement a network (IP) allowed list to prevent malicious users from accessing the organization. If a user tries to connect to the cloud server from an IP that is not on the allowed list, the connection will be rejected. For ease of management, Saver Studios can simply specify the allowed IPs, or name particular users who can connect from certain IPs.
To help new team members get started, Saver Studios maintains a well-documented readme file. The readme is often the first file that a new team member is going to read, as it contains key information about the software, project, code, game, and setup instructions. As Saver Studios onboards new contractors to use the Plastic web dashboard, they are equipped with all the tools at their disposal to make the most of their onboarding process.
Since the readme supports writing and displaying content in markdown, Saver Studios can add and reference various links, screenshots, videos, and GIFs. In other words, they can display content formatted for readability to ensure that they communicate the most important information to readers.
Navigating files and repositories
Saver Studios is organizing their project into three repositories: One for the game, one for raw assets, and one for in-house tools. Let’s say the new artists have been working on the environment models for about a month. In their day-to-day workflow, they must quickly open that repo and view the files to see how changes were made and understand how the files have evolved, all without downloading an entire repo to a local workspace for access.
In our new Plastic web experience, the artist team can conveniently search and browse the repository’s contents. More specifically, File Explorer gives them the opportunity to see all the files in the repository. They can efficiently navigate through them to detect any changes that were made to a particular file across any period of time. Team members can benefit from features like History to peruse the history of any file as well as Annotate to track who made what changes with a timestamp.
Code review for faster feedback
Jett, a programmer at Saver Studios, is working on the behavior tree AI for the game. He just finished reworking a very complex area and needs a couple of other engineers to do a code review. Using the web dashboard, he creates a new review request and adds multiple team members to it. Once submitted, all of the reviewers receive a Slack alert regarding Jett’s request.
In addition to the alerts mentioned above, the review system sends a notification once any review is complete, a change is requested, or someone asks a question. These types of alerts are easily configurable through Plastic’s third-party integrations such as Slack, Discord, and Webhooks.
Alternatively, Jett could send a direct link to the review rather than relying on an automatic notification (great if in a rush). The review process itself is flexible, depending on the reviewer’s preference. For instance, reviewers have the choice to view the diff of changed files in the “Full file view” which shows all lines of code and highlights what has changed, where, and when.
They could even pair it down to show only the changed lines that require attention, and expand and collapse lines that aren’t pertinent to the change, when necessary.
Monitoring activity and usage
For Saver Studios, an important part of managing their project is gaining visibility into the activity of different users on the team, as contractors come and go. This increases predictability for billing cycles, as Plastic will bill based on the users and storage.
In this view, Saver Studios can filter on specific timelines to see how their repository has grown over a period of time. Here, they can look at things like total data storage and active or inactive users to help control costs, and oversee more granular usage such as diffs, branches, merges, and code reviews. Having oversight of these variables facilitates teamwork and ensures that each member is using the full functionality available.
With their workflows running smoothly, and contractors being onboarded with minimal issues, Saver Studios releases a playable beta to their community on time. As feedback rolls in, the team remains agile in their approach for managing the project going forward.
How to get involved
Have ideas you want to share with us? Let’s partner up and shape the future of version control. While our release of the new Plastic web experience shown above is currently planned for the end of the year, there’s still lots for us to do. We’re looking for Unity and/or Unreal users to join our beta program, which provides full access to a production environment. Your feedback will help us refine our features and roadmap so that we build a powerful DevOps platform for game development at any scale.
Explore our plans in this presentation from the Unity DevOps team at GDC: