How Unity built a gaming engine for the future
September 10, 2020 at 14:02 PM EDT
Unity is currently in a powerful position as the key platform for developing VR/AR content and distributing it across different operating systems and devices.
Eric Peckham Contributor Eric Peckham is the creator of the Monetizing Media newsletter and podcast. He was previously TechCrunch’s media columnist.
Unity has expanded beyond gaming, pouring hundreds of millions of dollars into a massive bet to become an underlying platform for humanity’s future in a world where interactive 3D media stretches from our entertainment experiences and consumer applications to office and manufacturing workflows.
Much of the reporting about Unity’s S-1 has mischaracterized the business. Unity is easily misunderstood because:
Last year, I wrote an in-depth guide to Unity’s founding and rise in popularity, interviewing more than 20 top executives in San Francisco and Copenhagen, plus many other professionals in the industry. In this two-part guide to get up to speed on the company, I’ll explain Unity’s business, where it is positioned in the market, what its R&D is focused on and how game engines are eating the world as they gain adoption across other industries.
In part two, I’ll analyze Unity’s financials, explain how the company has positioned itself in the S-1 to earn a higher valuation and outline both the bear and bull cases for its future.
For those in the gaming industry who are familiar with Unity, the S-1 might surprise you in a few regards. The Asset Store is a much smaller business that you might think, Unity is more of an enterprise software company than a self-service platform for indie devs and advertising solutions appear to make up the largest segment of Unity’s revenue.
What is a game engine?
Unity’s origin and core business is as a game engine, software that is similar to Adobe Photoshop, but used instead for editing games and creating interactive 3D content. Users import digital assets (often from Autodesk’s Maya) and add logic to guide each asset’s behavior, character interactions, physics, lighting and countless other factors that create fully interactive games. Creators then export the final product to one or more of the 20 platforms Unity supports, such as Apple iOS and Google Android, Xbox and Playstation, Oculus Quest and Microsoft HoloLens, etc.
In this regard, Unity is more comparable to Adobe and Autodesk — which both have integrations with Unity — than to game studios or publishers like Electronic Arts and Zynga.What are Unity’s lines of business?
Since John Riccitiello took over as CEO from co-founder David Helgason in 2014, Unity has expanded beyond its game engine and has organized activities into two divisions: Create Solutions (i.e., tools for content creation) and Operate Solutions (i.e., tools for managing and monetizing content). There are seven noteworthy revenue streams overall:Create Solutions (29% of H1 2020 revenue)
Aside from these three product categories, Unity is reporting another group of content creation offerings separately in the S-1 as “Strategic Partnerships & Other” (which accounts for further 9% of revenue):
Unity is compared most frequently to Epic Games, the company behind the other leading game engine, Unreal. Below is a quick overview of the products and services that differentiate each company. The cost of switching game engines is meaningful in that developers are typically specialized in one or the other and can take months to gain high proficiency in another, but some teams do vary the engine they use for different projects. Moving an existing game (or other project) over to a new game engine is a major undertaking that requires extensive rebuilding.Epic Games
Epic has three main businesses: game development/publishing, the Epic Games Store and the Unreal Engine. Epic’s core is in developing its own games and the vast majority of Epic’s estimated $5.6 billion in 2018 revenue came from that (principally, from Fortnite). The Epic Games Store is a consumer-facing marketplace for gamers to purchase and download games; game developers pay Epic a 12.5% cut of their sales. In those two areas of business, Unity and Epic don’t compete. While much of the press about Unity’s IPO frames Epic’s current conflict with Apple as an opportunity for Unity, it is largely irrelevant. A court order blocked Apple from punishing iOS apps made with Unreal. Unity doesn’t have any of its own apps in the App Store and doesn’t have a consumer-facing store for games. It’s already the default choice of game engine for anyone building a game for iOS or Android, and it’s not feasible to switch the engine of an existing game, so Epic’s conflict does not create a new market opening.
Origins: Unreal was Epic’s proprietary engine that was licensed to other PC and console studios and became its own business as a result of its popularity. Unity launched as an engine for indie developers building Mac games (an underserved niche) and expanded to other emerging market segments considered irrelevant by the core gaming industry: small indie studios, mobile developers, and AR and VR games. Unity exploded in global popularity as the main engine for mobile games.
Programming language: Based in the C++ programming language, Unreal requires more extensive programming than Unity (which requires programming in C#) but enables more customization to achieve higher performance.
Core markets: Unreal is much more popular among PC and console game developers; it is oriented toward bigger, high-performance projects by professionals. That said, it is establishing itself firmly in AR and VR and proved with Fortnite it can take a AAA console and PC game cross-platform to mobile. Unity meanwhile dominates in mobile games — now the largest (and fastest-growing) segment of the gaming industry — and has kept the largest market share in AR and VR content.
Ease of authoring: Unity has prioritized ease of use since its early days, with a mission of democratizing game development that was so concentrated among large studios backed by substantial budgets. This is why Unity is the common choice in educational environments and by individuals and small teams creating casual mobile games. Making Unity easier to use, including among nondevelopers remains an R&D focus. Unreal does have a visual scripting tool to conduct some development without needing to code, but it’s far from a no-code solution to developing a high-quality game (no one offers that). Unreal isn’t dramatically more complex but, as a generalization, it requires more work and technical skill.
Pricing: While Unity operates on a freemium subscription model, Unreal operates on a revenue-share, taking 5% of a game’s revenue. Both have separately negotiated pricing for companies outside of gaming that aren’t publicly disclosed.
In-house game development: Aside from its first two years of existence operating out of a Copenhagen apartment, Unity has never focused on creating its own content (aside from short films and demos to highlight new technology). Epic argues that building games informs them to build a better engine that has been more heavily tested for bugs. Unity argues that creating games in-house would put it in competition with customers and that it builds a better engine for the overall market by focusing solely on that and not repurposing an engine built first for a specific use case (e.g., MMOs).
M&A: Like Unity, Epic has made acquisitions to strengthen Unreal’s technical offering to game developers and to industrial customers, like its purchases of Quixel (a library of 3D scanned real-world assets) and Twinmotion (for bringing BIM and CAD assets into an engine).Proprietary engines
Many large gaming companies, especially in the PC and console categories, continue to use their own proprietary game engines built in-house. It is a large, ongoing investment to maintain a proprietary engine, which is why a growing number of these companies are switching to Unreal or Unity so they can focus more resources on content creation and tap into the large talent pools that already have mastery in each one.Others
Other game engines to note are Cocos2D (an open-source framework by Chukong Technologies that has a particular following among mobile developers in China, Japan and South Korea), CryEngine by Crytek (popular for first-person shooters with high visual fidelity) and Amazon’s Lumberyard (which was built off CryEngine and doesn’t seem to have widespread adoption or command much respect among the developers and executives I’ve spoken to).
There are many niche game engines in the market since every studio needs to use one and those who build their own often license it if their games aren’t commercial successes or they see an underserved niche among studios creating similar games. That said, it’s become very tough to compete with the robust offerings of the industry standards — Unity and Unreal — and tough to recruit developers to work with a niche engine.
UGC platforms for creating and playing games like Roblox (or new entrants like Manticore’s Core and Facebook Horizon) don’t compete with Unity — at least for the foreseeable future — because they are dramatically simplified platforms for creating games within a closed ecosystem with much more limited monetization ability. The only game developers they will pull away from Unity are hobbyists on Unity’s free tier.
I’ve written extensively on how UGC-based game platforms are central to the next paradigm of s.ocial media, anchored within gaming-centric virtual worlds. But based on the overall gaming market growth and the diversity of game types, these platforms can continue to soar in popularity without being a competitive threat to the traditional studios who pay Unity for its engine, ad network, or cloud productsWhat’s at the forefront of Unity’s technical innovation?DOTS
In recent years, Unity has been developing its “data-oriented technology stack,” or DOTS, gradually rolling it out in modules across the engine.
Unity’s engine centers on programming in C# code, which is easier to learn and more time-saving than C++ since it is a higher level programming language. Simplification comes with the trade-off of less ability to customize instruction by directly interacting with memory. C++, which is the standard for Unreal, enables that level of customization to achieve better performance but requires writing a lot more code and having more technical skill.
DOTS is an effort to not just resolve that discrepancy, but achieve dramatically faster performance. It makes use of the ability to add annotations to C# code to further customize the code’s instructions and automatically recompiles code written by humans to be optimized for how a computer carries out instructions. The standard programming languages in use by humans are all oriented around how humans think (object-oriented); Unity claims a proprietary breakthrough in understanding how to reorganize object-oriented code into data-oriented code (optimized for how computers think) so that when it is compiled into the lowest level languages that provide 1s-and-0s instructions to the __, it is orders of magnitude faster in processing the request. This level of efficiency should, on one hand, allow highly complex games and simulations with cutting-edge graphics to run quickly on GPU-enabled devices, while, on the other hand, allowing simpler games to be so small in file size they can run within messenger apps on the lowest quality smartphones and even on the screens of smart fridges.
Unity is bringing DOTS to different components of its engine one step at a time and users can opt whether to use DOTS for each component/step of their project. The company’s Megacity demo (below) shows DOTS enabling a sci-fi city with hundreds of thousands of assets rendered in real-time, from the blades spinning on the air conditioners in every apartment building to flying car traffic responding to the player’s movements.
The forefront of graphics technology is in enabling real-time ray tracing (a lighting effect mimicking the real-life behavior of light reflecting off different surfaces) at a fast enough rendering speed so games and other interactive content can be photorealistic (i.e., you can’t tell it’s not the real world). It’s already possible to achieve this in certain contexts but takes substantial __ [processing power?] to render. Its initial use is for content that is not rendered in real-time, like films. Here are two videos from __ by Unity and Unreal, each demonstrating ray tracing that makes a digital version of a BMW look identical to video of a real car.
To support ray tracing and other cutting-edge graphics, Unity released its High Definition Render Pipeline in 2018. It gives developers more powerful graphics rendering for GPU devices to achieve high visual fidelity in console and PC games plus nongaming uses like industrial simulations. By comparison, its Universal Render Pipeline optimizes content for lower-end hardware like mobile phones.Next-gen authoring
The Unity Labs team is focused on the next generation of authoring tools, particularly in an era of AR or VR headsets being widely adopted. One component of this is the vision for a future where nontechnical people could develop 3D content with Unity solely through hand gestures and voice commands. In 2016, Unity released an early concept video for this project (something I demo-ed at Unity headquarters in SF last year):
Game engines are eating the world
The term “game engine” limits the scope of what these platforms are already used for. They are interactive 3D engines used for practically any type of digital content you can imagine. The core engine is used for virtual production of films to autonomous vehicle training simulations to car configurators on auto websites to interactive renderings of new buildings.
Both Unity and Unreal have long been used outside gaming by people repurposing them and over the last three to five years have made expanding use of their engines in other industries a big priority. They are primarily focused on large- and mid-size companies in (1) architecture, engineering and construction, (2) automotive and heavy manufacturing, and (3) cinematic video.
In film, game engines are used for virtual production. The settings, whether animated or scanned from real-world environments, are set up as virtual environments like those of a video game where virtual characters interact and with human actors captured through sets surrounded by the virtual environments on screens. The director and VFX team can change the surroundings, the time of day, etc. in real-time to find the perfect shot.
Since assets can be imported from CAD, BIM and other formats, and since Unity gives you the ability to build a whole world and simulate changes in real-time (on a screen or in AR/VR), there are a vast scope of commercial uses for it. There are four main use cases for Unity’s engine beyond entertainment experiences:
Unity’s ambitions beyond gaming ultimately touch every facet of life. In his 2015 internal memo in favor of acquiring Unity, Facebook CEO Mark Zuckerberg wrote “VR/AR will be the next major computing platform after mobile.”
Unity is currently in a powerful position as the key platform for developing VR/AR content and distributing it across different operating systems and devices. Zuckerberg saw Unity as the natural platform for building “key platform services” in the XR ecosystem like an “avatar/content marketplace and app distribution store” for this next paradigm.
If the company can maintain its position as the leading platform for building mixed-reality applications in the coming era I envision where mixed reality is our main digital tool, Unity’s IPO will help it build a solid foundation.