What engine to choose for creating a VR game: Unity or Unreal Engine?
Hello everyone, my name is Mykhailo Buravkov, and I am the CEO of ByOwls, a company that specializes in developing VR games, products for Virtual Production, and VR streaming systems. This is the first part of a blog where I will talk about developing VR games and choosing a game engine for these purposes.
The history of VR development
To do this, we need to take a closer look at the history of virtual reality and try to predict what awaits it in the near future.
The first prototype of a virtual helmet appeared back in 1957 – it was called Sensorama and was the first example of the application of multi-sensory immersion technology. It was very bulky, expensive, and aimed primarily at demonstrating the new possibilities of the latest technology.
The next important historical date in the development of virtual reality technologies was 1984 when NASA tried to create a “Virtual Workstation” – their technology was ahead of its time. They were the first to develop a helmet with the ability to track hands, interact, and display full-fledged three-dimensional (3D) computer graphics, but the technology was still too expensive for mass use. It took a lot more time for a truly popular helmet to appear, which would be affordable for not everyone but already available for real fans of new technologies.
The revolution in the development of VR came in 2011 with the appearance of the Oculus CR1 prototype. Despite the fact that the project was planned to be non-commercial, a series of random events helped the developers to demonstrate the capabilities of the VR headset prototype Rift at E3 2012 in the game Doom 3, as one of the 3D technologies.
Shortly thereafter, a crowdfunding campaign was launched for $250,000, and the developers managed to collect the necessary amount in just 4 hours. In a short period of time, they closed the campaign at almost $2.5 million. In March 2014, Oculus VR was bought by Facebook for $2 billion, marking the beginning of the modern history of virtual reality development.
This backstory shows us the long and challenging path that VR has gone through and where it is currently at, and now let’s talk about the numbers.
VR Market Figures
The global market volume of virtual reality (VR) and augmented reality (AR) headsets reached 11.2 million units in 2021, an increase of 92.1% compared to the previous year, according to IDC analysts released on March 21, 2022.
According to IDC research, the dominant AR/VR device in the world as of the end of 2021 was the Oculus (Meta) Quest 2 headset, which had a market share of 78%. In second place was the popular DPVR headset, which is popular in Asian markets, with a presence of around 5%. The VR model Pico VR from ByteDance, which was successful not only in Asia like DPVR but also in North American and Western European markets, rounded out the top three. Its market share in 2021 was 4.5%.
In 2021, the VR and AR headset market reached $29.5 billion, and it is expected to continue growing at an average rate of 27% over the next five years. By 2027, its value in monetary terms is expected to approach $125 billion, according to a report by the analytics company Research & Markets in August 2022.
This analysis provides a clear answer as to why developers are actively interested in developing VR applications and games because there is currently a window of opportunity for small and medium-sized companies to enter the VR market with their products and try to establish themselves there – with each year, this opportunity will become smaller and larger players will gradually squeeze out independent studios and companies, as is happening in the traditional gaming market.
How to create VR games
In fact, there are several ways to create a virtual reality product, from creating your own game engine, which offers great opportunities for product development, but is the most expensive and can only be pursued by large companies like Valve with their Half-Life: Alyx, or using the most popular, relatively free engines for working with VR, namely Unity and Unreal Engine (UE) 4/5.
Today we will be discussing UE4/5, not because it is necessarily better – currently, Unity is the most popular engine for virtual reality, as evidenced by two of the most popular games: the social VR network VRChat and the tech shooter Boneworks.
We will be talking about UE4/5 because, in our opinion, it has greater potential from a technical standpoint. Based on our development experience and reasoning, we believe that this engine could be at the forefront of VR in the near future.
Let’s list a few significant advantages:
- UE blueprints (visual coding) are executed five, and in some cases, ten times faster than Unity Visual Scripting;
- Knowledge of C++ has its advantages. It’s complex to learn but universal, and you can easily learn other languages like C# after it. C++ is also used to write custom engines;
- The engine is advanced in terms of graphical rendering;
- Mobile optimization is currently the most advanced, thanks to the constant development of Fortnite, which is Epic Games’ flagship game and a demonstration of the engine’s capabilities;
- The introduction of some technologies in UE5 that previously did not have VR support, such as Nanite and Lumen.
*Lumen is a dynamic global lighting and rendering system in UE5.
*Nanite is a technology that automatically scales geometric detail in real time based on the distance to the object. It is intended to replace LOD (Level of Detail), which developers use to optimize graphics.
I also want to list the significant advantages of Unity, which for many can be decisive when choosing an engine for their first game:
- A large amount of documentation and tutorials can significantly speed up development;
- The Unity Asset Store is much better, with a wide variety of plugins, assets, and purchasable content;
- The C# language is easy to learn;
- There is a low barrier to entry for independent studios or for creating a first game project;
- The development cost is cheaper due to everything mentioned above.
Our team, ByOwls, is a developer of a multiplayer VR game – Rival Rides, with releases on SteamVR, Oculus, and Pico, which is why we know what to consider when planning game development for PCVR and Mobile VR.
The most important question that will face the developer is optimization, and it should be at the core of project planning. This applies to both PCVR and Mobile VR platforms, especially the latter. The developer must clearly understand the capabilities of the headsets, the number of polygons in the scene, texture sizes, and other limitations that this type of development will impose on them. RenderDoc with its analytics will be your best friend.
RenderDoc is an open-source frame debugger that can be used to analyze individual frames in games. It can provide in-depth analysis of individual frames from any program using Vulkan, D3D11, OpenGL, and OpenGL ES or D3D12. It also allows the user to manipulate the captured frame to check various things such as texture maps, models, assets, and much more. RenderDoc can also capture resources outside the focus of the game camera and supports analyzing rendering costs on the graphics processor.
Depending on the project, you will need to keep in mind the numbers related to the limitations imposed by VR helmets, such as: using no more than one hundred thousand polygons per scene; adding textures with a resolution of 512, or no more than 1k for large assets; limiting the use of particles in VFX; reducing or completely avoiding the use of opacity in materials (transparent materials); properly configuring project settings, using MSAA smoothing with 2x parameters, and more.
This knowledge and recommendations will help you plan all the paths and stages of project development correctly, from the optimized creation of models to the implementation of game logic.
UE4/5 has an accessible and easy-to-use visual coding system – the same blueprints that will help save time in project development. Of course, you won’t be able to do without basic C++ classes that will be used to create blueprints, but almost the entire game can be written on them, as time is the most valuable resource. Therefore, it’s not worth listening to stories about AAA companies that never use blueprints because they supposedly slow down script execution. There is some truth to this, but not all and not for everyone – in my opinion, you will hardly find a game project that is entirely created on C++ objects, as it simply doesn’t make sense when there is a ready and fast tool – I’m sure everyone understands that time is money.
The UE4/5 engine is cross-platform, so you won’t have any problems with ports on different platforms, such as on mobile Oculus Quest and HTC Vive, which render the visual part using your computer’s graphics card – just install the necessary SDKs and settings.
An important element of resource saving is tools or plugins that you can find on the Epic Games marketplace.
We ourselves are the developers of one of the most popular plugins – the Virtual Plugin – for working with cinematics for game scenes, which is used by hundreds of game companies around the world. So, if you find a tool that will help you in your work and save your energy – be sure to use it, whether it’s a framework or a blueprint with game logic. You can always refine it to your needs – it will really save you invaluable time, which you can use for polishing or testing the game in the final stages of development.
This is just an introductory part about game engines and VR. In the next part, we will discuss in more detail game assets, plugins, and other tools that may come in handy when developing your first game. Therefore, we will continue to share our experience and interesting information with you. See you in virtual worlds!