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.
Materials can now use more than 13 unique textures!
On PC D3D and consoles, materials can use up to 128 unique textures by making use of new ‘shared’ samplers, which are specified on a TextureSample node.
PC OpenGL and Mac OpenGL are still limited to 13, materials exceeding that limit will fail to compile on those platforms.
In the future we’ll probably add a node similar to the FeatureLevel switch that allows the material to compile for both.
This is a really important improvement for layered materials like terrain, and high quality character materials.
We are no longer held back by the lowest common denominator platform.
It also allows us to add more forward shading features in the future (Forward+, translucency surface lighting).
Material parameters supported in functions!
Material Instance parameters are now supported in functions. This brings functions to feature parity with materials, the same node graphs can be used in either.
The only exceptions are the function input and output nodes which are inherently function-only.
Note that parameters within a material are set by name, so if you have two parameters named ‘wetness’ in different functions referenced by that material, they will both be overridden with the same value in the Material Instance. This can be used intentionally but if you don’t want to share the parameter, give it a unique name.
Scalar and Vector Parameter default values are previewed in realtime!
You can change any scalar or vector parameter default value and see the result instantly in the main 3d viewport.
This is especially useful for Material Functions that implement layers, as you can see the results of a tweak to the layer on all the materials in the scene that use that function.
Here is an improved workflow for tweaking constants in material functions:
Right click and convert to parameter
Apply changes to the function
Tweak the parameter defaults until satisfied, getting instant preview in the 3d viewport
Right click and convert back to constant
Apply changes to the function
Note that if the parameter is overridden in the Material Instance chain, changing the default value will have no effect.
Static Lighting on Foliage
Foliage and Instanced StaticMesh Components now support texture lightmaps. This allows efficient rendering with Stationary lights, as all shadowing is precomputed.
The foliage mesh must have valid Lightmap UVs for lighting to be correct.
Texture lightmaps on foliage work well for medium sized levels, but static lighting does not scale to huge levels due to large memory and build time requirements.
Using a high lightmap resolution on the foliage mesh and having many instances will also require a huge amount of memory and increase map size.
A new option has been added to Select Humanoid Rig that is defined within the Engine.
Note: You do not have to have “Show Engine Content” to see this option.
New: Gameplay Debugger Documentation (WIP)! **
Documentation for Gameplay Debugger is now underway!
The Gameplay Debugger is useful for watching real-time data at runtime, even on clients in networked games using replication.
It works in Play In Editor, Simulate In Editor, and standalone game sessions, and all of the data is displayed overlaid on the game viewport.
The system provides a framework that can be extended to enable debugging of game-specific data.
Follow the link below to read through the early documentation:
**- **Added a curve linear color struct that can be added as a property and edited in details panel.
Removed code that explicitly checks for UCurveLinearColor and added functions to curve owner interface so that this struct can display the gradient editor as well.
Added BP AI sample content project as we don’t currently have a way to specify navmesh settings without a project. Also added default roam behavior if a pathfind to ‘food’ fails.**Cascade
**- **Created struct customization for FRawDistributionVector allowing color-related particle modules to have their vector properties visualized as colors.