Table of Contents
It has been a few weeks since Epic release the first Early Access build of Unreal Engine 5. This is the first major release since Unreal Engine 4 was released way back in 2014, so understandable there was a lot of excitement. This version of Unreal goes well beyond new features and completely replaces core elements of the engine, specifically the lighting system and how it handles geometry.
Unreal is targeting a full release in Spring of 2022, but that hasn’t stopped the community from digging in and trying out all the new features. Epic has also shared several detailed live streams of the specific developers talking about the new features. In this article, we’ll take a look at what UE5 has to offer, and what doesn’t yet work, to hopefully give you a better feel if now is the right time to upgrade.
What is Early Access?
Unreal Engine 5 exists as an “Early Access” build. This isn’t just a preview of what is to come, this is a separate branch of the engine that split from the most recent stable release, 4.26. As such, any features or fixes added in 4.27 and later, will not show up in UE5 Early Access until closer to its spring 2022 release. Specifically, this includes the numerous Virtual Production updates included with 4.27. Further, because it is a branch of 4.26, any projects created in 4.27 will not be able to be ported into 5 until the branches merge at launch next year.
According to Epic, this is intended for game development only, and even then, only for games with a target release date of late 2022 or after. The reason for this is that many features are not finalized, and may not work as intended. There may also be critical bugs that could hold up your production, but Epic may not get around to fixing them for a few months. Game developers usually have multi-year production times and are often working with source code. While UE5 may not be ready for production, it is in good enough shape to begin prototyping and testing new features. These new features will have serious impacts on the workflows game developers have built over the years. This Early Access gives them time to adapt to this new way of working.
One of the biggest changes in Unreal 5 is Lumen, the new lighting engine. This is a complete rework of the existing lighting engine. Lumen is now the default setting for global illumination and reflections. The Ray Tracing option is now listed as “Deprecated.” It isn’t clear at this point if that option will remain in the final release, or if we can expect Lumen to be the only option going forward.
For the most part, Lumen works and looks phenomenal. Having just the skylight, or a single point light fills a room with light, not just from that source, but also accurate colored bounce lighting. With a few clicks, you can have a scene with light behaving how you would expect. This stands to save artists considerable time and allow them to make their scenes even that much more realistic.
Lumen is not without its faults. In my testing, full-quality mirror reflections don’t appear quite as good, sort of like they are lower resolution. It is kind of between Screen Space Reflections and Planar Reflections. The trade-off is that in situations where you don’t need mirror perfect reflections (which is the vast majority of the time) you gain performance and quality. Shadows do have some noise around the edges that can be helped a little with some console commands, but hopefully, that’s an area that will improve with the final release.
That leads to another major change, there are no more lightmaps. If in the past you relied on baked lighting, that option is now gone. They claim that you should get the same quality with real-time lighting now. In practice, it doesn’t quite match a high-quality GPU Lightmass, but it is pretty close, and still able to maintain reasonable framerates. Again, this is a very early preview of what’s to come, so things may still improve.
Lumen has a few other limitations to be aware of. First, it only supports static meshes and instanced static meshes. Terrain, foliage, and translucent objects are not currently supported. This explains why their demo scene is covered with instanced static meshes and has no vegetation. Those may come in time, but it’s good to be aware in case you use those. Interiors need to be kept simple, so walls, floors, and ceilings should be separate meshes. So before you import your SketchUp or Revit buildings into Unreal, you’ll want to break them up into smaller pieces.
Lastly, Lumen and Nanite do not support VR or XR platforms. From a presentation Epic gave, this may not come with the final release of UE5 either. They are concerned that they will not be able to provide the performance numbers needed for VR games as both Nanite and Lumen do come with a performance hit. We’ll just have to see what the future of Unreal and hardware hold for us.
Nanite is Unreal Engine’s new virtualized geometry system. You probably wouldn’t notice anything different on the surface when looking at a Nanite mesh versus a standard mesh. However, under the hood, this is a massive change that will have major impacts on how scenes are built and the performance a scene can achieve.
When a Nanite mesh is used in Unreal, the system will analyze that geometry and break it down into clusters of triangles based on how far away that object is from the screen. As the object and camera move further away from each other, the system will swap out clusters so that no triangle gets smaller than a pixel and is therefore not contributing to the final look of that pixel. This means that highly detailed models can be imported and used in real-time without the need to create multiple LODs. Combine this with instance static meshes and a scene can be populated with a huge amount of triangles, with a comparatively low resource cost.
One of the big concerns developers had when Nanite was first introduced, and they promised cinematic quality objects with millions of triangles was the file size. Anyone that has worked with high poly Zbrush models knows that an object with that many triangles will be well over 100MB for just one model. That’s a lot of data to download, store, and for the system to process at runtime. However, Nanite includes new compression techniques. An example from their documentation is that a traditional model with 1.5 million triangles and 4 LOD states takes almost 150MB. That same geometry stored as a Nanite mesh is just under 20MB. This has a lot of caveats, such as different numbers of textures being used, so not every situation will see the same improvements. Either way, any savings in file size is a welcome addition.
Much like Lumen, there are some limitations in the current build. Nanite is currently limited to ridged meshes and does not support skeletal animations or other forms of mesh deformations. So characters will continue with the traditional workflow. It also struggles with foliage, especially the leaves on a tree. For the time being, any foliage will not be able to use Nanite.
There is also the potential for the topology changes to be noticeable in fine details, such as carved text. Above is the most egregious example I could find. Many people will find that acceptable, others will not. I’m sure with some work assets could be generated with Nanite in mind to prevent this from happening, or certain hero objects simply won’t use Nanite.
Also, Nanite is not well suited for massive objects. For example, if you photoscan a canyon, or use topological data to create a mountain, and use those large objects in Unreal, the engine will not be able to adjust the geometry of only the distant parts of the mesh while leaving the nearer geometry highly detailed. For now, the workaround is to take that geometry in your 3d modeling application and break it up into smaller chunks before importing it into Unreal.
There are a few other limitations, so reviewing the official documentation is highly recommended. The good news is that making an object a Nanite object, or not, is as simple as checking a box. If you have an object that the geometry changes are too noticeable, you can simply uncheck a box and render it as a traditional mesh. If you have a finished project from Unreal 4, the static meshes can be converted to Nanite just as easily.
Where are the Plug-ins?
Plug-ins are somewhat a core experience of Unreal Engine. This is especially true for the Virtual Production world. As of right now, Epic does not allow developers to post plug-ins or other content for Unreal 5 to the Unreal Marketplace. Some developers have been able to update their plug-ins and are offering them via their own sites or GitHub. This means if you rely on specif plug-ins for your workflow, you will need to dig around for each one to see if they have a UE5 version available. Many who rely on Epic’s marketplace for payment processing and security will hold off until they can officially offer it on the marketplace.
Should we move to Unreal Engine 5?
That is a tough question. UE5 offers some amazing features. Those features have some significant limitations at the moment that Epic is hoping to alleviate before full release. There are also several stability and performance issues. This is already a huge consideration for users on tight deadlines, but with this being an “Early Access” with no indication of how quickly things may get patched, it could be a deal-breaker. Also, if you rely on specific plug-ins for your work, and those plug-ins do not have a version for Unreal 5 yet, the decision to upgrade engines is made for you. Epic themselves states that Unreal 5 is not production-ready.
What about getting started on future projects? For game developers, if the target ship date is late next year or later, and significant time hasn’t been spent making code changes to the engine, Unreal 5 is worth a look. (note that you won’t be able to ship a game with UE5 before the final release without Epic’s approval) Several of these new features will drastically change the artist workflow, so it is probably a good idea to begin getting acquainted with this new engine and seeing how best to incorporate it into your game.
Virtual Production users will want to look at Unreal 5 and the preview of Unreal 4.7 which includes several additions specific to Virtual Production, but probably not move current productions to them yet. The consensus among these users is that UE5 is not ready for production work. There have been numerous reports of camera tracking issues that could easily derail a live shoot. When on set with a full cast and crew, the last thing you need is any downtime due to software bugs that are common in any early access program. Still, it would be worth spending some time with UE5 to see how your workflow will change. You’ll then be able to hit the ground running once you feel it is ready for production work, and once your plug-ins are updated.
Architecture visualization and other AEC users will be a bit more mixed. For many scenarios, the graphical quality that can be achieved right now with UE5 is quite impressive, and without the need to bake lighting. Some may find the final result, especially in areas like soft shadows and highly reflective surfaces doesn’t match what can be achieved in Unreal 4.26 with baked lighting. With Lumen and Nanite not supporting VR, there isn’t any reason to upgrade if VR is your goal.
Whatever you do with Unreal, I highly recommend taking time to get to know Unreal 5. This is the biggest change to how the Unreal Engine works in the past several years. There are lots of new workflows to sort out. There are always a few growing pains with major releases like this. However, what Epic has given will allow for larger, more detailed, and more realistic environments to be created quicker and easier. Sound off below letting us know if you have already moved to UE5 or if you are sticking with 4.26.
Puget Systems offers a range of powerful and reliable systems that are tailor-made for your unique workflow.