Engine Features Preview 12/24

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
Local Variable Default Values
Local variables in Functions now support default values!
No more having to bloat the start of your function with nodes to setup default values. These values are not persistent between function calls, every time the function is entered, the value should be the default once more.



**Coming soon: Time Material Expression
The Time Node in the Material Editor now has an optional Period; if enabled, Time will wrap around that value; however the main characteristic of this feature is that enabling a Period will perform math computations on the CPU (running full precision on mobile!).

E.g., when the time reaches 2 it will wrap around to zero:


When enabling Period, the CPU will evaluate as much as it can; the following graph will evaluate all the nodes on the CPU (at high precision!):


What about Panner? There was no safe way to get this working with the new system (before you could have relied on the time getting to 20 for example, and we’d have to know that in the period!) so all Panner nodes will not automatically update. However doing your own Panner node should be 3 nodes long (Time with Period * Speed + TexCoord)

Camera Spring Arm Component Improvements

Cameras now use sub-stepping to fix issues under variable frame rates. Cameras following moving targets and using “camera lag” are now much smoother!

Additionally there is now an option to limit the distance a camera may lag behind its target (SpringArmComponent.CameraLagMaxDistance).
This can be used to fix issues with fast moving camera targets and a slow camera interp speed.

We have also added a debug visualization option (bDrawDebugLagMarkers flag) to visualize the lag target and current location.
The debug visualization changes color when the distance is being clamped.

Example Video:

Good work! Keep it up! :slight_smile:

I was just going to ask this exact question, how to create a custom Panner node, as I wanted to be able to adjust the X/Y speed from a Scalar parameter. I have created what you have written above (Time with Period * Speed + TexCoord) and it works properly, I was multiplying/adding in the wrong order previously and couldn’t get it to work… :o

It would be great if you guys had a built in Panner node with an input for X/Y speed though instead of setting it on the node itself, unless there is a reason why it needs to be done that way that I am not aware of.

Thanks guys! Looks good :slight_smile:

Epic: You the Man, You the Man! Yes you am, Yes you am!

Awesome, thanks for the present! Have a great holiday! :smiley:

Hey Epic - Have a great Holiday Season and a Happy new year :smiley:

Thanks for the awesome updates to the Master Branch. :smiley: