Unreal Engine (UE) is a 3D computer graphics
game engine developed by
Epic Games, first showcased in the 1998
first-person shooter video game Unreal. Initially developed for
PC first-person shooters, it has since been used in a variety of genres of games and has been adopted by other industries, most notably the film and television industry. Unreal Engine is written in
C++ and features a high degree of
portability, supporting a wide range of
desktop,
mobile,
console, and
virtual reality platforms.
The latest generation,
Unreal Engine 5, was launched in April 2022. Its source code is available on
GitHub, and commercial use is granted based on a
royalty model, with Epic charging 5% of revenues over US $1 million, which is waived for games published on the
Epic Games Store. Epic has incorporated features in the engine from acquired companies such as Quixel, which is seen as helped by Fortnite's revenue.
In 2014, Unreal Engine was named the world's "most successful videogame engine" by Guinness World Records.[2]
Unreal Engine 1 was initially developed in 1995 by Epic Games founder Tim Sweeney for
Unreal. Epic later began to license the Engine to other game studios.
Unreal Engine 2 transitioned the engine from software rendering to hardware rendering and brought support for multiple platforms like the
PS2. The first game using UE2 was released in 2002 and its last update was shipped in 2005.
Unreal Engine 3 was one of the first game engines to support
multithreading. It used
DirectX 9 as its baseline graphics API, simplifying its rendering code. The first games using UE3 were released at the end of 2006.
Unreal Engine 4 brought support for physically based materials and the "Blueprints" visual scripting system. The first game using UE4 was released in April 2014. It was the first version of Unreal to be free to download with royalty payments on game revenue.
Unreal Engine 5 was revealed in May 2020 and officially released in April 2022. Major features of Unreal Engine 5 include Nanite, a virtualized geometry system that allows game developers to use arbitrarily high quality meshes with automatically generated Level of Detail, and Lumen, a dynamic global illumination and reflections system that uses software and hardware ray tracing.
UnrealScript (often abbreviated to UScript) was Unreal Engine's native
scripting language used for authoring game code and
gameplay events before the release of Unreal Engine 4. The language was designed for simple,
high-levelgame programming.[3] UnrealScript was programmed by Tim Sweeney,[4] who also created an earlier game scripting language,
ZZT-OOP.[5]Deus Ex lead programmer Chris Norden described it as "super flexible" but noted its low execution speed.[6]
Similar to
Java, UnrealScript was
object-oriented without
multiple inheritance (classes all inherit from a common Object class), and classes were defined in individual files named for the class they define. Unlike Java, UnrealScript did not have object wrappers for primitive types. Interfaces were only supported in Unreal Engine generation 3 and a few Unreal Engine 2 games. UnrealScript supported
operator overloading, but not
method overloading, except for optional parameters.
At the 2012 Game Developers Conference, Epic announced that UnrealScript was being removed from Unreal Engine 4 in favor of
C++.[7]Visual scripting would be supported by the Blueprints Visual Scripting system, a replacement for the earlier Kismet visual scripting system.[8][9]
One of the key moments in Unreal Engine 4's development was, we had a series of debates about UnrealScript – the scripting language I'd built that we'd carried through three generations. And what we needed to do to make it competitive in the future. And we kept going through bigger and bigger feature lists of what we needed to do to upgrade it, and who could possibly do the work, and it was getting really, really unwieldy. And there was this massive meeting to try and sort it out, and try to cut things and decide what to keep, and plan and...there was this point where I looked at that and said 'you know, everything you're proposing to add to UnrealScript is already in C++. Why don't we just kill UnrealScript and move to pure C++? You know, maximum performance and maximum debuggability. It gives us all these advantages.'
Verse is the new scripting language for Unreal Engine, first implemented in Fortnite.[11]Simon Peyton Jones, known for his contributions to the
Haskell programming language, joined Epic Games in December 2021 as Engineering Fellow to work on Verse with his long-time colleague
Lennart Augustsson and others.[12] Conceived by Sweeney,[13] it was officially presented at Haskell eXchange in December 2022 as an open source
functional-logic language for the
metaverse.[14] A research paper, titled The Verse Calculus: a Core Calculus for Functional Logic Programming, was also published.[15]
The language was eventually launched in March 2023 as part of the release of the Unreal Editor for Fortnite (UEFN) at the Game Developers Conference, with plans to be available to all Unreal Engine users by 2025.[11]
Marketplace
With Unreal Engine 4, Epic opened the Unreal Engine Marketplace in September 2014. The Marketplace is a digital storefront that allows content creators and developers to provide art assets, models, sounds, environments, code snippets, and other features that others could purchase, along with tutorials and other guides. Some content is provided for free by Epic, including previously offered Unreal assets and tutorials.[16] Prior to July 2018, Epic took a 30% share of the sales but due to the success of Unreal and Fortnite Battle Royale, Epic retroactively reduced its take to 12%.[17]
Unreal Engine has found use in film making to create virtual sets that can track with a camera's motion around actors and objects and be rendered in real time to large
LED screens and atmospheric lighting systems. This allows for real-time composition of shots, immediate editing of the virtual sets as needed, and the ability to shoot multiple scenes within a short period by just changing the virtual world behind the actors. The overall appearance was recognized to appear more natural than typical
chromakey effects.
Orca Studios, a Spanish-based company, has been working with Epic to establish multiple studios for virtual filming similar to the StageCraft approach with Unreal Engine providing the virtual sets, particularly during the
COVID-19 pandemic, which restricted travel.[33]
In January 2021, Deadline Hollywood announced that Epic was using part of its Epic MegaGrants to back for the first time an animated feature film, Gilgamesh, to be produced fully in Unreal Engine by animation studios Hook Up, DuermeVela and FilmSharks.[34] As part of an extension of its MegaGrants, Epic also funded 45 additional projects since around 2020 for making movies and short films in the Unreal Engine.[35] By October 2022, Epic was working with several different groups at over 300 virtual sets across the world.[36] Unreal Engine was used for
motion capture in
Lyle, Lyle, Crocodile.[37]
Other uses
Unreal Engine has also been used by non-creative fields due to its availability and feature sets. It has been used as a basis for a virtual reality tool to explore pharmaceutical drug molecules in collaboration with other researchers, as a virtual environment to explore and design new buildings and automobiles, and used for cable news networks to support real-time graphics.[38]
The state of the Unreal Engine came up in Epic's 2020 legal action against
Apple Inc. claiming anticompetitive behavior in Apple's iOS App Store. Epic had uploaded a version of Fortnite that violated Apple's App Store allowances. Apple, in response, removed the Fortnite app and later threatened to terminate Epic's developer accounts which would have prevented Epic from updating the Unreal Engine for iOS and macOS.[61] The court agreed to grant Epic a permanent injunction against Apple to prevent Apple from taking this step, since the court agreed that would impact numerous third-party developers that rely on the Unreal Engine.[62]
^Peyton Jones, Simon (November 5, 2021).
"An Epic future for SPJ". Haskell Community Discourse.
Archived from the original on May 20, 2022. Retrieved May 4, 2022.
^"Interview with Simon Peyton Jones". Haskell Foundation. March 25, 2022.
Archived from the original on March 27, 2023. Retrieved March 27, 2023. So Tim Sweeney is the founder and CEO of Epic and he is a computer scientist and has been interested in programming for a long time. So he knows about Haskell and loves Haskell actually. So I think that's why he thought of people like me and Lennart and was keen to have us. But Verse isn't a Haskell clone by any means. It's a language that Tim has been designing sort of in his head actually for – I don't really quite know how long, I should ask him – around a decade. So it's informed by functional programming and imperative programming and game programming and logic programming. There's a lot going on in Verse. Lennart's and my job is to sort of reverse engineer Verse out of tim's head and get it set down in a kind of formal semantics that everybody else can make make sense of.