For developers just starting in the industry, the task of choosing the best game engine can be daunting. Here, we'll try to address many of the issues concerning one of the most popular game engines, Unreal Engine 4, so you can see if it's the right game engine for your project.
You can read our other in-depth guides on all the major game engines on this page.
Photorealism is probably the first word that comes to mind when thinking about Unreal Engine. If you've ever looked at a cut-scene wondering if it's a real-life image or created from scratch, chances are you're playing a game built with Epic Games' technology.
Over the years, Epic has delighted us with tech demos showing what Unreal is capable of, from ray tracing to real-time technology, to physics and destruction systems. Such capabilities make it the preferred engine in the AAA space.
The reveal of Unreal Engine 5 during one of Geoff Keighley's Summer Game Fest announcement also featured an impressive tech demo, demonstrating what should be the "foundation for a new generation of games," said Epic CEO Tim Sweeney during in an interview with GamesIndustry.biz. Projects built in Unreal Engine 4 will be compatible with (and can be moved to) Unreal Engine 5 when it launches in 2021 -- at which point we'll start updating this guide so it reflects the reality of the engine better.
Unreal's photorealism is also one of the reasons why Unreal is widely used outside of games too, in sectors such as architecture, product design, and filmmaking -- Jon Favreau used Unreal Engine 4 for pre-visualisation and production flows on the Star Wars TV series The Mandalorian, and the blockbuster Disney remake The Lion King.
While Unreal Engine has proved its worth in multiple genres and styles of games over the years, its success is built on third- and first-person shooters. Think about the types of games Epic develops: Unreal Tournament, Gears of War, Fortnite -- this is where Unreal Engine excels.
Launched in 1998, Unreal Engine is now in its fourth iteration, Unreal Engine 4. Released in 2014, UE4 dropped its former in-house scripting language in favour of C++ and replaced its visual scripting system for a brand new one, Blueprints. The release of UE4 also marked the launch of its Marketplace.
Another aspect that has evolved drastically over the years is its pricing model. Up until Unreal Engine 3, Epic's licensing costs were high, starting at $99 for its Unreal Development Kit but usually going much higher as most licences were custom. When UE4 was released, Epic Games tested a subscription model at $19 a month, which resulted in its userbase growing ten times larger in a single year. At that point, the company decided to make UE4 free.
Epic then switched to a royalties system -- initially, if your game made more than $3,000 per calendar quarter, Epic would take a 5% royalty. When announcing Unreal Engine 5, the company also changed this system and removed all royalties on the first $1 million in revenue for all games made in Unreal Engine. This took effect on May 13, 2020, but is retroactive to January 1, 2020.
You'll need to report your earnings to Epic every quarter using this online form. The system is flexible, though -- you can choose to pay an upfront fee for a custom licence, an option that can lower or even remove royalties altogether. To learn more about custom licences, you'll need to contact Epic directly.
UE4 supports a wide variety of platforms: Windows PC, PlayStation 4, Xbox One, Mac OS X, iOS, Android, AR, VR, Linux, SteamOS and HTML5. With more than 7.5 million developers using Unreal -- according to Epic CEO Tim Sweeney at GDC 2019 -- it is one of the most popular game engines.
- What are the advantages of Unreal Engine?
- What are the disadvantages of Unreal Engine?
- Advice for new Unreal Engine users
What are the advantages of Unreal Engine?
- Unreal Engine can handle a wide variety of projects
UE4's flexibility is one of the core reasons for its popularity -- whatever the project, it can handle the task. Life is Strange developer Dontnod is a perfect example to show that versatility, as pointed out by CTO Jérôme Banal.
"We have created an action-adventure game (Remember Me), an open-world action-RPG game (Vampyr), several episodic narrative adventure games (Life is Strange 1 and 2), and we have more games in production," he says.
"Epic has made a noticeable effort to address most types of game"
Jérôme Banal, Dontnod
"With the large increase in the number of licensees, Epic has made a noticeable effort to address most types of game. They've published side-scrollers, added examples for everything from racing games to action-RPGs... They've even made effort for 2D games, but I don't think this has been used as extensively as other competing engines."
- Unreal Engine excels at shooters
While UE4 fits most projects, it should be love at first sight if you're working on a shooter -- the toolset and codebase are geared towards that kind of experience.
"You're going to have the easiest time the closer you are to [a first- or third-person shooter], even if Epic has done a good job of broadening the types of games that can be made [with] UE4," says Mark DeGeorge, programming director at Obsidian Entertainment.
David Mervik, senior narrative designer at Little Nightmares developer Tarsier Studios, adds arena shooters and battle royale games to the mix, saying that "while technically it is possible to create any game with Unreal, it excels at making games that are similar to anything Epic Games has published."
- Epic gives you access to the source code
Access to the entire C++ source code for the engine is one of the reasons UE4 is so flexible. The code can be downloaded from GitHub, you can tweak it, and you don't have to pay for it. By comparison, Unity only gives Pro and Enterprise customers access to its source code -- and that comes at a price.
Pierre de Margerie, CEO of Absolver developer Sloclap Games, says that's the reason his studio chose Unreal: "The ability to have access to the source code of the engine and modify it to our needs was the primary motivation."
Matt Robinson, technical director at We Happy Few studio Compulsion Games, adds that being able to make modifications deep in the engine code can be crucial: "This is especially important in the last few months in development as we can fix engine issues ourselves when it's critical."
- Unreal Engine is free
Developing and releasing a game made with Unreal is entirely free, with a 5% royalty due to Epic only when a game passes $3,000 revenue per quarter.
"This is amazing for developers, but also students and people who are interested in how a cutting-edge game engine is built from the ground up," says Filip Coulianos, lead level designer at Hazelight Studios.
Compulsion Games' Robinson adds: "Unreal provides a set of tools that would be too expensive for us to try and build ourselves, and as a small studio -- especially at the time [of We Happy Few] -- it wasn't worth it to try and build our own engine. We would much rather spend that time on the creative part of the game."
- Unreal Engine allows for quick prototyping and iteration
In addition to being flexible and free, UE4 makes rapid iteration easy, which is useful when starting a new project. That's the very reason why Moss developer Polyarc chose the engine.
"A lot of us came from proprietary in-house engines where what you could do with the engine was more rigid and less flexible and it certainly takes longer to implement or prototype features," says Joshua Stiksma, principal engineer and designer at Polyarc, the VR studio behind Moss.
"One of the things with UE4 that stood out was its ease of prototyping, getting ideas into a digestible form"
Joshua Stiksma, Polyarc
"One of the things with UE4 that stood out was its ease of prototyping -- getting ideas into a digestible form where you could iterate on experiences that were going to be key to defining what the game was."
The two-person indie studio Kaizen Game Works, currently working on Paradise Killer, adds that this ease of prototyping and iterating is valuable when you need to handle a lot of assets. It allows you to try more ideas and quickly understand what can and can't be done.
"[Paradise Killer] is an open world game and there's only two of us, so we need to get a lot of assets in very easily and quickly" says creative director Ollie Clark Smith. "The renderer and the lighting are just amazing out of the box. Because we're a small team, we need our game to look good immediately, so you just load up a scene in UE4 and put a light in and it already looks good."
- Unreal Engine is made simple for non-technical staff by Blueprint
UE4's visual scripting system, Blueprint, is the main reason the engine is a great tool for prototyping and iteration. In Blueprint, you drag-and-drop nodes and add wires to connect them and add logic. This node-based interface allows designers who don't have a technical background to explore their ideas without needing to know how to code.
"From a content development standpoint, I think Blueprint is really huge," Polyarc's Stiksma says. "The fact that our audio director and various artists on our project can start making logic that affects the design of the game very quickly and not have it be some very bug-prone worry for us down the line, is huge."
Craig Wright, technical director at Sumo Digital, adds that Blueprint empowers non-programmers to such an extent that it creates situations where "roles are reversed, and designers and artists become the champions for new engine features."
- Unreal Engine is great for large-scale games
As demonstrated by its standing as a mainstay of AAA development, Unreal scales well to larger teams and games with a lot of content. According to Kaizen technical director Philip Crabtree, it may be the market-leading engine in this respect.
"I've used Unity a lot, and I think it's really optimised for small-scale games -- Unreal is better at scope," Crabtree says. "It's a very robust engine at dealing with large scenes, with a lot of actors. It's got a lot of tools out of the box, so if you want to do things like level streaming you can pretty much just do that."
- Unreal Engine lowers the bar to multi-platform development
Not only can UE4 handle bigger games, its rendering features make it adept at scaling them across different platforms.
"The rendering pipeline is modern and cutting-edge, supporting a huge variety of platforms from mobile to high-end computers," Tarsier's Mervik says. "While this does not solve all problems that come with multi-platform development, it lowers the bar significantly."
Polyarc's Stiksma says Unreal's scaling based on platform is especially valuable when working in VR, as you have to take comfort in consideration.
"We're quickly able to adjust things like particles, by saying: if it's Android here are the settings, if it's on a standard PC platform, it's these settings. That made it relatively quick for us to scale and actually hit the framerate targets that we needed to, because otherwise we're hitting hitches that are absolutely unacceptable for VR."
- Unreal Engine has a broad toolset and a robust editor
Unreal's ease of use is also supported by a wide range of features and tools, within an intuitive editor that is accessible to many disciplines. Tarsier's Mervik is full of praise for the editor, which allows "a large part of the team to extend systems and create gameplay that otherwise would not be possible."
Dontnod's Banal is similarly enthusiastic about UE4's range of tools: "It provides solutions for pretty much every macro task you'll have to address: scene layout including landscape and foliage, cinematics, visual scripting, particle system, animation network, materials creation, lightmapping, asset management, level of details, physics, basic bricks of AI, performance and memory tracking tools for optimisation.
"Outside of creating and rigging objects and their textures, you can do pretty much everything from within the editor or a handful of related tools."
- Unreal Engine makes recruitment easier
One advantage UE4 shares with Unity is how easy it is to recruit proficient staff and collaborate with studios who also use the engine.
"Unreal seems like the de-facto engine new developers learn to use first," Hazelight's Coulianos says. "The vast majority of developers seem to have picked it up and at least learned the basics."
"Unreal seems like the de-facto engine new developers learn to use first"
Filip Coulianos, Hazelight
And that's true regardless of the experience of the recruit, with young developers often being proficient in Unreal from day one. Sumo's Wright adds that UE4 also allows for more fruitful partnerships between studios, considerably reducing the ramp up time associated with introducing new teams to a project, and allowing "useful work" to be produced much more quickly.
"For example, on Crackdown 3 we worked with several companies, including Red Kite and Flix Interactive, who were able to provide specialist Unreal programmers and technical designers," he says. "This was very much not the case when we first started using UE4 seven years ago, and is a welcome change."
- Unreal Engine has good official and community-based support
Being a widely used engine means your support has to be top-notch, and that seems to be the case with UE4 -- Obsidian's DeGeorge praises Epic's "really great" interaction with its users.
"Support from Epic is very good and we knew we could get answers to tough questions," he says. "We typically received responses to our queries within 24 hours and from very knowledgeable developers."
It's worth mentioning that the level of support provided may depend on how you access the engine. A paying UE4 user with a custom license will have the direct attention of Epic's development team, while a free user will likely have to rely on the wealth of tutorial and online resources to find answers.
But the quality should be there regardless, says Sumo Digital technical director Chris Rea, as online resources are another aspect of UE4 that has massively improved over the years.
"From the original private developer forums, we are at a point where there is a wide network of public support and a large repository of knowledge, available to anyone via the internet," he says. "This information is an incredibly valuable resource."
- Unreal Engine's Marketplace is well-stocked
If you're only just beginning your journey in game development, or if you're part of a small team, you'll likely need to download assets to use in your game. Luckily for you, UE4 has a generously stocked Marketplace.
"You can just buy a lot of very well priced assets, and when you need to fill a world and you don't want to make a million crates, you can just get that and dump it in," Kaizen's Clark Smith says. "And I think UE4 just gives you a lot of confidence in your game very early, because It takes a lot of pressure off you to make something look good."
Kaizen's Crabtree adds that the asset store is slightly superior to the one offered by Unity: "I find [UE4's] marketplace is perhaps a bit more advanced in terms of variety. Unity's got a really good one, but if you want shaders, Unity is not really the place to go for that. Unreal's got it."
- Unreal Engine is good for VR thanks to performance tracking
UE4 also scores points for its profiler, which monitors performance by collecting and tracking game data. Understanding performance was particularly important for Polyarc, which is charting the relatively unknown waters of VR.
"We've launched on headsets where we have to get 90 frames per second," Stiksma says. "We also launched recently on the Oculus Quest, where it was 72 frames per second, and it was brilliant to open the UE4 profiler straight to see where things were costing more and how we could actually optimise the game.
"[UE4] makes it quite easy, especially using the hot path feature, to figure out what is the most expensive thing in your game. We use that quite heavily to ensure that we optimise what we need to."
According to Stiksma, performance tracking is just one feature that is beneficial to VR developers. Indeed, alongside Unity, developers interested in the emerging market need look no further than UE4.
"I think [Epic] is actually taking VR very seriously," he says. "You'll see this from Unity as well. A lot of VR developers who use these engines are realising all of these key advantages. VR is a small market at the moment, so it sort of demands smaller teams. It works really well when [engine makers] put out features for VR specifically. It's helping teams, and usually small teams."
What are the disadvantages of Unreal Engine?
- Unreal Engine can struggle with a lot of data
One of UE4's greatest paradoxes is that despite excelling at large-scale games, you can also quickly reach its limit if you try to go too big, or too open world. This affects various aspects of development.
"The main thing that comes to mind is that large streaming levels are still difficult to do well," says Obsidian's DeGeorge. "At a certain size the ability to edit them well in the editor starts to suffer, and at runtime, there are some performance issues that are difficult to address."
Brian Heins, senior designer at Obsidian, continues: "One area that no engine is good at supporting (unless it's specifically designed for this) is the amount of data that an RPG needs to manage. UE4 is not intended to visualise and manage the sheer number of weapons, armor, consumables, conversations, and so on, needed for an RPG."
Dontnod's Banal adds open world games to the mix: "We find it is still lacking for open world games. Fortnite is open world, but it's much more lightweight than most open world projects."
- Unreal Engine is too much engine for very small games
"When you're targeting a specific platform, the available options tend to be unsuitable in terms of performance"
Chris Rea, Sumo Digital
UE4 is well suited to bigger games, so think carefully if you're aiming for a smaller project -- various aspects could run slowly, from the editor itself to official support. Unity may be better suited to your needs if you're working on a small game or a mobile game.
"UE4 comes with the background of being an engine for large AAA titles supporting tons of features for all kinds of advanced systems," Hazelight's Coulianos says. "Therefore the editor can run slow, and seem a bit overkill if you are making a very small and simple game -- for a phone, for example."
- Unreal Engine needs tweaking to meet specific needs
UE4 caters to a variety of projects and platforms, so development can be difficult if you have very specific requirements. A lot of tweaking will be required to get settings to align correctly.
"There are a huge number of configuration and setup options available," Sumo Digital's Rea says. "When you're targeting a specific platform, or small set of platforms, most of the available options tend to be unsuitable in terms of performance -- you're looking for that one golden configuration which exactly suits the game you're trying to make on the target platform."
Some developers will suffer from this more than others -- VR studios for instance. As Polyarc's Stiksma points out, the sector is still niche, and so the answer to your settings issues will not always be a Google search away.
"If you are building for certain platforms, you'll need a clear technical understanding of what settings are needed for export options," he says. "Just trying to figure out which specific setting we needed to enable a certain option or which certain options were unavailable on certain platforms [was a challenge]."
- Unreal Engine is difficult to harness without technical expertise
The challenge of finding that "golden configuration" speaks to a larger problem. While UE4 caters to less experienced developers thanks to Blueprint, some aspects of the engine will remain difficult to grasp unless you have the right technical background.
Having some kind of experience as a programmer will help, but even with that background UE4 has quite a steep learning curve.
"You really want some C++ programming experience to take full advantage of the engine," Compulsion's Robinson adds. "You can do a lot with Blueprints, but there's a lot that's easier and/or much more efficient to handle at the C++ layer."
Unreal was initially meant for shooters and this is where the issue lies, Tarsier's Mervik points out: "The further you diverge from this, the more technical skills you need on the team to extend the engine with your own systems, or add onto existing systems to create the tools needed for your specific needs."
Advice for new Unreal Engine users
- Be ready to adapt to Unreal Engine, both now and in the future
As already mentioned, UE4's versatility means you'll probably have to tweak the engine so it meets your needs. You should do this as early as possible, checking your game's design against the engine's possibilities, and being mindful of any changes Epic makes.
"While UE4 provides you with a lot of tools, do not assume it will solve all your problems," Tarsier's Mervik says. "Take the time needed to learn about the various tools and general architecture of the engine to avoid running into problems later. The earlier you learn to make things work with Unreal, rather than against it, the better off you'll be."
"You should expect to be developing against a somewhat moving target"
Philip Rankin, Sumo Digital
Philip Rankin, technical director at Sumo Digital, adds: "Epic has its own development roadmap for the engine and plans for change. Consequently, you should expect to be developing against a somewhat moving target for a lot of development.
"Most of these improvements will of course be beneficial, but if you have made a lot of engine changes it can cause substantial rework. Make sure you build time into your schedule to handle this, update the engine on a regular basis, and properly budget both time and resources against this."
- Start building with Blueprint, but plan ahead
As always, when it comes to considering your engine options, the best thing to do is just to try it for yourself. That is made even easier thanks to UE4's Blueprint system, which Kaizen's Clark Smith describes as "phenomenal" for "scripting gameplay and interactive objects."
Kaizen's Crabtree advises to experiment with a smaller idea, and move on to a bigger project once you're familiar with the system: "Start with the templates, make little tweaks, understand how those systems work and then you can expand out of it."
However, while many respondents praised Blueprint as one of UE4's best features, they also advised to exercise discipline when using it, and plan carefully to avoid performance issues. Converting your Blueprints to C++ can help mitigate against those problems.
"Unreal is very powerful, and very flexible, but this flexibility can come with a cost," Sumo's Rankin says. "If you don't track your usage of Blueprints you can very quickly find that you are suffering from CPU performance problems, and memory management issues. Profile, profile, and profile again."
Dontnod's Banal adds: "Blueprint is faster than the old UnrealScript, but keep the number of Blueprints in check, notably those using Tick. It can add up very quickly if you have lots of script running in parallel. You might want to remove the Tick box if your team is the wild kind."
- Keep your modifications separate from the engine
Having access to Unreal's source code means you'll be able to tweak things as you see fit. But Dontnod's Banal advises to be careful about the way you make these modifications.
"Keep your modifications as separate from the engine as possible," he says. "Merge your modifications in the engine and not the reverse. Epic has tens of dedicated engineers -- you probably don't, so they modify the engine much more than you."
- Lean on Unreal Engine's community and Marketplace
Whatever problem you're facing with UE4, there's a large and engaged community out there that has likely already solved it -- don't overlook how useful that can be.
"If you're not sure exactly how to use the interface for a particular editor feature, or the documentation is a little light on detail, there will be a dozen tutorials on YouTube and a handful of blog posts on the topic," Sumo's Rea says. "You're rarely left trying to find the one developer in the office who wrote a system and knows how to set it up."
Another aspect of the UE4 community is its Marketplace, and even experienced studios such as Obsidian use it to save time.
"We did make use of some of the store for assets during prototyping and used some plugins extensively in our workflow throughout the project," DeGeorge says.
- Try Unity (at least) before making your decision
Trying UE4 before settling is a given, but Dontnod's Banal also suggests going further and trying other engines -- and one in particular.
"If I look at the engine's 'crowd' from a long-term point of view, there are only two engines that are backed strongly enough for me to capitalise on them: Unreal and Unity," he says. "So, it's a very small crowd.
"You don't just use an engine. You train a team on it, you build tools and pipelines around it, you add modifications for your type of game and workflow. You don't want to build on something that might disappear before the next game, or worse, in the middle of production.
"To be fair, financial stability can be double-edged: the recent success of Fortnite might bring Epic's focus away from the engine business but until now, I am not seeing a sign of that; the development is going strong. Financial stability and persistence are a must-have and Epic has it."