We’re excited to share a few of the new features now available on the Master branch on GitHub. To be able to try out these new features, you will need to download the source code for the Master branch and build the Engine yourself. For more information about how to build the Engine from source code, please see this page. The Master branch on GitHub is constantly being updated and is not quality tested so it may be potentially unstable. We do not recommend using the Master branch for project development. If you wish to wait, these features will be made available to all in an upcoming official release.
Engine News
New Features
Decal Fading
There’s a new property Fade Screen Size on decals. It’s a fraction of the total screen size, and defaults to 0.01 (or about 20 pixels at 1080p). The size is calculated using the bounding volume of the decal. Once the decal reaches the specified size on screen, it will be fully faded out and no longer be drawn, saving draw calls and some other render thread work.
An example at 0.5:
0.01 is pretty conservative, and you shouldn’t notice much visual difference with the default. Decals that always tend to be viewed at shallow angles or use materials that have low contrast with their background can have more aggressive fading than others - in the end, you’ll have to experiment and find the right values for your specific cases.
The console variable r.Decal.FadeScreenSizeMult adjusts a multiplier that is applied to all screen size fade values - increasing this will make the fading more aggressive. The screen size calculation is FOV aware.
UI Material Editing Improvements
UI materials have never really been the same as normal surface materials so we’ve made some changes in the Material editor to support working on UI materials.
-
Materials that are designed to be rendered with UI (Slate and UMG) should now use the UI material domain. Any existing materials using the “Used with UI” checkbox will be automatically upgraded.
-
When you use the UI material domain the material editor changes a bit to support working on UI materials.
- The preview is rendered as it will appear in the UI. (This also applies to the material instance editor)
- The output pins of the final material are renamed and represent what you are hooking up
- Material properties not relevant to UI have been removed
- Stats now show the stats of the UI shaders instead of the base pass shaders
If you accidentally switch the domain from Surface to UI, do not worry, none of your material settings will be lost.
Transition Rule Improvements
Better handling of animation Asset Overrides
Nodes like Time Remaining in transition rules now correctly respond to changes in animation length due to overriden animations in Child Animation Blueprints. This means that animations referenced by transition rules no longer have to be the same length in every child Animation Blueprint.
Referencing the most relevant animation player
In order to make state machines more maintainable, you can now use a new class of getter that always picks the highest weighted animation from the source state, rather than targeting a specific animation that might change in the future. The following nodes are now available:
Custom Blend Graph Improvements
Additional information is now exposed in Custom Blend graphs to allow them to be used for more than just a one-shot custom transition animation. The following nodes that provide information about the corresponding transition node and source/destination states are now available in custom blend graphs:
You can also use getter methods that reference the asset players, just like in a transition rule.
New Documentation Functions
Skill Level & Version Filtering
Added ability to filter the sitemap by skill level and/or engine version. Sitemap is now an expandable tree view. When filtered, the tree is expanded to show matching items while non-matching items appear grayed out. Skill Level and Engine Version tags on pages also now link to sitemap and automatically filter it.
Tags using metadata:
Documentation pages can now have tags which are displayed at the bottom of pages:
Clicking a tag opens the sitemap filtered to only show pages with that tag: