Community Post

TouchEngine for UE 5.3.1: Sync modes, UX improvements, new Niagara and Render Target samples, Bananas

Hello everyone,
We are back today with a new release of our TouchEngine for UE plugin.
You can head over to GitHub and grab the latest release of the plugin and give it a try with our samples project. Don’t forget to update your TouchDesigner build to the latest available, 2022.35280.
Disclaimer: Users should carefully go over the release notes and documentation. Major changes were introduced. 
There are also a few known issues listed on the plugin release notes.

What’s New?

UE 5.3.1

This new release includes support for UE 5.3.1. The UE5.2 plugin branch was updated as well with feature parity against UE5.3. This will be our last update for UE5.2. Scroll down the list of releases on GitHub if you want to grab the UE5.2 version.

Sync Modes

This is the major feature for this update. 
It has been completely reworked, including an overhaul of the backend.
Sync Modes allow you to decide what should be the behavior between Unreal and TouchEngine when a frame is cooking. You can pick between independent, delayed synchronized and synchronized. Synchronized mode is especially important when you want a tight synchronization between your TouchEngine subprocess and Unreal. Synchronized mode will guarantee that the TouchEngine frame will cook within the same Unreal Engine tick.
To accommodate for those changes, many of the existing events were updated with details added such as the Frame ID or in the case of the OnEndFrame event (renamed, it used to be called GetOutputs) a full structure containing some important metadata.
Another important change to point out around the rework of the sync backend is that the Send Modes menu was removed. We are not sending inputs every frame anymore. You need to explicitly call Set TouchEngine Input in your blueprint for every tick where you want the Input to be sent.
There are many more details around the Sync Modes changes, which are explained in the release notes on GitHub. We recommend that users thoroughly review the release notes.

Many UX improvements and changes

This is a long list, and you will likely find some specific bits to your liking by reading the GitHub release notes.
Some of those additions are the new Advanced Properties section on the TouchEngine Components in the Details Panel. You can now tweak how your TouchEngine should behave when performing some specific tasks. A .tox is taking forever to load and you want to abort if it takes too long? Set the Tox Load Timeout property to the value of your choice. You want your TouchEngine Component to abort a cook when it’s taking more time than it should? Tweak the Cook Timeout property
Unreal Properties are now closer to TouchDesigner Parameters. When possible, they are converted more accurately and attributes that exist for some property types are now set, such as clamping values, default values.. etc. You now have an arrow to reset the value to its default, and floats and ints have slider type displays that adjust based on the range you set in the TouchDesigner Component Editor.
A new event is available on the TouchEngine Component, for use in your TouchEngine Actor, On Tox Started Loading: a new event that is called as soon as the TouchEngine starts loading the .tox file. GetOutputs event was renamed to OnEndFrame, SetInputs was renamed to OnStartFrame.
Some nodes were tweaked and a new helper node is available, Refresh Texture Sampler
As you can see, there are many small changes, all of which are listed in the release notes on GitHub. We’ll say it again, we advise you to give it a thorough read. smiley

New Samples

Thanks to a number of those changes some samples were updated and some new samples landed.
TouchEngine and the TouchEngine Plugin now support all compressed texture types exchanged between Unreal and TouchEngine. 
The samples displaying texture from TOPs were also updated to be more color accurate. Have a look at the sample Materials and at the samples documentation to get a better idea of what changed and what might be of interest when you have issues when getting your TOPs to look the way you expect them to look in Unreal.
The CHOP samples have been optimized. You should revisit the CHOPs doc and the blueprints to get tips and tricks on how you could improve performances when working with CHOPs.
Did you see that floating banana? 
That’s part of a new sample using TOPs from TouchEngine, fed into Niagara particle systems. It’s also showcasing where the new node Refresh Texture Sampler can be used.
enlightenedA fair warning that this sample can be heavy on the GPU.
This, however, is much more efficient than using CHOPs to control particles. It could likely be improved further for the most Niagara connoisseurs.
We also have a new sample using a render target, passed to TouchEngine to process an Unreal frame with some additional wavy post-effects.

Other changes and improvements

You can have a look at the complete changelog or the git history if you wish to have all the details, as there were many smaller changes, improvements and bug fixes for the plugin and samples. The list is long, reflecting the amount of work and care pushed by the plugin development team.

That’s a wrap

We hope that you enjoy this new version and we can’t wait to see what you create with it. Please feel free to share your work with us in the comments below. If you have any questions, requests, or if you found a bug this is a good place as well. Thanks!