Schell Games, the design and development studio behind the award-winning VR escape game I Expect You To Die and the sword fighting game Until You Fall, relies on several Unity tools to create incredible VR experiences. Ahead of their hotly anticipated sequel, I Expect You To Die 2: The Spy and the Liar, the team shared a behind-the-scenes look at how they leveraged Unity to create such an immersive, elite spy experience within the technical confines of VR development.
I Expect You To Die 2 transports players through six unique missions filled with espionage and intrigue. Taking on the role of undercover spy, you should prepare to encounter cunning villains and tricky puzzles, in a variety of dangerous locales.
Of course, VR has changed a lot over the years. That’s why the team at Schell Games decided to create a sequel that would capitalize on this growing industry. The original game first launched in 2016, so they sought to follow up in a way that would reflect current-day best practices in VR development, while still maintaining the look and feel of the original game, already loved and revered by their community. Find out more, as we explore the processes and challenges involved in bringing their sequel to life.
We strive to create tools that streamline and simplify aspects of the development process, such as Unity’s XR Plug-in Management Framework.
“A major update is always tricky because anytime a change goes into the engine, something else can break. That’s just how software is,” admits IEYTD2 technical director John Kolencheryl. “Once you reach the halfway point [of] your project, your ability to make engine upgrades is pretty limited.”
Fortunately, the XR Plug-in Management Framework allows third-party SDKs to plug into Unity as a separate module. This means that Schell Games no longer had to update Unity to get a specific feature from a third-party vendor, which helped the team streamline their development process for IEYTD2 and ensure that their project remained stable.
Schell Games customized Unity’s Scriptable Render Pipeline (SRP) to suit their project’s needs. As Kolencheryl explains, “It gave us more control over how we render our game – so much so that Joe Pasek, our graphics engineering lead, was able to develop Vulpine, a custom, in-house rendering pipeline [that] helped us push the visual fidelity of our game. If you compare I Expect You To Die 1 and 2, you will notice a difference that was only [made] possible by our ability to create a custom render pipeline.”
In the complex world of virtual reality development, studios like Schell Games must always be aware of what can cause motion sickness. Unity’s SRP allowed the development team to strike an optimal balance between visual fidelity and performance, so that the IEYTD2 experience would run as smooth as 007 himself.
One thing that Schell Games knew they wanted to incorporate into the sequel was another 360° opening credit sequence. Unity’s built-in Timeline Editor enabled the team to try different ideas, pacing, and other tests, so they could efficiently find the right combination for IEYTD2’s opening credits.
“We could iterate quickly on scenes and work on pacing simply by adding and moving around new animation tracks,” shares VFX artist Jeff Hoffman. “The tool made it incredibly easy to create various animation timings, and then preview those changes. The ability to retime animations native in a timeline [sped things up] when it came to fine-tuning.”
The Timeline Editor also refined Schell Games’ ability to organize intro scenes by grouping animated assets associated with specific scenes, and then collapsing them to reduce clutter. They could even lock asset tracks and groups on the Timeline to prevent accidental changes or duplicates. As Hoffman goes on to say, “This feature was really important because the Timeline got pretty big, really fast, and everything needed to stay in sync.”
When dealing with a variety of input hardware, pay close attention to ensure that the game’s logic runs according to plan. With virtual reality spanning multiple devices – each with a custom controller scheme – Schell Games placed an input abstraction layer between the core gameplay and the input hardware.
Thanks to Unity’s new Input System, the development team set up a generic XR Controller scheme with a set of generic button mappings. While the system takes care of mapping those generic buttons to the input controller hardware, Schell Games can focus on the game code, or logic, that listens to those generic XR controller types.
“Unity’s new Input System has a more user-friendly approach for adding and tweaking controller configurations. We didn’t have to write additional code to support multiple controller schemes, but instead, used an interface in-Editor to add functionality with just the click of a button,” describes Kolencheryl. “The Input System helped us simplify our input abstraction layer, which was a big win for our project.”
Standalone VR headsets like Oculus Quest, and consoles like PS4, usually have a limited amount of memory available compared to a PC. Virtual reality developers should remain mindful of how much memory a game takes up, to ensure that it doesn’t crash.
While working on I Expect You To Die 2, managing tutorials presented an exciting challenge. The developers had to show multiple controller graphics to match the systems that players could use. In other words, the team had to figure out how to manage high-resolution graphics for each player’s controller scheme without eating up all of the memory.
That’s why they turned to Unity’s Addressable Asset System: “If you go beyond the available memory on the system hardware, the game will no longer be able to allocate memory and will result in a crash,” acknowledges Kolencheryl. “We can’t afford to load high-resolution textures [for] every possible controller configuration during our tutorial, so we needed a clever way [to] load and unload these assets on an as-needed basis. Unity’s Addressable System solves this exact problem.”
Once a player leaves the scene, this tool takes the asset back and unloads it from the system’s memory to open up space for more espionage.
A video game can contain hundreds of thousands of assets, often with additional settings that developers can tweak. With Unity’s Preset Manager, you can apply predefined values to assets imported into the Editor.
“Unity’s Presets help us prepopulate custom default values for our game assets,” states Kolencheryl. “We are able to control our default import values for texture resolution, texture compression, audio compression, audio bit rates, prefabs and so on, on a per platform basis with this system. This feature reduces the amount of manual labor otherwise needed, and makes managing these assets less error prone.”
As virtual reality continues to expand, Unity is proud to help studios like Schell Games navigate this vast terrain.
“Unity helped streamline our VR development workflows,” affirms Kolencheryl. “VR is a medium that hasn’t fully matured and continues to evolve at a rapid pace. At Schell Games, we are incredibly proud to be part of this evolution. Unity has played a big role in helping us on this journey.”