Choose your operating system: Show
What's New?Unreal Engine 5.0 was a groundbreaking release, bringing a whole slate of new tools to users. 5.1 is building upon the framework of 5.0, delivering updates and improvements to facilitate the creation of next-generation, real-time 3D content and experiences even further. Our focus was on making our feature set robust, workflow-friendly, and versatile, with the needs of different sectors in mind. Visual Integrity and Performance We have delivered improvements to support you in creating 60 fps games for next-generation consoles and capable PCs. Those include:
Building Bigger Worlds and Collaboration
Virtual Production and In-Camera VFX We continue to rapidly develop new tools for virtual production and In-Camera VFX (ICVFX). Working with footage is now easier than ever.
Keep reading to find out more information about these tools, and the full list of all improvements in Unreal Engine 5.1. This release includes improvements submitted by our community of Unreal Engine developers on GitHub. Thank you to each of these contributors to Unreal Engine 5.1: ABoy (lvhuming), AchimTuran, Adrian-Marian Popoviciu (ArmainAP), Aidin Abedi (aidinabedi), aknauermaxon, Albin Odervall (albinodervall), aldenc98, Alex Garcia Ruiz de Oteiza (AlexOteiza), Alexander (DecoyRS), Amit Kumar Mehar (amuTBKT), andersonbisconsin, Andreas Andersson (derwiath), Antoine Vugliano (avudnez), AntsyBoi, az6667, Ben Raziel (benraziel), Ben Rog-Wilhelm (zorbathut), Ben Sutherland (BlenderSleuth), Ben Sweeney (BenSweeneySG), BenAD83, Benito Alessandrino (BennyExtreme), Benjamin Thomas Blodgett (BenVlodgi), bestofact, bhickmanl, bitdewy (bitdewy), bmiwcy, Brang Pakdring (brangpd), Brent G (Punlord), Brent Goodacre (WGBrent), Brent Scriver (FineRedMist), Bromfitsen, Cameron Rapp (MalikuMane), cbrandtieng, Cecco (ceccocecco), Charles Alexander (muchcharles), Chris Anderson (CasperTheCat), Chris Haddon, Christian Kendall (ckendal3), Chris Wallis (The Coalition), cmsinflexion, CodingBot (ameaninglessname), Colden Cullen (ColdenCullen), daktor, Damien Kochanek (DamienKochanek), Dan Hertzka (HertzDonut), David Bollo, David Gilbert (davidyrgilbert), David Nadaski (GlassBeaver), dbsigurd, dening (loening), Denis Blank (Naios), Dezső Zoltán (zaki), Diyou, Dmitry Korshunov (originomeg), Dmitry Vinnik (vinnik-dmitry07), Doğa Can Yanıkoğlu (dyanikoglu), dorgon chang (dorgonman), Dorian (Hisamera), Dorian Gardes (d-gardes), Doug Richardson (drichardson), Douglas Jose (douglasjose), Douglas Lassance (douglaslassance), drcxd, Dzmitry Malyshau (dm-tesla), Eddie Stubbington (Edstub207), Edin Suta (edinsuta), Elhoussine Mehnik (HoussineMehnik), Elliot Colp (ecolp-improbable), Emil Rosenquist (EmilRosenquist), Enno Rehling (ennorehling), Eric Thiffeault (ethiffeault), Ethan Thornburg (erebel55), etheranger, Evan Hart (ehartNV) (NVidia), Filippo Tarpini (Filoppi), Fluffy Kalashnikov (FluffyKalashnikov), Fredrik (Temaran), furby™ (furby-tm), fury22pl, Gabriel T. Nardy (gtnardy), Gamergenic (gamergenic), Gaurang Ingale (gaurang-ingale), Geordie Hall (geordiemhall), Georgy Treshchev (gtreshchev), Giovanni Paolo Viganò (gpvigano), Hannah Gamiel (hgamiel), Hirofumi Seo (HSeo), IgnacioFDM, Igor Karatayev (yatagarasu25), igor-kondratiev, Ilddor, Ilya (ill), Incredible (ameaninglessname), Isaac Ashdown (Eyesiah), Isaac Ribeiro (i-ribeiro), Jack Andersen (jackoalan), Jack Isaacs (JackIsaacs), Jackson Fields (fieldsJacksonG), Jacob Kostenick (kostenickj), James Baxter (TheJamsh), Jared Taylor (Vaei), Jay Lu (JayLu2000), Jeremy Abel (jeremyabel), Jessica Chen (Intel), jm00517, John (GoldNotch), John Dickinson (jdckmz), Jonas Kjellström (JonasKjellstrom), Jørgen P. Tjernø (jorgenpt), JSaueressig88, Juan M Gómez (jmgomez), June Rhodes (hach-que), Justin Bostian (jb5n), JustinTime (JustinTether), Kacper Kowalczuk (Ogniok), kaffeewolf, Kai Klyden (RoboMage), Kenn Zhang (breakstring), Kenshin Azuma (aziogroup), Kevin Østerkilde (Kosai106), Kevin Xiao (KXOC), Koji Kawasaki (kedamazigoku), KonstantinKohl, KrisRedbeard, Kristján Valur Jónsson (kristjanvalur), Krunoslav Zaher (kzaher), Krzysiek Justyński (MothDoctor), leobenaducci, Levil0229, lijenicol, lijinlong, LindyHopperGT, LizardThief, losemymind (losemymind), Lukasz "iniside" Baran (iniside), MagForceSeven, Måns Isaksson (mansisaksson), Marat Radchenko (slonopotamus), Marcel Egle (EgleM2022), Marco Antonio Alvarez (surakin), Marijn Suijten (MarijnS95), Mario Arsenov (Xertor), Marius Petcu (dapetcu21), Marnix Kuijs (MarnixKuijs), Matias N. Goldberg (darksylinc), Matthias Hölzl (hoelzl), Maxim Ivanov (redbaron), melchior-haven, Meta Immersive Synthetics (metakgs), Michael McCartney (mccartnm), Mike Bell (MichaelBell), Mike Seese (seesemichaelj), Mike Slegeir (tehpola), mikoto-studio, Milan Šťastný (aknarts), Minseok Lee (codeonwort), Mohammad Mossa (WizardCell), Morva Kristóf (KristofMorva), muyang.zhang (87770906), nathandh23, Neema Teymory (nteymory), Nicholas Frechette (nfrechette), Nicholas Nathan Colotouros (NicholasColotouros), Nick Edwards (NEdwards-Sharkmob), Nick Edwards (NEdwards-SumoDigital), Nick Lamprecht (freezernick), NickScriv, Nico Ell (nicoell), nuntax, nutti, Paolo Galeone (galeone), Paul Greveson (moppius), Paweł (PoetaKodu), Peter Kovář (1div0), phisko, Phyronnaz, pl-dsk, Pratik Chavan (ppchavan001), ProgC, projectgheist, pwoytiuk, Qinja, QRare, Quentin Dietz (quentin-dietz), RangeMachine, Rareden, Remi Palandri, Rem (rveilleux), René Ferdinand Rivera Morell (grafikrobot), Rick G (rtrick), Rob Cowsill (rcowsill), Robert.Kawiak (Intel), Robert Kihl (kihl), RumbleballTheReal, rveilleuxBHVR, Ryan DowlingSoka (Ryan-DowlingSoka), Ryan Van Vliet (RyanVHumanoid), ryugibo, S_MC (slimsons), Scott Ramsay (foobit), Sean Saleh (seansaleh), Sébastien Rombauts (SRombauts), Setepenre (Delaunay), SkyXMoon, splatxman, sqexmuelas, Stas Korotaev (Stals), steelixb, Stefan Zimecki (stefan-zimecki) (Improbable.io), sunduk, SungJinKang (SungJJinKang), takaokato, Teodor Chishiki Jakobsson (Maigo), Tobi W (TWAtGH), Tom van Dijck (tvandijck), Travis Hopkins (djethernet1), Urszula Kustra (ukustra), Valery Komarov (ValeryKomarov), Ves (VesCodes), WinsonS (WinsonSS), Wouter Weynants (WouterWeynants), xiexbmu, yang xiangyun (pdlogingithub), Yashas Gujjar (yashasg), yashverma, Yohann MARTEL (ymartel06), YoshikazuAzechi (y-azechi), yumnuska, Yuri Belleri (ZioYuri78), Yuriy (SmelJey), Zsófia Balogh (zosiu), 丛越 (congyue1977), 华清飞扬-小木子 (hui211314dd), 徐晨 (kimixuchen) RenderingLumen ImprovementsLumen now supports the Two-Sided Foliage shading model, by gathering lighting from the backface and scattering it through the leaf, attenuated by the material's Subsurface Color.
Lumen's Software Ray Tracing also has a new, much more accurate representation for foliage through stochastic semi-transparent distance field ray traces, which fixes over-occlusion on foliage. Lumen uses Spatiotemporal Blue Noise for cleaner image quality, especially when the camera is not moving. The biggest quality improvements can be seen when Lumen is using the High Global Illumination scalability level, which is targeted at 60fps on next generation consoles.
Lumen's Software Ray Tracing now samples the Surface Cache directly instead of a low resolution and leaky voxel representation. This improves secondary bounces, reflections, and global illumination from small emissive surface elements.
When the project has High Quality Translucency Reflections enabled, Lumen Reflections provide mirror reflections on the frontmost layer of Translucent Surface materials.
Lumen Reflections now support Single Layer Water, with reflections forced to mirror.
Other Lumen features and improvements for this release include:
For more information, see Lumen Technical Details. Nanite ImprovementsNanite includes the following features and improvements for this release:
Starting in Unreal 5.1, Nanite requires Shader Model 6 to be enabled with DirectX 12. No settings changes are required for Vulkan. For more information, refer to Nanite Virtualized Geometry. Temporal Super Resolution ImprovementsTemporal super-resolution is now improved in this release in multiple areas:
For more information, refer to Anti-Aliasing and Upscaling. Path Tracer ImprovementsPath Tracer includes the following features and improvements for this release:
For more information, refer to Path Tracer. GPU Lightmass ImprovementsGPU Lightmass includes the following features and improvements for this release:
For more information, see GPU Lightmass. Translucent Overlay MaterialYou can now assign Static and Skeletal Meshes a secondary Overlay Material. You can use this to achieve certain visual effects without requiring a duplicate mesh. The mesh will be rendered twice – once with a base material and once with the translucent overlay material. There is only one overlay material per mesh regardless of the number of material slots, allowing for shading effects that span across the entire mesh in one pass.
On-Demand Shader CompilationOn-Demand Shader Compilation (ODSC) compiles only the shaders needed to render what is seen on screen in the editor, and during iterative platform development using cook-on-the-fly. ODSC can significantly reduce the number of shaders to be compiled for those who routinely sync their builds and have a large number of shaders to compile, those who iterate on materials and shaders often, and for anyone without access to a remote DDC for cached shaders. ODSC is enabled by default and can be controlled with the cvar While ODSC can reduce shader compilation for most working on large projects that regularly compile large numbers of shaders, it does not currently reduce the number of "global shaders" that are compiled during the initial startup of the editor. DX12 PSO Compilation ImprovementsUE 5.1 aims to reduce stalls caused by shader compilation by starting to compile PSOs earlier, when components are loaded, rather than at the point where the object is rendered. This reduces or eliminates the need to manually gather PSO caches, which is a time-consuming process and cannot guarantee perfect coverage. It is still possible to experience stalls if an object has to be rendered immediately after it's loaded. For the case of background streaming of distant objects, we've added the option to skip rendering the mesh until the PSO is ready, which trades stalls for delays in drawing these objects. Similarly, if a title needs to teleport the camera to a completely new location, or otherwise needs to display many new materials at once, there won't be enough time to compile all the PSOs. In this case, the game code needs to load the materials and meshes earlier, and hint the renderer ahead of time that it will need to draw them. The existing PSO cache system can still work alongside the new system. It's possible to devise hybrid approaches, where there's a small, manually generated PSO cache containing materials which are known to be needed all the time, or are going to be used after a teleport event, and let the automatic system take care of most of the other materials. This system is still under development and its performance will improve in future engine releases. It will also be expanded to support other RHIs, such as Vulkan. Strata Materials (Experimental)Strata is a new way of authoring materials that replaces the fixed suite of shading models, such as Default Lit and ClearCoat, with a more expressive and modular framework that provides a greater range of surface appearances and a wider parameter space from which to work. Performance for Strata Materials scales according to complexity and desired budget of a project, with legacy materials having a similar cost as before.
You can enable Strata from the Project Settings under Engine > Rendering >Strata. To learn more about Strata in its experimental state, visit the Epic Developer Community forums. Texture and Texture Asset Editor ImprovementsTextures and The Texture Asset Editor includes the following improvements for this release:
Lumen off:
Lumen on:
DirectX 12 with Shader Model 6 is Default on PC for New ProjectsAll newly-created projects for Unreal Engine 5 now use DirectX 12 with Shader Model 6 (SM6) enabled by default on PC. DX12 enables us to be more efficient on all fronts regarding CPU time, GPU time, and memory usage, and it unlocks new features (ray tracing being the most prominent one). Nanite and Virtual Shadow Maps require DX12 with SM6 going forward. For projects already using DirectX 12, you can enable SM6 from the Project Settings under Platforms > Windows > D3D12 Targeted Shader Formats with the SM6 checkbox. When DX12 is used on PC, the engine will try each enabled shader model in descending order, so if both SM5 and SM6 are enabled, it will first try SM6, and if it is not supported by the machine, fall back to SM5. If none of the enabled shader models is usable, it will fall back to DX11 SM5, unless that's disabled in the project settings. This logic does not apply if the RHI or shader model is forced via the command line, using the Please note that shader instruction counts in the Platform Stats section of the Material Editor will not be directly comparable between SM6 and SM5 because of the differences in the SM6 intermediate language. The SM6 instruction count will appear higher for equivalent levels of complexity. SM6 instruction counts should only be compared to other SM6-compiled materials. Anamorphic Depth of Field and Camera Crop (Experimental)Depth of field adds support for anamorphic lenses that have a vertically stretched bokeh shape. Anamorphic bokeh provides a performant option without having to provide fully custom texture support to your project. Additionally, you can now crop the camera view to a commonly-used or custom aspect ratio.
You can find the anamorphic bokeh settings in the Cine Camera and Post Process Volume settings under Lens Settings using the Squeeze Factor setting. You can find the settings to crop your camera's aspect ratio in the Cine Camera under Crop Settings. Choose a common aspect ratio or use Cropped Aspect Ratio to specify one. For more information, refer to Cinematic Depth of Field. Material Editor In-line EditingWe redesigned over eighty Material Expressions to include in-line editing of constant values and properties directly on the node in the Material Graph. This is a powerful quality-of-life improvement for the Material editing workflow, as users no longer need to select a node and edit values in the Details panel in many cases. Light Mixer (Beta)The Light Mixer is a new editor window that displays all lights in the scene in a compact tabular format for rapid inspection and editing, similar to how the Environment Light Mixer includes scene environment lighting components.
Features of the Light Mixer:
Virtual Shadow Maps: Distant Light ModeVirtual Shadow Maps improve the efficiency of scenes with many local lights rendered at a distance. Enable it using the console
command Virtual Shadow Maps now require DirectX 12 with Shader Model 6 (SM6) be enabled in the Project Settings. SM6 is enabled from the Platforms > Windows > D3D12 Targeted Shader Formats. Hardware Ray Tracing Windows 10 Version RequirementsHardware Ray Tracing now requires the same minimum Windows 10 version as Nanite and Virtual Shadow Maps. For more details, refer to Hardware and Software Specifications. Ray Tracing shaders are compiled when targeting either SM5 or SM6 D3D12 shader formats, as before. WorldbuildingWorld Partition Data Layer ImprovementsData Layers is a system designed to conditionally load and unload your world data by toggling data layers in the editor and at runtime. Data Layers are an excellent way to organize your world in the editor to handle different scenarios in your game, and create variations of the same world.
This release, the Data Layers system received the following improvements:
For more, see the World Partition - Data Layers documentation. HLOD Support for Water Body ActorsUnreal Engine's full suite of Water System rendering and meshing tools provide the ability to add a variety of Water Body Actor types to your levels to represent water.
In this release, Unreal Engine's Hierarchical Level of Detail system (HLODs) now fully supports Water Body Actors. You can assign each Actor to an HLOD Layer, and each Actor has a variety of HLOD settings that can be customized to fit your project's needs. For more information on the Water system, refer to the Water System documentation. For more information on the Hierarchical Level of Detail system, refer to the Hierarchical Level of Detail and World Partition - Hierarchical Level of Detail documentation. Actor Editor ContextWith the release of Unreal Engine 5.1, the editor now displays the Actor Editor Context in the lower right corner of the 3D viewport.
This small box displays the currently-selected sub-level, World Partition Data Layer, Level Instance, or the currently-active Outliner Actor Folder. Any Actors placed in the world are automatically added to the current Actor Editor Context. Uncontrolled Changelist Support in Source ControlUnreal Engine's Source Control system supports collaboration within development teams by facilitating the sharing of asset and code files through version control, as well as by providing file backups and a history of changes for your project.
Source Control works closely with One File Per Actor making it an important part of World Partition workflows. In Unreal Engine 5.1, Source Control has received several quality-of-life improvements and can now make use of Uncontrolled Changelists. This feature tracks all the writable files within your project, providing a running list of all your local changes.
Uncontrolled Changelists are enabled by default in Unreal Engine 5.1. For more information on in-engine Source Control, refer to Source Control Inside Unreal Editor documentation. Large World Coordinate Support for World Partition (Beta)Large World Coordinates (LWC) introduces support for double-precision data variant types in Unreal Engine 5. With the 5.1 release, we expanded the system to support for World Partition. Large World Coordinates World Max IncreaseNew for this release, we raised the default world extents from 22 km to 88,000,000 km, allowing for much larger worlds to be created. For more information on Large World Coordinates, refer to the Large World Coordinates documentation. Virtual ProductionIn-Camera VFX EditorWe added a dedicated stage operator panel to collect the most commonly-used controls for ICVFX stage operations in one curated UI. Color corrections, nDisplay adjustments, and light cards are now presented in one place allowing for efficient stage operations.
Improved Light Card systemWe enhanced Light Cards to use a UV projection logic that keeps them in the designed shape when represented on an LED wall. We also slimmed down the UI for the creation, editing, and placement of Light Cards to present only the controls that are relevant to this creative lighting task. Improved Color Correction controls for ICVFXWe expanded the workflows for color correction for ICVFX productions. Color correction regions work in 3D, and you can combine them with or use them in conjunction with 2D shapes as power windows. This is in addition to the per-viewport color corrections. You can now optionally restrict color grading effects of any given Color Correction Region / Window to the pixels that belong to an array of actors. Media Plate
Previously, streaming media in your scene required manually mapping together elements using Blueprints. You can now add the Media Plate actor element directly to your Scene instead, which takes care of all the underlying connections. Media Plate uses the EXR tiling and mips for image sequences at the highest-quality maximum resolution and color depths. When you use the premade Sphere and Rectangle shapes in Media Plate, Unreal Engine only streams the pixels currently viewed by the Camera, lowering the budget cost for streaming. This lets you balance the load on render notes and improves per-PC bandwidth limitations. The new video architecture brings:
EXR Plate Performance
Uncompressed EXRs provide the best quality for video footage and have the fastest path for processing using adequately fast storage devices. We added a new system to pre-process uncompressed EXRs and break them down into a set of tiles and mipmap levels. Using the workflow of the Media Plate Actor then allows these properly optimized EXRs to playback through the system with the best possible efficiency by streaming and rendering only the visible tiles according to the Viewport alongside with the right mip level, whether being rendered through the nDisplay system or standalone. Lumen for In-Camera VFX (Experimental)Lumen now has support for multiple viewports in nDisplay and can be used for ICVFX. Each viewport will use an independent Lumen Scene to eliminate artifacts in LED volumes. In addition to Lumen, Virtual Shadow Maps also support multiple viewports for nDisplay and ICVFX through the same mechanism. Cine Camera near clippingThe Cine Camera now has a per-camera Custom Near Clipping Plane. Virtual CameraOutput from Virtual Camera now includes support for WebRTC Pixel Streaming, offering a more reliable and performant streaming option that can be viewed both in the Live Link VCam app as well as in any web browser. Virtual Camera also now includes support for Enhanced Input in Editor, to allow for remappable control of the VCam with any supported hardware device. These changes are enabled by default on the new VCamActor, which replaces VirtualCamera2Actor, alongside a redesigned default operator HUD focused on a Live Action Camera-Like feel and a clean frame image. Furthermore, there are Virtual Camera UI and UX improvements.
Virtual Scouting ImprovementsVirtual Scouting now works with OpenXR and Enhanced Input system. Live Link Face CSV Importer pluginIf you use the Live Link face iOS app to record facial capture on the device only (not connected to Unreal Engine and recorded in Take Recorder), you can now import the (backup) recording once extracted. The device stores a Multi-user Server UIWe added a UI to the multi-user server to inspect the running status of the server live. This allows operators and ICVFX stage managers to inspect, monitor, and diagnose problems during multi-user server operation. This has benefits over the console server which only provided a stream of connection information over a console command and did not provide contextual information about the running server operation. The console server is still available for operation on headless computers or computers where running a UI is not possible. For example, a Linux server or containerized operation. Movie Render QueueImproved Texture BehaviorWe made several improvements to how Movie Render Queue (MRQ) handles texture streaming. Improved handling for incorrect mipmaps being loaded when Texture Streaming is enabled. Texture streaming is still disabled by default in MRQ, but can be enabled to save memory in large projects. Cinematic PrestreamingYou can now create Virtual Texture and Nanite cinematic caches using the Prestreaming Recorder. This plugin is used as a render pass to build a cache for the Cinematic Prestreaming system to interpret. Once built, you can reference the cache in your sequence to ensure that Nanite and Virtual Texture data streams in more reliably during your cinematic. Camera ImprovementsWe added new camera-related features to Movie Render Queue. You can now render from multiple camera angles in the same shot by enabling Render all Cameras before running your MRQ job. Orthographic cameras are now also supported, making it possible to render sequences using non-perspective cameras. Currently Path Tracer is the only supported render pass for this option. Runtime API ImprovementsWe simplified the Movie Render Queue API in a way that greatly reduces the complexity of using MRQ in shipping projects. Now you can simply request a new job from the subsystem, set the configuration for it, and then ask the subsystem to render the job. You no longer need to use queues, manually configure the executor, or set up basic settings on the job such as the world to render and the level sequence as a soft path. nDisplay
nDisplay Media I/O Mapping System (Experimental)We improved the workflow to provide users the ability to specify arbitrary time-synchronous pixel sources and destinations to ICVFX cameras, nDisplay viewports, and the application window backbuffer. This means, in addition to the native UE 3D scene render, users can now also register IP video sources such as SMPTE 2110, media textures, or live-generated data from hardware capture devices to nDisplay viewports. SMPTE 2110 support (Experimental)We added support for SMPTE-2110 I/O (using Rivermax) to Unreal Engine. Using the new Media I/O Mapping System, nDisplay render nodes can directly stream to LED wall processors that support SMPTE-2110. This also allows a different hardware configuration for nDisplay systems where each inner frustum can be rendered by a dedicated machine. Each inner frustum can then be shared to each machine that renders part of the total image for compositing over the outer frustum. This will allow for improved performance, and linear scalability of cameras as well as more predictable content performance. Movie Render Queue Support for nDisplayUsers can now render nDisplay viewports to disk using MRQ. New settings allow users to pick a configuration file and the desired viewports to render at their native and specified resolutions. nDisplay Quick Local LauncherYou can now quickly launch an nDisplay-enabled project locally, to use for debugging and locally trying out your project on your PC without needing a cluster. Default Visual Studio VersionUnreal Build Tool (UBT) now generates the Visual Studio solution file for the latest version of Visual Studio installed, unless you have a Platform SDK installed that does not support the latest version. In this case, UBT generates the Visual Studio solution file for the latest version of Visual Studio that supports the Platform SDK in question. The preferred compiler is Visual Studio 2019. Clang 13 SupportClang 13 is now the required version when compiling for Clang-based platforms such as Linux. Static Code AnalysisUnreal Build Toolnow supports running several different Static Code Analyzers. Static code analyzers use a variety of algorithms and techniques to analyze source code and find bugs without executing the code. Supported Analyzers:
The syntax for using Unreal Build Tool to run a static code analyzer is:
For example, you can enter the following into the command-line to run the default static code analyzer for the selected compiler with Unreal Editor as the target on a Windows 64-bit system:
For more information, refer to the Static Code Analysis documentation, which includes details about the supported analyzers and additional command line options. Unreal Header Tool (UHT) has been rewritten using C# and integrates directly with the Unreal Build Tool. The purpose of this rewrite is to:
The C++ Unreal Header Tool is now deprecated and will be removed as soon as possible, but no earlier than UE 5.2. There are two reasons to continue using C++ UHT prior to its removal from Unreal Engine along with information about how to continue using C++ UHT:
In either case, it is important to port C++ UHT changes and script generator plugins to C# prior to C++ UHT being removed from UE. If you
need to make changes to C# UHT, you can find the source code in C# Script Generator PluginsWe provided a sample C# script generator plugin in
The supplied factory object contains the context needed to export the UE data types. The factory object contains a Best Practices for C# UHT
AudioMetaSounds (Beta)
MetaSounds, our high-performance graph-based audio system, has several new improvements in 5.1. We've expanded our library of nodes to provide new functionality, such as pitch shift, grain delay, rerouting, and more. Additionally, we added multichannel audio output support, making it easier for you to create immersive surround sound experiences. To learn more about MetaSounds, refer to the MetaSounds documentation. Audio ModulationThe Audio Modulation plugin is no longer a Beta feature and is now fully integrated with MetaSound. This feature provides a generic method for modulating audio parameters. Now, anything can be a modulation source or destination. You can define your own groups of parameters and control them how you want. Audio Gameplay Volumes (Beta)Audio Gameplay Volumes are the next iteration in geometry-based audio management and control. Designed as a replacement for the legacy Audio Volumes system, the Audio Gameplay Volumes system provides component-based options for Unreal Audio Engine feature integrations, extensibility, and tighter gameplay integration, including movability and dynamic transformations. To learn more about Audio Gameplay Volumes, refer to the Audio Gameplay Volumes documentation. Soundscape (Beta)Soundscape procedurally generates ambient sounds, such as rustling foliage, chirping birds, and bustling traffic, which are streamed as the player moves around the world. Once set up, the plugin manages and composes these sound systems autonomously and removes the need to manually create them. Waveform Editor (Beta)
The Waveform Editor is a new tool for viewing and editing sound waves within Unreal Editor. It can trim, fade, normalize, and make other waveform adjustments. Sound wave metadata can even be altered to support loop regions, cue points, and more. These modifications can be saved to a new asset to preserve the original. UMG / Slate ImprovementsUMG Viewmodel (Beta)The Viewmodel plugin provides a framework that makes it simpler for designers to work independently from programmers when making structural changes to widgets. Previously, there were two main methods for forwarding data to a widget in UMG:
The Viewmodel plugin provides the best of both methods. After enabling this plugin, you can create a Viewmodel to hold the variables used in your UI, then bind widgets to the properties in your Viewmodel.
A Viewmodel is a separate object that holds copies of a set of variables needed in your UI. Whenever you need to make a change to one of these variables, you update it within the Viewmodel rather than directly in your UI. The Viewmodel then notifies the bound widget in your UI that its value has changed, and pushes an update. This streamlines the process of creating a data-driven UI by eliminating the busywork of creating callbacks and update functions, and provides exposure to programmers separate from the UI itself. For more information on how to use ViewModel in your projects, refer to the Viewmodel documentation. Named Slot Widgets
UE 5.1 introduces Named Slot Widgets in UMG. These widgets act as placeholders for other widgets when creating templates. Normally, when you create a child class of a UMG widget, the widgets in its hierarchy are hidden. Named Slots appear in the hierarchy and can be populated in the PreConstruct event safely, making it easier to preview your template widget with test use cases. Additionally, when you insert a child into a Named Slot, its place within the hierarchy and render order is preserved based on the parent class. UMG Tool Palette Plugin (Experimental)
We added a new Tool Palette plugin to UMG in UE 5.1. This tool palette provides quick access to commonly used tools, widgets, and interactions. You can enable this plugin in the plugins menu to try it out. EditorBetter Asset Searching and FilteringThe Outliner and Reference Viewer now support Asset filtering. These filters behave the same as Content Browser filters, and they support advanced search syntax operators. You can now save an Asset search as a custom filter in the Outliner, Content Browser, and Reference Viewer. Once saved, custom filters, as well as individual filter settings, are available across all streams and projects for the user who created them. We made the following improvements to searching and filtering Assets in the Content Browser:
Outliner ImprovementsTo improve Outliner navigability, headers now stack when you scroll up and down.
We made it easier to find Actors in the Outliner by adding the following features:
You can now have up to four instances of the Outliner and customize each instance separately. You can choose which columns display in the Outliner by right-clicking a column header, then clicking a column name to toggle whether to show or hide it. Reference Viewer Tool RedesignWe redesigned the Reference Viewer tool to support a greater number of Asset references and a greater depth of the reference graph. Reference search now supports a search depth of 50 and search breadth of 1000 Asset levels. Finding Asset references now leverages Unreal Engine's improved searching and filtering capabilities to give you better control over which types of Assets are displayed in the reference graph. Asset nodes in the reference graph are color-coded by Asset type and can be customized to display additional information, such as the Asset's thumbnail and its file path. For a rundown of all the Reference Viewer improvements in Unreal Engine 5.1, refer to the Reference Viewer documentation. Python Type HintingThe Python plugin can now generate the stub file with type hinting. Type hints will appear in your Python IDE auto-completion menu. To enable type hinting, from the Unreal Editor menu bar, go to Edit > Editor Preferences…. From here, navigate to Plugins > Python. Enable Developer Mode and choose your desired Type Hinting Mode. This generates a Python stub file you can add to the IDE of your choice. For more information on how to enable type hinting and the various type hinting modes available, refer to the documentation for Setting Up Autocomplete for Unreal Editor Python Scripting.
Localization Pipeline Automation ImprovementsThe Localization Commandlet has the following improvements in UE 5.1: Preview GatheringIn previous versions of UE, the localization pipeline needed the build system to run through each step of the build process before handling localization. This meant, to see errors and warnings for localization, users needed to rebuild their entire project. In UE 5.1, the localization commandlet will run a preflight that gathers localization files, then checks them for errors and warnings. This eliminates the need to wait for a full build to find localization errors, greatly improving the expediency of debugging localization. This improvement is available through the UAT localization commandlet. CSV Format Support for Error ReportsWhereas previous versions of UE used only Improved Parsing CodeUE 5.1 adds several quality-of-life changes to handling localized text in code. Use
In the above example, the key Curve Table EditorYou can now edit Simple Curves and Rich Curves in the Curve Data Table Editor. When creating a Curve Table, you can open the editor to edit curves in the table or curve view without needing to go back to the external program you created them with.
Virtual Assets (Beta)Virtual Assets provide you with faster and more efficient methods for syncing data among all members of your team as your project begins to grow in size. When working with
Assets, users only need a minimal amount of information about their assets to display them in the editor. For example, a Texture may need a thumbnail image and editor
properties (such as coordinates and scale), however the bulk of the These assets have been split into core asset metadata portions that exist where the assets are in your source control and split the bulk data into a separate location. If a user requires the bulk data, they will be able to sync on demand, in source control. The features include:
New Import FrameworkUnreal Engine 5.1 features a new Import Framework designed to provide users with a high performance, customizable asset pipeline. The framework works in the editor and at runtime, as well as provides scripting support using Blueprint and Python.
This new framework is format agnostic and works using the following steps:
The framework currently supports the following formats:
File formats previously supported by Unreal Engine are still supported using the Legacy framework. For more information, refer to the Import/Export Interchange documentation. (Link TBD) UV Editor (Beta)Introduced as Experimental in 5.0, the UV Editor has moved to Beta in 5.1. Previously, the UV Editor was accessible through a plugin. Now, you can quickly access the editor in three ways:
UV creation and editing continue to improve, not only with the UV Editor enabled by default but with the following:
Many of these improvements mimic traditional artists and drawing applications. To learn more, refer to the UV Editor documentation. Pattern ToolWe expanded the artists' modeling toolkit with the addition of the Pattern tool. Tile one or more selected meshes along a Line, Grid, or Circle oriented on a movable 3D plane. Various parameters are available for each tiling pattern, including interpolating translation, rotation, and scale. Output the resulting pattern as a merged Dynamic Mesh, per-element Actors (static or dynamic), or an instanced Static Mesh component. AnimationAnimation SynthesisMachine Learning (ML) Deformers (Beta)Using the Machine Learning (ML) Deformer system, users can now create their own ML Deformer models to approximate high-quality mesh deformations in Unreal Engine. Packaged as a plugin, the ML Deformer Framework uses the existing Neural Network Inference (NNI) framework as well as a reusable asset type and editor, that you can use to train, inspect, and debug ML Deformer models that deform meshes by evaluating the neural networks at runtime. The ML Deformer system also provides integration with the Deformer Graph system that you can use to edit and fine-tune generated mesh deformations. Additionally, you can enable the new Neural Morph Model plugin to use a prefabricated high-performance deformer model to train high-quality deformations on your characters with a low memory footprint.
In addition to the introduction of the ML Deformer framework and the Neural Morph Model, the ML Deformer asset editor has received several performance and quality-of-life improvements. For more information, refer to the ML Deformers documentation. Deformer Graph (Beta)The Deformer Graph plugin features an Editor that allows users to create and edit Deformer Graph assets to customize complex mesh vertex deformation behaviors for any skinned mesh. With the Deformer Graph Editor you can use a combination of custom Blueprint logic and HLSL (High-Level Shader Language) scripting to create and customize mesh deformer systems that modify mesh vertex data using dynamic inputs at runtime. The Deformer Graph is a powerful alternative to traditional linear skinned meshes using Morph Targets or Cloth simulation to create intricate mesh deformations at runtime. For more information, refer to the Deformer Graph documentation. Physics Control Component (Experimental)The Physics Control Component is a plugin that provides a means for you to add simple, intuitive, and powerful physically-based controls to a Blueprint. With these physics controls, you can take advantage of the emergent physical motion of static and skeletal meshes, while still retaining artistic and gameplay control. With the Physics Control Component you can easily create controls that affect all or only part of a Skeletal Mesh. For example, you can create physics controls to operate in world space, for situations where you want to see some emergent motion and still retain a lot of control. You can set physics controls to operate in parent space to create reactive muscle-like limb behaviors. Physics controls can even operate between any local or external physical bodies. Additionally, you can direct the physics controls to use animations, procedural targets, or a combination of both. To see example applications of the Physics Control Component, such as full body effects, secondary motion, and hit reactions, refer to the Physics Control level in the Content Examples project. Animation GameplayMotion Matching (Experimental)The Pose Search plugin now features the new Motion Matching Animation Blueprint node, a dynamic alternative to State Machines, you can use to build character locomotion animation systems. Using a Database asset containing the character's locomotion animations, the Motion Matching node makes informed animation pose selections from the set of stored animations, to match the character's Movement Model at runtime. Using the Motion Matching node, a high-quality, responsive character locomotion animation system can be set up quickly and efficiently, without the need for complex State Machine logic. To increase a character's Motion Matching animation fidelity and quality, you can simply add more animations to the characters Motion Database or Database Set asset. With each additional animation, the Motion Matching node is able to draw from more data to more accurately and effectively select quality output poses to match the player's movement model. The Pose Search plugin also comes packaged with a custom integration of the Rewind Debugger you can use to record and analyze the Motion Matching pose selection process, to see which poses were selected, which poses were not selected, and why. You can then use this information to adjust and fine-tune the selection process to fit any project's needs. Animation RuntimeRewind DebuggerWith a refreshed user interface, the Rewind Debugger now features a timeline of animation data tracks that display visual graphs of information, that you can use to see vital updates and changes in animation data while debugging a character's animation system. The Rewind Debugger timeline features a track of animation data for each of the debug subject's components or child objects. You can use the Rewind Debugger to analyze and debug Animation Sequence playback, Notifies, Curves, Blend Weights, and more. Each track of animation data can also be selected within the timeline to populate the new Rewind Debugger details panel with more precise readouts of the selected animation data for debugging. Additionally, the Rewind Debugger now features Pose Watch integration, that you can enable in the characters Animation Blueprint to observe the output pose of any blueprint node within the recorded segment of gameplay. For more information, refer to the Rewind Debugger documentation. SequencerLayer BarsTo assist with the simultaneous movement and scaling of multiple keyframes, you can now use Layer Bars to move keyframes and sections in Sequencer. Layer Bars are hierarchical and appear on Actor, Component, and Folder Tracks. Manipulating them at any of these points will appropriately manipulate other Layer Bars within, making it easier to retime keyframes on your Actors without needing to expand each track.
Key BarsKey Bars have been added to Sequencer as an easier way to retime neighboring pairs of keyframes. Selecting and dragging the line drawn between two keyframes will move both keys relative to each other, which can save time from multi-selecting each key individually, and preserving custom curves between these keys.
Animation ConstraintsYou can now dynamically constrain your Sequencer objects in a variety of ways using Unreal Engine's new Constraint feature. Similar to constraining methods in other animation tools, you can constrain entire transforms with the Parent Constraint, or along individual channels with Translation, Rotation, Look-At, or Scale Constraints. Constraints make it easier to dynamically and non-destructively attach your Objects, Actors, and Control Rig Controls to each other in your Sequencer animation. Control RigConstruction EventTo improve consistency with other similar Blueprint tools, we renamed Setup Event to Construction Event. We also added new Spawn nodes to make procedural rig creation in the Construction Event faster and easier. UX and Feature ImprovementsWe made several quality of life improvements and UX changes to Control Rig to improve your workflow.
IK Rig and RetargeterAdjustable StrideWe added new properties available when you are using the IK Retargeter to control the length, width, and splay of IK Goals. In most cases, you can use this to adjust the stride and overall stance of a retargeted character. Speed PlantingWe provided new tools and workflows to improve retargeting results from vastly different characters. You can now reduce foot sliding and other similar problems by using Speed Planting workflows. To learn more about this workflow, refer to the Speed Planting documentation. UX and Feature ImprovementsWe made several user interface and user experience changes to the IK Rig and IK Rig Retargeting editors to improve workflows, layout, and tool behavior. Notable changes include:
DMX
Vectorworks and MVR Importer (Experimental)MVR is a key format for the transport of DMX fixtures and patching information in the live events and film/TV industries. This support allows for collaboration with teams using CAD applications such as Vectorworks, and lighting consoles such as the Grand MA3. In order to import Vectorworks files into UE for Live Events or VP stage previs, we added support for GDTF and MVR to the Datasmith workflow. MVR provides DMX fixture transforms, patching information and GDTF signature files, while Datasmith imports common mesh and texture data. DMX for Virtual Production (Experimental)We are improving bi-directional workflows between Unreal Engine and DMX, where Unreal Engine triggers DMX events and DMX consoles are able to control Unreal Engine Actors. This supports the growing collaboration between users of Unreal Engine and members of production teams using DMX-based lighting consoles. In-Editor Real-Time Support (Experimental)Previously, DMX support was enabled by means of the DMX plugin, and the send / receive functionalities were only enabled in Play / Preview / Game or Packaged modes. We added support for being live while in editor, enabling users to drive in-editor elements using DMX. Pixel Mapper Improvements (Experimental)We added numerous UI tweaks and workflow improvements to the DMX Pixel Mapper, in particular the ability to set the 2D fixture mapping grid using a previously-imported MVR dataset layout. Unreal Cloud ServicesPixel StreamingVirtual Production Support for Pixel StreamingWe introduced support to pilot virtual cameras (VCams) using remote Pixel Streaming sessions. This is achieved using the new Pixel Streaming Output Provider, which is selected as an output provider for a VCam actor. Virtual Production LiveLink Improvements (Experimental)We also added experimental support to the Virtual Production LiveLink iOS app to stream and control the virtual camera on iOS devices using Pixel Streaming. In the past, controlling virtual cameras using the LiveLink app induced a noticeable level of latency, but Pixel Streaming allows us to provide much lower latencies when driving virtual cameras. Support for this workflow is experimental and not yet ready for production. Pixel Streaming Frontend ImprovementsThe Pixel Streaming frontend, signaling server, SFU, and relevant scripts have all been moved into their own top level Github repository decoupled from the Unreal Engine release cadence. This makes it possible for us to update these components more frequently without being locked to the Unreal Engine release cycle. The repository can be found here: https://github.com/EpicGames/PixelStreamingInfrastructure For Pixel Streaming users going forward, there should be nearly no change in your workflow. When you package your application, there will be a small script bundled with your application that, when run, will download the correct version of the Github release based on your engine version. If there are browser-breaking changes or issues between releases this repository will provide a mechanism for us to address these outside of the release windows. Additionally, we hope to encourage Pixel Streaming users to report frontend / server issues to this repository where we can collaborate with our users more easily. Pixel Stream Decoding in UE Editor/GameIn 5.1, we introduced support to decode Pixel Streaming video streams in-engine. This makes it possible to provide streaming between multiple applications and potentially between editors. This feature is accompanied by new blueprint nodes to set up stream playback in the engine without writing any C++ code. Currently, you can play back streams using a special material.
Editor Viewport Window Streaming (Experimental)In the past, Unreal Engine users could stream packaged Unreal Engine applications and
games. Due to the increase in remote working and remote collaboration, we introduced experimental support to Pixel Streaming to stream the entire Unreal Editor itself. Streaming the editor can be tested out using the new Pixel Streaming toolbar now visible when Pixel Streaming is enabled. Or, if you are launching in an unattended setup, you can launch with There are some limitations around the editor experience. For example, currently multi-monitor streaming is not yet supported. In general this feature is an experimental preview, we intend to expand the feature set and user experience in subsequent releases; however, users should be advised to take caution if building against this feature as it will likely change. PlatformUnreal Editor on Apple Silicon (Experimental)Previous versions of Unreal Engine supported building projects for Apple's ARM-64 architecture, but Unreal Editor itself was not natively built for it and depended on the Rosetta instruction translator when running on Apple Silicon devices. UE 5.1 rolls out an experimental version of native support for Apple Silicon in Unreal Editor, meaning that M1 devices and later should see improved performance when running the editor. This support is not available in builds distributed through the Epic Games launcher. Instead, you need to build Unreal Engine from source on your Apple Silicon-based Mac with Xcode. Building UE with Xcode on Apple Silicon platforms will default to building the experimental native version, with the target device listed as My Mac. To build the Rosetta version you need to change the target device to My Mac (Rosetta).
Note that Marketplace plugins are unlikely to work with this configuration, as they are not arm64-compatible yet. Linux IDE Workflow ImprovementsIn UE 5.1, we improved support for VS Code as a default option for IDEs in Linux. Error handling and messaging is also present when you have multiple IDEs and the code accessor fails to find the correct one. Google Stadia SupportIn UE 5.1, we have deprecated support for the Google Stadia platform. We will remove Stadia support in UE 5.2. XRImproved OpenXR SupportWe added support for the ResetOrientationAndPosition interface function and Pixel Density, experimental support for Screen Percentage with Temporal Upscale, along with stability improvements and bug fixes. Enhanced Input (Beta)In 5.1, you can use Enhanced Input to create complex input handling for OpenXR projects. Enhanced Input now supports OpenXR-compatible controllers and head mounted displays. We updated the VR Template to include examples of how to use Enhanced input for your XR projects.
Rendering Feature Parity (Experimental)We added initial stereo support for Nanite, Lumen and Temporal Super Resolution. Currently this is only supported on PC while using the Deferred renderer. OpenXR Support for HoloLensWe removed the Windows Mixed Reality Plugin for Unreal Engine and moved to OpenXR for the HoloLens. To develop projects for HoloLens in 5.1, install the Windows Mixed Reality OpenXR Runtime and the Microsoft OpenXR Plugin. Refer to the OpenXR Prerequisites documentation for more information about setting up your HoloLens project with OpenXR. Deprecated Oculus VR and SteamVR PluginsWe deprecated the Oculus VR and SteamVR Plugins in 5.1. Use the OpenXR plugin and the appropriate OpenXR runtime for your Oculus or SteamVR projects. Refer to the OpenXR Prerequisites documentation for more information about installing the OpenXR plugin and runtimes. MobileDevelopment Requirements and Compatible Hardware For MobileThe following are the supported OS versions and minimum hardware for mobile devices supported by Unreal Engine 5.1. For additional information about required SDKs and IDEs, refer to the Platform SDK Upgrades section. iOS, iPad OS, and tvOSUE 5.1 supports iOS, iPadOS, and tvOS devices running OS version 15 or later. The following are the minimum compatible device models:
*Apple A8/A8X-based devices (iPad Air 2, iPad Mini 4 and Apple TV HD) require a project setting to enable support. For information about the required SDKs and MacOS versions, refer to the SDK Upgrade Notes below. AndroidUE 5.1 supports Android devices meeting the following specifications:
For information about the required SDK versions, refer to the SDK Upgrade Notes below. The Deferred Shading Mode for the Mobile Renderer is now Production-ReadyThe Mobile Renderer Deferred Shading Mode, introduced in UE 4.26 as an Experimental feature, is now production-ready in UE 5.1. This mode is optimized for tiled GPUs common in mobile devices, and enables several high-quality lighting features not supported in the mobile forward rendering path, such as light functions, IES profiles, and lit decals. All devices supported by UE for mobile can run the deferred mode, including both Vulkan and OpenGL ES modes on Android. Additionally, the Mobile Deferred path now supports the following rendering features previously only operational on mobile using the forward rendering path:
The following features are supported when not using pre-computed lightning:
DirectX Shader Compiler Used for All Mobile PathsUE 5.0 set DirectX Shader Compiler (DXC) as the default shader compiler for Vulkan and GLES. In UE 5.1, all mobile feature levels now use DXC, including Metal. This improves consistency and feature parity between each rendering path and opens up the resources of the DXC community to all mobile projects in Unreal Engine. Mobile Rendering ImprovementsWe added the following features and improvements to the mobile rendering pipeline in UE 5.1. These features are focused on improving rendering optimization. Arm ASTC EncoderUE now supports ARM's Adaptive Scalable Texture Compression (ASTC) compression standard as an option. Re-Factored Per-Material and Per-Project Half / Full Precision SettingsIn UE 5.1, we added the option to specify the precision mode of materials and material expressions for mobile devices. The three available modes are:
The main new addition is the ability to use full-precision for material expressions while engine shaders use half precision. This is generally more reliable than globally setting half-precision, as we have internally determined which engine shader variables are safe to use as half-precision. You can find the Mobile Float Precision Mode setting under Project Settings > Engine – Rendering > Mobile.
You can also configure it on a per-material basis. Clustered Local Lights and Reflections Support on Mobile RenderersUE 5.1 adds support for clustered local lights and reflections to the Mobile Forward and Mobile Deferred rendering modes.
PSO Cache ImprovementsPreviously, UE would build PSO caches as single, monolithic caches for entire applications. This consumes a great deal of memory, as applications would load PSO caches for assets the user may not even see during gameplay, and the compilation process was also time-consuming. In UE 5.1, PSOs are broken into caches on a per-asset basis during the cooking phase, and then the PSOs are loaded only for assets used. This reduces the need to recompile PSOs for assets that have not changed, and reduces the memory footprint for loading them. Parallel PSO CompilationBoth Android OpenGL and Vulkan RHIs now have separate PSO precompiling processes (Android services). Running the PSO precompile operations on separate processes solves many concurrency issues with graphics drivers, and delivers more stability and typical performance gains of between 3-5x precompile time savings. Editor Mobile Preview ImprovementsPlatforms with different rendering settings can now have their settings better represented in the in-editor platform preview. Previously, a single shader platform was used for all mobile previewing, meaning features such as Distance Field Shadows could not be accurately previewed if they were enabled on one platform but not another. Each preview platform now uses an independent shader platform to remove this limitation. Scalability and device profile console variables are now applied in the editor when previewing mobile platforms. Android NDK 25 SupportUE 5.1 adds support for Android NDK 25, a new long-term support release. This includes a new LLVM 14 toolchain with optimizations for faster code, a roughly 15% reduction in compilation times, and smaller binary sizes. Gameplay FrameworkBlueprintsSimilar to the Blueprint Nativization tool, the Blueprint Header View is a new method you can use to quickly convert Unreal Engine Blueprint Classes and Blueprint Structs to C++ code.
During the conversion process the Blueprint Header View creates C++-style declarations for all of your Blueprint's variables, functions, actor components and event dispatchers. To start using the Blueprint Header View in your project, you can right-click a Blueprint Class or Struct in the Content Browser and select Preview Equivalent C++ Header from the context menu.
Blueprint NamespaceUsing the new Blueprint Namespace feature you can selectively organize a project's Blueprints to only load relevant assets and content when opened in the editor. By delegating content using Namespaces, complex Blueprints can be loaded and presented faster when opening a new instance of the Unreal Engine editor, and large amounts of content can be organized to increase user workflow efficiency.
Additionally, when using Namespaces, you can filter Blueprint content using type pickers and the right-click context menu to reduce item list load times, keeping workspaces organized and functional. Within a Blueprint's Class Settings, you can set and reference a Blueprint's assigned Namespace using the Blueprint Namespace property in the Details panel.
For more information, refer to the Blueprint Namespace documentation. Enhanced InputThe Enhanced Input plugin provides you with a new feature-rich method of creating and managing player inputs and controls. Using Input Action assets, you can set and define player input methods for individual inputs or axis controls. Input Action assets are collected and managed within Input Mapping Context assets, that provide you with more comprehensive control over your project's player inputs and behaviors, creating dynamic systems that can adjust contextually at runtime. Additionally, the Enhanced Input systems help you organize and manage your player inputs as projects grow and scale, with robust features that assist with the creation and management of online, local, and split-screen multiplayer input systems. For an example of the Enhanced Input system in action, refer to the Lyra sample project. For more information, refer to the Enhanced Input documentation. MassMass Entity (Beta)The Mass Entity system received significant improvements for UE 5.1 and is now considered a Beta feature. We expect further major changes to Mass's API and we are committed to continuous development of the entire Mass framework. System RestructuringWe moved Mass Entity's shared fragments from the Archetype-level down to the Chunk-level, to limit archetype fragmentation. In addition, we separated the entity-managing parts of the Mass Entity Subsystem into a new type: Mass Entity Manager. This promotes the creation of isolated entity pools in custom use-cases, for testing purposes, and others. Safe Multi-threadingWe turned on multi-threaded execution of Processors hosted by the Mass Processing Phase Manager by default for all targets, other than dedicated servers. MassEntityQuery can now express subsystem requirements, which is a crucial element of the multi-threading safety of Mass processing. In addition, queries owned by Processors are now used to determine additional inter-processor dependencies critical to ensuring threading safety. Improved DebuggingMass Entity introduces the Mass Debugger UI Tool in UE 5.1. This tool provides visibility into selected Mass Entity Manager archetypes by showing their composition and Entity counts. The tool also shows which archetypes are being processed by specific Processors, and it visualizes the Mass processing graphs owned by the Mass Processing Phase Manager. Artificial IntelligenceSmart ObjectsGeneral ImprovementsIn UE 5.1, Smart Objects received general stability and workflow improvements that make it more convenient to set up Smart Object Definitions. The API is consistent compared to UE 5.0, which allows for backwards compatibility when migrating projects. Gameplay Interactions Plugin (Experimental)One of the main use cases for Smart Objects is the ability to create meaningful gameplay interactions during gameplay. For this reason, Smart Objects received initial experimental support for the Gameplay Interactions plugin. We plan to continue improving support in future versions, with the goal of embedding Gameplay Interactions into Smart Objects that will combine State Trees and Contextual Animations with replication support. Environment Query System (EQS) supportWith the UE 5.1 release, you can now use the Environment Query System to select the best matching Smart Object for an AI Agent or player in the Level. State Tree
State Tree is Unreal Engine's general-purpose hierarchical state machine introduced in UE 5.0. For UE 5.1, State Tree received significant improvements and is now considered production ready. As part of this process, State Tree received significant API changes compared to 5.0. General ImprovementsThis update includes improved Actor-centric and Blueprint-centric workflows. You can now use State Trees with a Blueprint-only workflow. Increased FlexibilityYou can now parameterize State Trees, which allows you to use the same State Tree with different data. The update also includes added support for more complex condition-based expressions. Improvements to State Tree Events provide a simpler way of triggering State changes based on external logic. In addition, this update simplifies the usage of Tasks and Conditions within the State Tree. It is now easier to connect Conditions to Tasks, without using Evaluators. This creates a simpler, more streamlined State Tree. For example, you can now access Actor data directly, without having to use Evaluators. Added ModularityIn UE 5.1, State Trees added the concept of Sub-Trees. With Sub-Trees, you can reuse common parts of a State Tree. This improves reusability and provides an intuitive way of building complex State Trees. Sub-Trees are similar to Blueprint Macros, where you can create a Sub-Tree with a given name and define its inputs. You can call Sub-Trees directly inside the State Tree by name. Memory OptimizationsThe State Tree internal storage received several optimizations, which resulted in a significant reduction of memory usage per active State Tree. At runtime, only active Tasks are stored in State Tree memory. In addition, large properties in the State Tree can be bound as references, instead of full copies compared to UE 5.0. These improvements resulted in memory usage reduction of about 75% in the City Sample when approximately 35,000 State Trees are running during gameplay. Navigation Mesh in World PartitionDynamic Navigation Mesh (Experimental)Unreal Engine 5.1 includes initial experimental support for dynamic Navigation Meshes (Navmesh) when using World Partition. It is now possible to use the Dynamic mode as the Runtime Generation for the Navigation Mesh to build a world partitioned dynamic NavMesh in a world partitioned map. In this case, changes to the Navigation Mesh are ignored for objects that are loaded and unloaded which are part of the base Navigation Mesh. In addition, dynamic tile building is limited to the loaded space when using a World Partition dynamic Navmesh. General ImprovementsThis update includes improved support when using Fixed Tile Pool Size with World Partition. You will now receive a warning when adding Navmesh tiles if they cannot be added because the tile limit has been reached. In addition, the Fixed Tile Pool Size limit is ignored when building navigation with the UWorldPartitionNavigationDataBuilder commandlet, allowing for faster builds. The navigation data is now externally packaged, which means building a world-partitioned Navmesh does not dirty the main map anymore. In addition, when building a normal Navmesh in a World Partition map, the entire map is now loaded automatically before building the Navigation Mesh. PhysicsScene Queries and Rigid Body Simulation PerformanceUnreal Engine 5.1 includes a number of performance improvements to both the rigid body and scene query functionality. Below we show comparisons between test builds of UE 5.0 and the UE 5.1 release. We tested many different examples with the updates to UE 5.1 and focused on the worst performing examples from UE 5.0. The first example is a tumbler test where we placed 512 dynamically simulated convex objects into a spinning convex object. Below shows this result where the UE 5.1 test is now 50% faster.
The second example is a test with complex terrain, 100k static objects placed in the world, and 512 dynamic convex objects dropped onto the heightfield terrain. Below shows the result of raycasts against this map where the performance of Unreal Engine 5.1 is now twice as fast as Unreal Engine 5.0.
Fluid SimulationTurbulence Model and Small Scale ForcesUnreal Engine 5.1 includes improvements to its turbulence model and small scale forces. These improvements make it easier to add additional detail to the leading edges of the simulation. This can make the simulation look more natural as the shapes will be displayed more prominently. No Small Scale forces compared to with Small Scale forces.
Tricubic InterpolationWe added a new Tricubic Interpolation mode which you can use to add extra details without increasing the overall resolution of the simulation. This results in a more detailed simulation at a similar cost to simulations in a previous version of Unreal Engine. Memory Consumption ImprovementsUnreal Engine 5.1 includes several improvements to the memory consumption of fluid simulations. This results in the ability to fit higher resolution simulations in the same memory budget compared to UE 5.0. DestructionChaos Destruction has received significant improvements in Unreal Engine 5.1. Improved Fracture HierarchyThe Fracture Hierarchy received the following updates:
Damage WatcherWe added a new run-time Damage Watcher to the Fracture Mode in 5.1. You can enable the Enable Runtime Data Collection option under the General Settings and click Simulate to record the damage results. The damage taken per bone is displayed under the Damage Column Mode. The damage threshold and which bones broke (if any) is also displayed. Improved ToolsThe Unreal Engine 5.1 update includes improvements to several Fracture Mode tools. You can learn more about these tools by reading the Destruction documentation and following the available Destruction Learning Path. GeoMerge ToolWe added a new GeoMerge tool to merge selected pieces of geometry in a Geometry Collection. The tool formerly known as GeoMerge is now TinyGeo, to indicate its main intended use of cleaning up tiny pieces of extra geometry. Convex toolNew convex hull generation settings enable you to balance between the accuracy of the generated hulls and their overlap with neighboring hulls. Default convex generation settings (applied to all new or reset geometry collections) can now be set in the Fracture Mode project settings. Validate toolThe Validate utility is now a modal tool with checkboxes to control exactly what it will validate and fix. It can now optionally fix single-child clusters, which are not desirable in simulation. Selection toolsThe Selection tools now include buttons to select all leaves or all clusters at the current view level. Auto Cluster toolThe Auto Cluster tool now includes clustering by Fraction of Input, greatly improving iteration speed when reducing hierarchies. The new Avoid Isolated option ensures that clusters always contain more than a single transform. Mesh PaintThe Mesh Paint mode now supports Geometry Collections. Users can now paint vertex colors and textures on fractured geometry. In addition, vertex colors now propagate on new vertices generated by fractures, providing more consistent behavior of Materials using them. Imported CollisionsIt is now possible to use collision from the original Static Mesh used to build a Geometry Collection. This provides fine customization of collisions, especially for non-convex shapes. RemovalWe improved the existing removal on sleep feature and introduced a new remove on break feature. Here are the differences between the features:
Connection GraphA new Connection Graph method is now available providing more precise connections and reducing issues where pieces would remain floating in mid-air.
Propagation systemA new damage propagation system is available, providing for more predictable and controlled breaking behavior. You can parameterize this at the instance level, and it offers controls for break-induced and shock-induced damage propagation. Blueprint NodesWe added a new set of blueprint functions that can act on specific pieces of a Geometry Collection. Events and trace queries can now return an Item Index that can be used in functions to query the level of a fractured piece, apply internal and external strain, apply forces, or even request a cluster to crumble. This allows the user to be very precise in targeting parts of the Geometry Collection without the need of a Field.
PerformanceUE 5.1 includes several performance improvements, both at runtime and during the authoring process. Runtime: We made several optimizations to provide a means for a larger number of Geometry Collections to be placed in a Level. Authoring: We optimized a number of tools in the Fracture Mode for a large number of Geometry Collections. In addition, fracture tools now display a progress bar with the option to cancel the operation during lengthy computations. Cloth SimulationCloth simulation received several improvements in UE 5.1. Cloth CachingYou can now record and play back cloth simulation within Sequencer.
Cloth PressureWe added a new Pressure control to the cloth configuration, as well as a new Set Pressure function in the Blueprint Chaos Cloth Interactor. These controls can add constant pressure force to each triangle of a simulated cloth. You can modulate the effect across the mesh using the Pressure paintable mask. The pressure force is always applied in the triangle's normal direction, so using a negative value will push the triangle in the opposite direction.
BucklingWe added a new buckling feature to the Bending Element constraint. This feature allows the Bending Element constraint to weaken, or strengthen, depending on the Buckling Ratio and Buckling Stiffness parameters. These parameters provide users with better control over the cloth material's creases during simulation. Buckling RatioOnce the element has bent, such that it has folded more than this ratio from its rest angle ("buckled"), it switches to using the Buckling Stiffness, instead of the Bending Stiffness. When the Buckling Ratio = 0, the Buckling Stiffness is never used. When the Buckling Ratio = 1, the Buckling Stiffness will be used as soon as it is bent past its rest configuration. Buckling StiffnessBending will use the Buckling Stiffness instead of Bending Stiffness once the cloth has buckled, that is, bent beyond a certain angle. Typically, Buckling Stiffness is set to be less than Bending Stiffness. The Buckling Ratio determines the switch point between using Bending Stiffness and Buckling Stiffness.
You can activate this feature by enabling the UseBendingElements checkbox in the configuration. Self-Collision ImprovementsIn UE 5.1, cloth simulation received several overall improvements to self-collision. Additional Resolution StepsThere is now an additional self-collision resolution step available through the Use Self Intersections parameters. In addition, self-collision friction now has its own Self Collision Friction parameter. Self IntersectionsYou can adjust the self intersection resolution to correct any cloth intersections not handled by collision repulsions. Self Collision FrictionWe added a new Self Collision Friction parameter to the cloth simulation. This parameter refers to the friction coefficient for cloth-to-cloth interactions. A small value results in cloth sliding smoothly over itself. The bigger the value, the more friction will be applied to the interaction, and the less the cloth will move around its points of contact with itself.
Machine Learning Cloth (Experimental)In UE 5.1, a new Nearest Neighbor Model plugin is available. This plugin provides tools to create in-game cloth with rich folds and wrinkles, with a relatively small runtime overhead and memory footprint. In the plugin editor, you can train a neural network that finds the nearest neighbor in a small pre-simulated data set (usually between 50 to 100 frames) for any given pose. The nearest neighbor is then used to transfer geometry details onto the cloth of the given pose, resulting in a high-fidelity runtime simulation. NiagaraGPU RibbonsRibbons are now supported on the GPU. In previous versions, the Ribbon Renderer could only be added to a CPU emitter. Depending on the needs of your game, and the features you want to use, you can now choose whether to render on the GPU or the CPU. Scalability ModeTurn on Scalability Mode in the Niagara Editor to preview different scalability settings. By doing so, you can fine-tune your effects to play on different platforms. Scalability settings have been removed from the default view, and added to Scalability Mode for better clarity.
Emitter VersioningStarting in 4.27, for those creating custom modules, you could use versioning to push out new modules to a team without breaking any existing effects. 5.1 now adds the same functionality to emitters, so you can version an entire emitter to deploy it to a team. Versioning lets you update or modify your templates without creating new assets or losing existing behaviors.
Flipbook Baker (Beta)UE 5.0 introduced the first version of the Flipbook Baker, the tool used to bake out a rasterized flipbook of an effect. UE 5.1 introduces a more refined user experience, as well as additional options. You can now bake out these types:
Render Dependency GraphNiagara is now supported in the Render Dependency Graph. For more information, refer to the Render Dependency Graph documentation. Heterogeneous Volumetric Rendering (Experimental)Niagara Fluids rendering was introduced in UE 5.0. The initial implementation was limited, only allowing you to add 2 directional lights to the fluid simulation. It was also not possible to cast shadows on the fluid. Heterogeneous Volumetric Rendering is designed to take the lighting you have already set up in your scene and apply it to your fluid simulation rendering. This type of rendering works with all types of lights, not only directional lights. While there is no limitation on the number of lights you can use, currently the implementation is linearly more expensive as each light is added. If you have other objects in your level, they can also cast shadows on the fluids volume. This creates a more realistic look, making the fluid effect more integrated in the scene. To enable this experimental feature, select the checkbox Enable Heterogeneous Volumes in the Project Settings. Then apply the material Fluid Quality Improvements (Beta)Niagara Fluids have several improvements to quality and performance in this version:
UX / UI ImprovementsNew Layout for Niagara EditorThe Niagara Editor has a new, streamlined layout. The Parameters panel has been moved to the lower left, giving more room to the System Overview in the center. The Curve Editor and the Log are now docked on the bottom, next to the Timeline.
Panels like the Parameters panel or the Selection panel are now contextual, so they update depending on what you select. User Parameters in Level EditorPreviously, when you selected a Niagara Actor in the Level Editor, there was a section called Override Parameters. This section has been renamed to User Parameters. Scratch Script ManagerWe replaced the previous Scratch Pad interface with a new workflow to create Scratch Modules directly in the Niagara Editor. Add as many scratch modules as you need, and you can display each as their own tab in the Niagara Editor.
Hierarchy Editor for ParametersWhen you create many custom user parameters, keeping them organized in the Parameters panel can be a challenge. The Hierarchy Editor gives you the ability to not only categorize and organize your variables, but also to set up their default values.
Effects Section in the Level EditorWhen you select a Niagara system in the Level Editor, you will now see a section in the Details panel called Effects. This can help you quickly isolate the parameters you need to edit for Niagara systems.
Debugging a System or ParameterThere are new ways of opening the Niagara Debugger and tracking the elements you want to analyze. To quickly turn on the Debugger on a particular system, click the Niagara component in the Level Editor, and from the Details panel select Debug. This opens the Niagara Debugger with the system information already set.
You can also debug a specific parameter, such as the age of a particle. From the Parameters panel in the Niagara Editor, right-click the parameter you want to track, then select Watch Parameter in Niagara Debugger.
This automatically turns on all the relevant options you need in the Debugger to see that parameter's information. For more information, refer to the Niagara Debugger documentation. Accessibility ImprovementsWe made the following improvements to the accessibility tools in UE 5.1: Multi-User Screen Reader SupportThe Screen Reader
plugin can now support more than one user at a time, providing a means for more than one visually-impaired user to play at once. If users' input devices have specialized audio ports available, such as the ones located on game console controllers, each user can connect a set of headphones to output their screen readers' voices separately. Alternatively, for PC users and users without headphones, the screen reader will output voices with different pitches for each user. Screen reader
users are represented with the Navigation PoliciesYou can now define a Navigation Policy to provide fine control over how visually-impaired users navigate the screen, similar to how commercial screen readers work. To make a Navigation Policy, create
a class that implements Unreal InsightsUnreal Insights is a companion application for Unreal Engine that lets you analyze and profile the CPU and memory performance of your game. For general information, refer to the Unreal Insights documentation. There are new top menu commands available:
Session BrowserYou can now filter and sort the trace sessions list in Unreal Insights to better analyze the specific data you are looking for. You can search traces by name or by command line.
There is now a method to rename and delete trace sessions directly from the Session Browser by right-clicking on the trace. When deleting or renaming through the context menu, it will delete or rename the trace file and any associated cache files. Memory InsightsTo capture a memory trace, you must start the session from the command line. To start recording, run the editor or the game from the command line with the additional argument Asset Names and Class NamesYou can now
start memory insights from the command line using extra trace channels Improved Tree ViewThere is now a Path Breakdown option for grouping string columns, which when selected will create a collapsible hierarchy view. You can group low-level memory (LLM) tags, assets, and top source files this way. Grouping this way not only helps visual organization, but also lets you view the cost for the parent groups. Open in Visual StudioIn previous versions of Unreal Insights, you could right-click on items grouped by callstack then select Open in Visual Studio from the context menu. In this version, this option is available even when not grouped by callstack. For example, if you have grouped items by tags, you can right-click on the allocation and select Open in Visual Studio. Modules ViewThe Modules View in Memory Insights shows a list of all
List items that failed are highlighted in red, and list items that resolved properly are highlighted in green. Yellow indicates that some of the symbols have resolved and some have failed. Networking InsightsPacket ViewYou can now highlight an event in the Packet View, to help you see how many bits that specific event is using in the packet. This makes it possible to quickly see how much bandwidth an event is using relative to other data. You can choose to highlight either:
NetStatsCountersThere is a new tab called NetStatsCounters where you can view stats counters related to the replication system for the selected packet or range of packets. There are two different categories of stats:
NetTraceYou can now trace simple stats associated with network trace data using the macros Timing InsightsTask InsightsWe added support for Cooking InsightsCooking Insights provides a profiling method to gather and display information about the way packages are cooked. To record a cook session, start from the command line using the argument When you enable the cook channels, this adds a panel to Timing Insights called Packages. This displays a list of all the packages associated with that cooking event. For each package, there are statistics available, including: LoadTime, SaveTime, BeginCache, IsCacheCooked, and Asset Class. Each of these is displayed in a column that can be grouped and sorted.
Use the option Grouping > Path Breakdown - Package Name to generate a collapsible hierarchy view of the data. You can also group by Asset Class. CoroutinesIf your game uses coroutines, you can now view coroutines in Timing Insights. Coroutines are when something begins its execution on one thread, and finishes on a different thread. We now display timing events that are specific to coroutines. Screenshot TracingYou can now enable screenshots within Timing Insights. When you enable Screenshot Tracing, you can take a screenshot and a red vertical line will display in the Timing Insights timeline. You will also see a thumbnail of the screenshot. This can help you to debug visually in Timing Insights. To enable screenshot tracing, start from the command line using the argument Once screenshot tracing is enabled, from the console command type in Asset Load TimeThere's a new channel you can add when starting Timing Insights from the command line called Asset Load Time. This channel does two things:
In the past, tracking Blueprint names was enabled by default, but this would add a lot of cost to the trace runtime event. Now, if you want to enable Blueprint name tracing, you must turn on this argument in the command line. To enable asset load time tracking from the command line, use the argument Because there are many timers added when Blueprint
names are toggled on, they are hidden in Trace Insights by default. After enabling Asset Load Time tracking, you can display Blueprint names by adding the argument Copy and PasteIn UE 5.0, when you copied a timing event, it would copy only the name. Now, when you copy a timing event using Ctrl+C it copies the name, the duration, and the associated metadata, as it is displayed in the Timing Insights panel. Executing Commands Without Opening the UITiming Insights can be run directly from the command line without opening the UI. You can either specify a single command directly in the command line, or you can execute a series of commands by using a response file. In each case, a set of data is exported to a
These commands can be useful for running automated tests. For more information on executing commands from the command line directly, refer to the Timing Insights documentation. TraceConsole CommandsThere are some existing console commands you can use from UE while Unreal Insights is running such as
Command Line ParametersTrace Auto StartYou can choose to either start tracing automatically at the start of your project, or wait to initiate a trace command from the console command. The default behavior of the If autostart is enabled, the runtime automatically tries to connect with the local trace server if the Unreal Insights Session Browser is detected as running. No Trace ThreadingYou can perform tracing at runtime using a worker thread, a dedicated thread to capture all the tracing information. Alternatively, you can do the tracing directly on the game thread at the end of a regular frame. Using the game thread has an impact on game performance. By default, we use the worker thread, the recommended setup. However, for servers it is not always possible to have a worker thread. You can disable the worker thread and use the game thread instead by using the command line parameter DatasmithNew 3ds Max PluginWe completely rewrote the Datasmith 3ds Max plugin, and consolidated all Datasmith features in a new ribbon toolbar in 3ds Max. The new plugin improves performance, and provides several new features and improvements.
Direct Link SupportThe new Datasmith plugin for 3ds Max supports Direct Link. You can now connect a 3ds Max project to an Unreal Engine project, and sync them manually, or automatically using the Direct Link Auto Sync feature. New and Improved Plugin CompatibilityThe new Datasmith plugin for 3ds Max improves support for:
Control over Baked Texture ResolutionBaked 3ds Max textures are no longer automatically exported at a resolution of 4096. You can now cap the maximum resolution to values between 64 to 4096. This improves import / export performance for large scenes with complex materials. XRef Scene Export ToggleXRef scenes are scenes loaded from an external 3ds Max file into your current file. When you export a 3ds Max project with Datasmith, you can now decide whether or not to export XRef scenes as well. The XRef scene export toggle is in the new ribbon toolbar. Improved Light ExportsDatasmith now supports more parameters for supported light types, including:
Texmap ConversionThe new Datasmith plugin for 3ds Max automatically converts bitmap, baked, normal, bump, and procedural texmaps. Revit Plugin ImprovementsIn this release, we added Direct Link Auto Sync to the Revit Datasmith Exporter. If Auto Sync is enabled, your Unreal project syncs automatically when you make changes to the linked Revit project. Datasmith settings are now stored as custom data in Revit project files. This release also adds support for exporting the following information from Revit:
Sketchup Plugin ImprovementsFor this release, we focused on optimizing the Datasmith plugin for Sketchup. We improved how Datasmith exports complex hierarchies. Instead of exporting one Actor per group head or component head, and one Actor for every mesh in a group or component, Datasmith merges meshes in groups and components automatically. The result is a simpler hierarchy in Unreal Engine that is closer to what you see in the Sketchup outliner. If you use the Color by Tag feature to set the colors of objects in Sketchup, Datasmith now exports those colors. We also added image support. The Datasmith plugin for Sketchup now exports images as Mesh Actors with textures. Solidworks Plugin ImprovementsThe Datasmith plugin for Sketchup now supports more Solidworks features. You can now export Solidworks configuration display states as variants of a Level Variant Set. You can also export user-created directional, spot, and point lights with data for position, cone angle, brightness, and color. Improved Metadata Handling for Visual DataprepVisual Dataprep is a system for creating reusable import "recipes" that reorganize, clean, merge, and modify scene elements before creating final Assets and Actors in an Unreal Engine Project. For UE 5.1, we made some usability improvements for working with metadata in Visual Dataprep. Metadata keys and values are now more readable, and are selectable, so you can copy and paste them into filter fields instead of copying them manually. We also added new string matching options for keys. When you filter by metadata, you can now use a contains expression that can handle all keys with, for example, similar prefixes or suffixes. This saves time when you are writing import processes for models from applications that use slightly different names for the same keys. Universal Scene Description (USD) File WorkflowsUnreal Engine 5.1 features several new features and workflow improvements for working with USD files. LiveLink IntegrationYou can now use Live Link to synchronize an external source with content in a USD file in Unreal Engine. Use the new Set up Live Link option in the USD Stage window to connect a DCC application such as Autodesk Maya with a USD scene in Unreal Engine that has a character in it, and you can use the DCC to drive the character. Link / USD integration is also useful for working with motion capture. Use USD to load a scene with characters into Unreal Engine, and have the motion capture drive the characters in the USD scene. Control Rig IntegrationThe new Set up Control Rig option in the USD Stage window lets you connect a control rig to a character in a USD file in Unreal Engine. You can use the control rig to create and edit skeletal animations, and save the animation data back to the USD file. You can set up a Control Rig Asset or generate an FK control rig. Prim Editing OptionsWe added several options for editing prims in the USD Stage window. These include:
Groom SupportWe added support for Groom in USD files. You can now import Groom caches and static Groom files as assets, and use them the same way you use Groom assets imported with Alembic. You can also load them on the USD stage. The USD importer uses a custom Groom APIschema to import Grooms from USD BasisCurves. The importer also supports Alembic Grooms that follow the Alembic groom specification, so you can import an Alembic Groom referenced in a USD file. We also added a new Groom binding API schema that you can use to bind a Groom to a skeletal mesh or geometry cache. You can set up a Groom on a character, load the result into the USD stage, and play back the simulation and character animation together in Unreal Editor. Other Data FormatsglTFKhronos Group's GL Transmission Format (glTF™) is an extensible, open-standard file format designed for compact file size, fast loading, and complete scene representation. It's used to import and export models out of Twinmotion and it is the preferred exchange format for Sketchfab tools and libraries. In this release, we improved glTF support and integrated it more tightly in Unreal Engine.
CADKernelCADKernel is an alternative algorithm for tessellating CAD models you import into Unreal Engine. It uses the same tessellation parameters as the default algorithm, but produces better results in some cases, particularly for models with radial features. CADKernel also does a better job at limiting the number of open edges after tessellation.
Left: CAD model tessellated with the default Unreal engine algorithm. Right: The same model tessellated with CADKernel To
activate CADKernel, set the After you activate CADKernel, Unreal Engine uses it by default when you import a CAD model. If you have already imported a CAD model, perform a full reimport to have Unreal Engine re-tessellate it with CADKernel. MaterialXMaterialX is an open standard used to represent rich materials and looks, and transfer them easily between platforms and applications. The new MaterialX importer in UE 5.1 supports the following MaterialX nodes:
LiDAR Point Cloud ImprovementsFor this release, we migrated the LiDAR Point Cloud Asset editing tools to the Unreal Engine 5 framework. You can now access all of the point cloud editing tools from a new LiDAR mode, available from the Select Mode dropdown in the main toolbar. This update aligns the point cloud editing workflow with other Unreal Editor workflows such as mesh editing. You can select, merge, edit, and build collisions on your point cloud assets, and preview the results in the Level. Workflow ImprovementsYou can now use point cloud selection tools (for example, the lasso tool or the polygon selection tool) to add and subtract points from a selection. In addition to extracting points from a cloud, you can now create static meshes from selected points. New Options for Point NormalsPoint cloud Actors now have a Point Orientation setting that allows you to align point cards along calculated normals, rather than always facing the camera. Normal-facing cards produce more pleasing visual results, and better lighting interaction. The LiDAR point cloud plugin can now import normals from ASCII files and E57 files that contain normal data. New Point Color OptionThe new Color Source > Data with Classification Alpha property for point cloud Actors lets you mix the RGB color of points with custom alpha values, based on point classification. This is useful when you want to show, hide, or fade whole groups of points based on their classification. Variant ManagerFor this release, we migrated the Variant Manager tools to the Unreal Engine 5 framework. The look and feel are now consistent with other tools in UE 5.1. We also overhauled the user interface, based on design feedback, to make it more visually appealing and easier to use.
Top: the previous variant manager in Unreal Engine 5.0. Bottom: the new variant manager in Unreal Engine 5.1 Oodle Texture 2.9.7
Shared Texture Encoding
Bink
OnlineOnline Services PluginsThe new Online Services plugins for Unreal Engine now have a fully defined interface, and have moved out of Experimental status and into Beta. These plugins will work alongside the existing Online Subsystem plugins, and both are available for use. Users of the new Online Services plugins will find:
Developing your own plugin for use with your own online backend is easier now with a shared common framework. The framework in the Online Services plugins provides:
Included in this version are the following implementations:
The following interfaces are available in the new Online Services plugins:
For more information, refer to the Online Services documentation. Lyra
Networking and MultiplayerIris (Experimental)Iris is an experimental implementation of a new replication system for Unreal Engine. The goal of Iris is to enable richer multiplayer experiences with larger, more interactive worlds, higher player counts, and reduced server costs. Iris achieves replication performance improvements over the current replication system by:
Iris is an opt-in system and will exist alongside the current replication system for the foreseeable future. Existing game code will continue to work as before. Opting into Iris requires game code to use new engine APIs, however, existing replicated properties and Remote Procedure Call (RPC) definitions in C++ and Blueprints remain compatible. Subobject Replication ImprovementsReplicated Subobjects in Unreal Engine provide a way to replicate any UObject-derived class and the
replicated properties they contain. The previous system for replicating components and subobjects employs the virtual function Using the new system, actors now have methods that register subobjects to a list on the owning Actor or Actor Component, with the replication of these registered subobjects handled automatically by the actor channel. This process offers greater control over when and where subobjects are replicated. The Registered Subobjects List is an opt-in
feature. To enable the Registered Subobjects List, set the property The old system will continue to work alongside the new system for the foreseeable future. For more information about enabling the Registered Subobjects list and working with the new system, refer to the Replicated Subobjects documentation. Templates and Sample ContentSimulation Templates
Unreal Engine 5.1 adds a new Simulation templates category. Simulation templates offer a broad range of starting points for various enterprise simulation applications and are preconfigured with:
For more information, refer to the Unreal Engine Templates Reference page. Platform SDK Upgrades
Release NotesAnimationNew:
Improvement:
Crash Fix:
Bug Fix:
Deprecated:
GameplayNew:
Improvement:
Bug Fix:
RiggingNew:
Improvement:
Bug Fix:
Deprecated:
RuntimeNew:
Improvement:
Crash Fix:
Bug Fix:
Deprecated:
SequencerNew:
Improvement:
Crash Fix:
Bug Fix:
Deprecated:
Removed:
SynthesisNew:
Improvement:
Bug Fix:
EditorAPI Change:
New:
Improvement:
Crash Fix:
Bug Fix:
Removed:
DatasmithNew:
Bug Fix:
Deprecated:
FrameworkNew:
Crash Fix:
Bug Fix:
Deprecated:
UIAPI Change:
New:
Improvement:
Crash Fix:
Bug Fix:
UXNew:
Improvement:
Crash Fix:
Bug Fix:
Deprecated:
FoundationNew:
Bug Fix:
Deprecated:
Removed:
BuildNew:
Improvement:
Bug Fix:
Removed:
CoreAPI Change:
New:
Improvement:
Crash Fix:
Bug Fix:
Deprecated:
Removed:
Dev ToolsNew:
Improvement:
Crash Fix:
Bug Fix:
Deprecated:
InsightsAPI Change:
New:
Improvement:
Crash Fix:
Bug Fix:
Removed:
FrameworkNew:
Bug Fix:
AINew:
Improvement:
Crash Fix:
Bug Fix:
Deprecated:
AI DebuggingCrash Fix:
Bug Fix:
AI EQSNew:
Crash Fix:
Bug Fix:
AI NavigationNew:
Improvement:
Bug Fix:
AI PerceptionNew:
AI Smart ObjectsNew:
Crash Fix:
Bug Fix:
AudioNew:
Improvement:
Crash Fix:
Bug Fix:
Deprecated:
BlueprintNew:
Crash Fix:
Bug Fix:
Deprecated:
Removed:
Blueprint CompilerCrash Fix:
Bug Fix:
Removed:
Blueprint EditorNew:
Crash Fix:
Bug Fix:
Blueprint RuntimeBug Fix:
GameplayAPI Change:
New:
Improvement:
Crash Fix:
Bug Fix:
Deprecated:
Removed:
MassAPI Change:
New:
Bug Fix:
Deprecated:
NetworkingNew:
Improvement:
Crash Fix:
Bug Fix:
Deprecated:
Removed:
Level Design and Art ToolsBug Fix:
Geometry CoreNew:
Bug Fix:
Deprecated:
Geometry ScriptNew:
Bug Fix:
GeometryCoreNew:
Bug Fix:
GeometryScriptNew:
Bug Fix:
Modeling ToolsNew:
Improvement:
Bug Fix:
Deprecated:
World BuildingNew:
Improvement:
Bug Fix:
Level Design and Art Tools /GeometryScriptNew:
LocalizationNew:
Bug Fix:
OnlineNew:
Bug Fix:
Removed:
Crash ReporterBug Fix:
HTTPNew:
Online SubsystemNew:
Improvement:
Crash Fix:
Bug Fix:
Deprecated:
Removed:
VoiceNew:
Bug Fix:
WebSocketsNew:
Bug Fix:
PlatformAPI Change:
New:
Bug Fix:
DesktopNew:
LinuxNew:
Bug Fix:
MobileBug Fix:
OnlineNew:
Improvement:
Crash Fix:
Bug Fix:
Removed:
XRAPI Change:
New:
Improvement:
Bug Fix:
Deprecated:
Platform MobileNew:
Bug Fix:
Removed:
AndroidNew:
Crash Fix:
Bug Fix:
Deprecated:
iOSNew:
iOS, tvOS, and iPadOSNew:
Bug Fix:
RADNew:
RenderingNew:
Improvement:
Optimization:
Crash Fix:
Bug Fix:
Deprecated:
Removed:
ArchitectureNew:
Bug Fix:
LightingNew:
Improvement:
Optimization:
Crash Fix:
Bug Fix:
LumenNew:
Improvement:
Crash Fix:
Bug Fix:
Materials/ShadersAPI Change:
New:
Improvement:
Crash Fix:
Bug Fix:
NaniteNew:
Improvement:
Optimization:
Crash Fix:
Bug Fix:
Removed:
NiagaraAPI Change:
New:
Improvement:
Crash Fix:
Bug Fix:
Path TracerNew:
PostprocessingNew:
Improvement:
Crash Fix:
Bug Fix:
RHINew:
Improvement:
Crash Fix:
Bug Fix:
Deprecated:
Removed:
UnrealLightmassNew:
SimulationPhysicsAPI Change:
New:
Bug Fix:
Deprecated:
VolumetricNew:
UINew:
SlateAPI Change:
New:
Crash Fix:
Bug Fix:
UMGNew:
Crash Fix:
Bug Fix:
Virtual ProductionNew:
Bug Fix:
Deprecated:
IOAPI Change:
New:
Bug Fix:
nDisplayNew:
RenderingNew:
Improvement:
Bug Fix:
ToolsNew:
Bug Fix:
Upgrade NotesAnimationRiggingUpgrade Notes:
SequencerUpgrade Notes:
EditorUpgrade Notes:
FoundationCoreAPI Change:
Upgrade Notes:
Dev ToolsUpgrade Notes:
FrameworkUpgrade Notes:
GameplayUpgrade Notes:
Level Design and Art ToolsGeometry CoreAPI Change:
Geometry ScriptAPI Change:
Upgrade Notes:
Modeling ToolsAPI Change:
PlatformUpgrade Notes:
MobileUpgrade Notes:
OnlineAPI Change:
Upgrade Notes:
RenderingArchitectureUpgrade Notes:
PostprocessingUpgrade Notes:
SimulationPhysicsUpgrade Notes:
New:
UIUpgrade Notes:
UMGNew:
|