Releases: TouchDesigner/TouchEngine-UE
TouchEngine For UE Plugin v1.5.0
Note:
- These release notes are for UE5.5.0
- This release is made from branch UE5.5-Release.
- The Samples release is available at the following link.
Release of TouchEngine For UE Plugin for UE 5.5.0
Download TouchEngine-UE_1.5.0.zip to get the precompiled binaries of the plugin, not the source downloads.
Requirements:
- TouchDesigner 2023.12000+
- Unreal Engine 5.5.0
Changelog
- Plugin is supporting UE5.5.0.
Known issues:
Reset instance Changes to Blueprint Default
can have unexpected behavior. This is caused internally by the TouchEngine Component properties not being quiteUProperty
and a lack of events / callbacks on the Unreal Engine side of things when triggering this event.Apply Instance Changes to Blueprint
can have unexpected behavior. This is caused internally by the TouchEngine Component properties not being quiteUProperty
and a lack of events / callbacks on the Unreal Engine side of things when triggering this event.- Pure BP projects (projects that don't have any C++ classes, or non packaged plugins) require users to manually add the key
"EnabledByDefault": false
to theProject Folder/Plugins/TouchEngine/TouchEngine.uplugin
file when packaging a project. Otherwise, you might get a message stating that a module related to TouchEngine is missing. This is an issue on Unreal packaging end and not something that we can solve at the moment.
Full Changelog: v1.4.0...v1.5.0
TouchEngine For UE Plugin v1.4.0
Note:
- These release notes are for UE5.4.1
- This release is made from branch UE5.4-Release.
- The Samples release is available at the following link.
Release of TouchEngine For UE Plugin for UE 5.4.1
Download TouchEngine-UE_1.4.0.zip to get the precompiled binaries of the plugin, not the source downloads.
Requirements:
- TouchDesigner 2023.11760+
- Unreal Engine 5.4.1
Changelog
- Plugin is supporting UE5.4.1.
Known issues:
Reset instance Changes to Blueprint Default
can have unexpected behavior. This is caused internally by the TouchEngine Component properties not being quiteUProperty
and a lack of events / callbacks on the Unreal Engine side of things when triggering this event.Apply Instance Changes to Blueprint
can have unexpected behavior. This is caused internally by the TouchEngine Component properties not being quiteUProperty
and a lack of events / callbacks on the Unreal Engine side of things when triggering this event.- Pure BP projects (projects that don't have any C++ classes, or non packaged plugins) require users to manually add the key
"EnabledByDefault": false
to theProject Folder/Plugins/TouchEngine/TouchEngine.uplugin
file when packaging a project. Otherwise, you might get a message stating that a module related to TouchEngine is missing. This is an issue on Unreal packaging end and not something that we can solve at the moment.
Full Changelog: v1.3.4...v1.4.0
TouchEngine For UE Plugin v1.3.4 (hotfix)
Note:
- These release notes are for UE5.3.2
- This release is made from branch UE5.3-Release.
- The Samples release is available at the following link.
- This is a hotfix. Please refer to the changelog of v1.3.1 for all the details.
Release of TouchEngine For UE Plugin for UE 5.3.2
Download TouchEngine-UE_1.3.4.zip to get the precompiled binaries of the plugin, not the source downloads.
Requirements:
- TouchDesigner 2022.35320+
- Unreal Engine 5.3.2
Changelog
- Projects could sometimes fail to package when using RTX samples with the TouchEngine for UE Plugin.
- Plugin is supporting UE5.3.2.
- This is a hotfix. Please refer to the changelog of v1.3.1 for all the details.
Known issues:
Reset instance Changes to Blueprint Default
can have unexpected behavior. This is caused internally by the TouchEngine Component properties not being quiteUProperty
and a lack of events / callbacks on the Unreal Engine side of things when triggering this event.Apply Instance Changes to Blueprint
can have unexpected behavior. This is caused internally by the TouchEngine Component properties not being quiteUProperty
and a lack of events / callbacks on the Unreal Engine side of things when triggering this event.
Full Changelog: v1.3.0...v1.3.4
TouchEngine For UE Plugin v1.3.3 (hotfix)
Note:
- These release notes are for UE5.3.1
- This release is made from branch UE5.3-Release.
- The Samples release is available at the following link.
- This is a hotfix. Please refer to the changelog of v1.3.1 for all the details.
Release of TouchEngine For UE Plugin for UE 5.3.1
Download TouchEngine-UE_1.3.3.zip to get the precompiled binaries of the plugin, not the source downloads.
Requirements:
- TouchDesigner 2022.35320+
- Unreal Engine 5.3.1
Changelog
- When using the plugin side to side with the remote control plugin, packaging would fail.
- This is a hotfix. Please refer to the changelog of v1.3.1 for all the details.
Known issues:
Reset instance Changes to Blueprint Default
can have unexpected behavior. This is caused internally by the TouchEngine Component properties not being quiteUProperty
and a lack of events / callbacks on the Unreal Engine side of things when triggering this event.Apply Instance Changes to Blueprint
can have unexpected behavior. This is caused internally by the TouchEngine Component properties not being quiteUProperty
and a lack of events / callbacks on the Unreal Engine side of things when triggering this event.
Full Changelog: v1.3.0...v1.3.3
TouchEngine For UE Plugin v1.3.2 (hotfix)
Note:
- These release notes are for UE5.3.1
- This release is made from branch UE5.3-Release.
- The Samples release is available at the following link.
- This is a hotfix. Please refer to the changelog of v1.3.1 for all the details.
Release of TouchEngine For UE Plugin for UE 5.3.1
Download TouchEngine-UE_1.3.2.zip to get the precompiled binaries of the plugin, not the source downloads.
Requirements:
- TouchDesigner 2022.35280+
- Unreal Engine 5.3.1
Changelog
- When debugging using breakpoints in a TouchEngine Component using Allow In Editor, a crash could sometimes occur if your project hits a breakpoint and you disable Allow In Editor when your project is still on the breakpoint. This is now fixed as well as similar rare cases that could have occurred.
- This is a hotfix. Please refer to the changelog of v1.3.1 for all the details.
Known issues:
Reset instance Changes to Blueprint Default
can have unexpected behavior. This is caused internally by the TouchEngine Component properties not being quiteUProperty
and a lack of events / callbacks on the Unreal Engine side of things when triggering this event.Apply Instance Changes to Blueprint
can have unexpected behavior. This is caused internally by the TouchEngine Component properties not being quiteUProperty
and a lack of events / callbacks on the Unreal Engine side of things when triggering this event.- TouchEngine Menu Parameters with defaults values are missing the “default” attribute when converted to Unreal Menu UProperties. You will not see the arrow to reset to default. This is a TouchDesigner issue and this will be fixed in the next build we post.
Full Changelog: v1.3.0...v1.3.2
TouchEngine For UE Plugin v1.3.1
Note:
- These release notes are for UE5.3.1
- This release is made from branch UE5.3-Release.
- The Samples release is available at the following link.
- If you are looking for the latest UE5.2.1 release, follow this link.
Release of TouchEngine For UE Plugin for UE 5.3.1
Download TouchEngine-UE_1.3.1.zip to get the precompiled binaries of the plugin, not the source downloads.
Requirements:
- TouchDesigner 2022.35280+
- Unreal Engine 5.3.1
Changelog
-
TouchEngine SDK Update 2022.35130
-
Main Feature: Sync Modes Update
- The Sync Mode backend code was entirely reworked and should now behave as users expect it. It should be more effective, and stable.
- The send mode menu was removed. This is now handheld in the backend automatically.
- Possibly BREAKING CHANGE: We are not sending the inputs every frame anymore. You need to explicitly call
Set TouchEngine Input
for every frame where you want the texture copied. When you call the node, the texture will end up being copied and sent to TE and as we are not sending the inputs every frame anymore, we need to call the node again to start copying the next frame. - Inputs are now saving the FrameID at which they were set. We only send the frames that actually changed.
- Added a new input buffer limit parameter. In Independent and Delayed Synchronized modes, this will enqueue cooks until it reach this limit and the buffer is full. When the buffer is full, older cooks will be merged with the next cook so that some values are still being sent.
- The Time Scale property was removed and is being set automatically in the backend.
-
Advanced properties
New properties were added to the TouchEngine Component- Pause on End Frame can be used to pause the editor when a frame was processed. This is only useful for debugging and it is only supported in Editor mode.
- Exported / Imported Texture Pool Size properties were added for users to control the size of the texture pool used by TOP inputs and outputs in Unreal Engine. A texture pool is used to store temporary texture data while exchanging textures between the TouchEngine process and Unreal Engine. They are allocated and initialized once when the TouchEngine Component is first loaded.
- Tox Load Timeout: The number of seconds to wait for the .tox to load in the TouchEngine before aborting.
- Cook Timeout: The number of seconds to wait for a cook before cancelling it. If the cook is not done by that time, the component will raise a TouchEngineCookTimeout error and will continue running. Be cautious of not using too high values in Synchronized mode as we are stalling the GameThread, the application could become unusable.
-
Details panels changes and fixes
- The properties are now closer to the TouchEngine Parameters. Parameters are converted to Unreal properties more accurately and attributes that exist for some property types are now set, such as clamping values (when enabled), default value.
- The reset to default arrow is now available on properties with default values set.
- Slider type display for floats, ints, floats…
- When updating a value using the slider, the change doesn’t trigger the construction blueprint of the actor to re-init anymore. This prevent frame drops when tweaking a property. However, this means that the value will update and be passed to the TouchEngine Component only when the mouse is released.
⚠️ TouchEngine now supports range min/max and clamp min/max values. Users should set those to avoid cases were incredibly small or incredibly high values are being passed from / to TouchEngine / Unreal.
- Added or tweaked description in the tooltip of various properties
-
Blueprints context menu
- More reorganization in the context menu
-
Blueprints misc
- Fixed an issue where the details panel of a blueprint could display obsolete data. For example, in the case where a .tox was loaded with a set of parameters, then updated and reloaded in the world outliner details panel, going in the blueprint editor details panel could display the older properties.
-
New Nodes
- Refresh Texture Sampler allows the UTexture to refresh its texture sampler and update the current filter. i.e. if a texture sampler was originally interpolating between pixels, was changed to a Nearest filter, Unreal will now refresh the sampler and change its filter to Nearest. This still requires a user to update the filter one way or another. The function itself works on any UTexture (if they support it).
- Refresh Texture Sampler allows the UTexture to refresh its texture sampler and update the current filter. i.e. if a texture sampler was originally interpolating between pixels, was changed to a Nearest filter, Unreal will now refresh the sampler and change its filter to Nearest. This still requires a user to update the filter one way or another. The function itself works on any UTexture (if they support it).
-
Nodes changes
- Clear was renamed to CHOP Clear, since it only is useful when working with CHOP UStructs at the moment. This is also adjusted in the context menu.
- Is Valid? was renamed to Is CHOP Input Valid? since a CHOP UStruct passed from a Get TouchEngine Output node is always valid. This is also adjusted in the context menu.
- FTouchEngineCHOP to String was renamed to CHOP To Debug String. This should be used only to debug.
- FTouchEngineCHOPChannel To String was renamed to CHOP Channel To Debug String. This should be used only to debug.
-
New events
- On Tox Started Loading. A new event that is called as soon as the TouchEngine starts loading the .tox file.
-
Events changes
- GetOutputs was renamed to OnEndFrame
- SetInputs was renamed to OnStartFrame
-
OnEndFrame Event Metadata
- The new OnEndFrame event is now carrying the frame metadata. This allows to users to work more efficiently in the context of sync or have additional checks when a frame is dropped or discarded, as well as other circumstances.
- Is Successful bool: True when Result is Success and the frame wasn’t dropped (Frame Data Was Frame Dropped)
- Result:
Use a “switch” node.Success
andInputsDiscarded
will be the most common ones.Cancelled
will regularly appear when stopping TouchEngine as there might have been a cook in process or queued.- Success: The cook was successful. It does not mean that the frame was not dropped by TouchEngine.
- Inputs Discarded: The inputs were discarded because the input queue became bigger than the Input Buffer Limit. When this happens, the value of the inputs will be given to the next set of inputs in the queue, unless they already define a value for those inputs. This should only happen in Delayed Synchronized and Independent modes.
- Internal TouchEngine Error: TouchEngine failed to cook the frame
- Cancelled: TouchEngine was requested to be shut down while a Cook was under process
- Bad Request: Arguments were not correct or the TouchEngine instance was not valid when we wanted to start a cook
- Failed To Start Cook: TouchEngine returned an error when the frame was started.
- The structure is as follow:
- Frame ID: The frame identifier, which is unique for this component, until it is restarted.
- Tick Latency: The number of ticks it took since On Start Frame was last called.
- Latency: The number of milliseconds it took since On Start Frame was last called.
- Was Frame Dropped: When Unreal runs faster than the TouchEngine sub process, it can happen that the frame gets dropped, although the cook happened and be successful. In that case, the Output wouldn’t have updated.
- Frame Last Updated: The frame identifier of the last frame we received updated data from TouchEngine.
- Cook Start Time: The internal start time of this cook returned by TouchEngine.
- Cook End Time: The internal end time of this cook returned by TouchEngine.
-
New read only variable Allow Running in Editor which can be used in a Blueprint to know if the Allow Running in Editor property is currently toggled on or off.
-
ToxAssets now broadcast changes. If a path is changed in a ToxAsset, or a .tox gets reimported after clicking on the Unreal Engine prompt to re-import, a TouchEngine Component relying on this ToxAsset will trigger a reload of its details panel.
-
Render Targets are now supported.
-
Compressed texture formats are now supported and converting properly from Unreal to TouchEngine / TouchEngine to Unreal.
-
Logging to boss the Message Log and Output Log was reworked. Messages should not spam the log when they are identical. Log levels assigned to specific messages were tweaked in some cases to be more or less disruptive and catch the attention. Messages being sent to the Message Log are also interactive in most cases.
-
DX11 was deprecated. Code is unmaintained and will not run in DX11 mode.
-
Various tweaks and fixes, stability improvements
-
Update of the documentation
Known issues:
Reset instance Changes to Blueprint Default
can have unexpected behavior. This is caused internally by the TouchEngine Component properties not being quiteUProperty
and a lack of events / callbacks on the Unreal Engine side of things when triggering this event.Apply Instance Changes to Blueprint
can have unexpected behavior. This is caused internally by the TouchEngine Component properties not being quiteUProperty
and a lack of events / callbacks on the Unreal Engine side of things when triggering this event.- TouchEngine Menu Parameters with defaults values are missing the “default” attribute when converted to Unreal Menu UProperties. You will not see the arrow to reset to default. This is a TouchDesigner issue and this will be fixed in the next build we post.
- When debugging using breakpoints in a TouchEngine Component using Allow In Editor, a crash can occur if your...
TouchEngine For UE Plugin v1.3.0
Note:
- These release notes are for UE5.2.1
- This release is made from branch UE5.2-Release.
- The Samples release is available at the following link.
Release of TouchEngine For UE Plugin for UE 5.2.1
Download TouchEngine-UE_1.3.0.zip to get the precompiled binaries of the plugin, not the source downloads.
Requirements:
- TouchDesigner 2022.35280+
- Unreal Engine 5.2.1
Changelog
-
TouchEngine SDK Update 2022.35130
-
Main Feature: Sync Modes Update
- The Sync Mode backend code was entirely reworked and should now behave as users expect it. It should be more effective, and stable.
- The send mode menu was removed. This is now handheld in the backend automatically.
- Possibly BREAKING CHANGE: We are not sending the inputs every frame anymore. You need to explicitly call
Set TouchEngine Input
for every frame where you want the texture copied. When you call the node, the texture will end up being copied and sent to TE and as we are not sending the inputs every frame anymore, we need to call the node again to start copying the next frame. - Inputs are now saving the FrameID at which they were set. We only send the frames that actually changed.
- Added a new input buffer limit parameter. In Independent and Delayed Synchronized modes, this will enqueue cooks until it reach this limit and the buffer is full. When the buffer is full, older cooks will be merged with the next cook so that some values are still being sent.
- The Time Scale property was removed and is being set automatically in the backend.
-
Advanced properties
New properties were added to the TouchEngine Component- Pause on End Frame can be used to pause the editor when a frame was processed. This is only useful for debugging and it is only supported in Editor mode.
- Exported / Imported Texture Pool Size properties were added for users to control the size of the texture pool used by TOP inputs and outputs in Unreal Engine. A texture pool is used to store temporary texture data while exchanging textures between the TouchEngine process and Unreal Engine. They are allocated and initialized once when the TouchEngine Component is first loaded.
- Tox Load Timeout: The number of seconds to wait for the .tox to load in the TouchEngine before aborting.
- Cook Timeout: The number of seconds to wait for a cook before cancelling it. If the cook is not done by that time, the component will raise a TouchEngineCookTimeout error and will continue running. Be cautious of not using too high values in Synchronized mode as we are stalling the GameThread, the application could become unusable.
-
Details panels changes and fixes
- The properties are now closer to the TouchEngine Parameters. Parameters are converted to Unreal properties more accurately and attributes that exist for some property types are now set, such as clamping values (when enabled), default value.
- The reset to default arrow is now available on properties with default values set.
- Slider type display for floats, ints, floats…
- When updating a value using the slider, the change doesn’t trigger the construction blueprint of the actor to re-init anymore. This prevent frame drops when tweaking a property. However, this means that the value will update and be passed to the TouchEngine Component only when the mouse is released.
⚠️ TouchEngine now supports range min/max and clamp min/max values. Users should set those to avoid cases were incredibly small or incredibly high values are being passed from / to TouchEngine / Unreal.
- Added or tweaked description in the tooltip of various properties
-
Blueprints context menu
- More reorganization in the context menu
-
Blueprints misc
- Fixed an issue where the details panel of a blueprint could display obsolete data. For example, in the case where a .tox was loaded with a set of parameters, then updated and reloaded in the world outliner details panel, going in the blueprint editor details panel could display the older properties.
-
New Nodes
- Refresh Texture Sampler allows the UTexture to refresh its texture sampler and update the current filter. i.e. if a texture sampler was originally interpolating between pixels, was changed to a Nearest filter, Unreal will now refresh the sampler and change its filter to Nearest. This still requires a user to update the filter one way or another. The function itself works on any UTexture (if they support it).
- Refresh Texture Sampler allows the UTexture to refresh its texture sampler and update the current filter. i.e. if a texture sampler was originally interpolating between pixels, was changed to a Nearest filter, Unreal will now refresh the sampler and change its filter to Nearest. This still requires a user to update the filter one way or another. The function itself works on any UTexture (if they support it).
-
Nodes changes
- Clear was renamed to CHOP Clear, since it only is useful when working with CHOP UStructs at the moment. This is also adjusted in the context menu.
- Is Valid? was renamed to Is CHOP Input Valid? since a CHOP UStruct passed from a Get TouchEngine Output node is always valid. This is also adjusted in the context menu.
- FTouchEngineCHOP to String was renamed to CHOP To Debug String. This should be used only to debug.
- FTouchEngineCHOPChannel To String was renamed to CHOP Channel To Debug String. This should be used only to debug.
-
New events
- On Tox Started Loading. A new event that is called as soon as the TouchEngine starts loading the .tox file.
-
Events changes
- GetOutputs was renamed to OnEndFrame
- SetInputs was renamed to OnStartFrame
-
OnEndFrame Event Metadata
- The new OnEndFrame event is now carrying the frame metadata. This allows to users to work more efficiently in the context of sync or have additional checks when a frame is dropped or discarded, as well as other circumstances.
- Is Successful bool: True when Result is Success and the frame wasn’t dropped (Frame Data Was Frame Dropped)
- Result:
Use a “switch” node.Success
andInputsDiscarded
will be the most common ones.Cancelled
will regularly appear when stopping TouchEngine as there might have been a cook in process or queued.- Success: The cook was successful. It does not mean that the frame was not dropped by TouchEngine.
- Inputs Discarded: The inputs were discarded because the input queue became bigger than the Input Buffer Limit. When this happens, the value of the inputs will be given to the next set of inputs in the queue, unless they already define a value for those inputs. This should only happen in Delayed Synchronized and Independent modes.
- Internal TouchEngine Error: TouchEngine failed to cook the frame
- Cancelled: TouchEngine was requested to be shut down while a Cook was under process
- Bad Request: Arguments were not correct or the TouchEngine instance was not valid when we wanted to start a cook
- Failed To Start Cook: TouchEngine returned an error when the frame was started.
- The structure is as follow:
- Frame ID: The frame identifier, which is unique for this component, until it is restarted.
- Tick Latency: The number of ticks it took since On Start Frame was last called.
- Latency: The number of milliseconds it took since On Start Frame was last called.
- Was Frame Dropped: When Unreal runs faster than the TouchEngine sub process, it can happen that the frame gets dropped, although the cook happened and be successful. In that case, the Output wouldn’t have updated.
- Frame Last Updated: The frame identifier of the last frame we received updated data from TouchEngine.
- Cook Start Time: The internal start time of this cook returned by TouchEngine.
- Cook End Time: The internal end time of this cook returned by TouchEngine.
-
New read only variable Allow Running in Editor which can be used in a Blueprint to know if the Allow Running in Editor property is currently toggled on or off.
-
ToxAssets now broadcast changes. If a path is changed in a ToxAsset, or a .tox gets reimported after clicking on the Unreal Engine prompt to re-import, a TouchEngine Component relying on this ToxAsset will trigger a reload of its details panel.
-
Render Targets are now supported.
-
Compressed texture formats are now supported and converting properly from Unreal to TouchEngine / TouchEngine to Unreal.
-
Logging to boss the Message Log and Output Log was reworked. Messages should not spam the log when they are identical. Log levels assigned to specific messages were tweaked in some cases to be more or less disruptive and catch the attention. Messages being sent to the Message Log are also interactive in most cases.
-
DX11 was deprecated. Code is unmaintained and will not run in DX11 mode.
-
Various tweaks and fixes, stability improvements
-
Update of the documentation
Known issues:
Reset instance Changes to Blueprint Default
can have unexpected behavior. This is caused internally by the TouchEngine Component properties not being quiteUProperty
and a lack of events / callbacks on the Unreal Engine side of things when triggering this event.Apply Instance Changes to Blueprint
can have unexpected behavior. This is caused internally by the TouchEngine Component properties not being quiteUProperty
and a lack of events / callbacks on the Unreal Engine side of things when triggering this event.- TouchEngine Menu Parameters with defaults values are missing the “default” attribute when converted to Unreal Menu UProperties. You will not see the arrow to reset to default. This is a TouchDesigner issue and this will be fixed in the next build we post.
- When debugging using breakpoints in a TouchEngine Component using Allow In Editor, a crash can occur if your project hits a breakpoint and you disable Allow In Editor when your project is still on the breakpoint. Disable the breakpoint first and conti...
TouchEngine For UE Plugin v1.2.0
Note:
- These release notes are for UE5.2.1 and 5.1.1
- This release is made from branch UE5.2-Release
- The Samples release is available at the following link.
- Users wishing to use this new plugin version in UE5.1.1 should build plugin from source, on the UE5.1-Release branch.
Release of TouchEngine For UE Plugin for UE 5.2.1
Download TouchEngine-UE_1.2.0.zip to get the precompiled binaries of the plugin, not the source downloads.
Requirements:
- TouchDesigner 2022.33910
- Unreal Engine 5.2.1
Changelog
- TouchEngine SDK was updated to latest, 2022.33910
- Support for UE5.2.1 and UE5.1.1
⚠️ ⚠️ ⚠️ Warning:⚠️ ⚠️ ⚠️ They are various breaking changes and backward compatibilities issues with that update. We have update procedures. Follow the links in that changelog for what may affect you.
New features
- Major rework of CHOP workflows.
⚠️ This is a breaking change. CHOP related nodes should be recreated. Setting CHOPs inputs or getting CHOP outputs should be reworked. Follow here for more details: Upgrading CHOP related blueprints from 1.1.0 to 1.2.0 - There is now a TouchEngine CHOP Struct.
- TouchEngine Components can now load and run in editor mode. They don’t need to be in PIE or packaged projects. Follow here for more details: How to use the plugin in editor mode
- Users can now pass strings or names to the Input / Output pins of the Input / Output / Parameter nodes.
- In Blueprint Editor, using right click, all new features from the plugin exposed as blueprint nodes are now organized in the TouchEngine category.
- New Parameter specific nodes, Set TouchEngine Parameter, Get TouchEngine Parameter. There is no need to prefix names anymore. I.e. if a parameter is named “Somename”, just type “Somename” rather than “p/Somename”.
- Set Inputs node is now really for inputs. Get Outputs is really for outputs.
- Vector2D Inputs / outputs are now properly supported in blueprints from / to TouchEngine parameters.
- New Events:
- On Tox Unloaded
- Begin Play - Should be used in place of vanilla Begin Play when using components in Editor mode (or as well as PIE)
- End Play - Should be used in place of vanilla End Play when using components in Editor mode (or as well as PIE)
- New nodes:
- Parameters
- Set TouchEngine Parameter
- Get TouchEngine Parameter
- CHOPs
- Is Valid: A CHOP is valid when all channels have the same number of samples. A CHOP with no channels or with only empty channels is considered valid.
- Get Channel - returns a Channel from its Index, equivalent of breaking the structure and getting the element at the given index. It returns false if the value is outside the range of the array or if the CHOP is not Valid.
- Get Channel by Name - returns a Channel from its name, equivalent of breaking the structure and returning the first channel with the matching name. Returns false if there are no channels with matching names or if the CHOP is not Valid.
- Get Num Channels - same as checking the length of the Channel array, but returns 0 is the CHOP is not valid. Should be preferred to avoid unexpected errors.
- Get Num Samples - same as checking the length of the first Values array from the first Channel, but returns 0 is the CHOP is not valid. Should be preferred to avoid unexpected errors.
- FTouchEngineCHOP to String - which is an auto converter to string, useful for debugging.
- FTouchEngineCHOPChannel to String - which is an auto converter to string, useful for debugging.
- Clear - empties all channels from a CHOP object and make the CHOP invalid. It’s similar to using Clear on an array of Channels, or Clear on an array of samples.
Break
,Make
,Set Members in
,Cast to
, etc. related to this new UStruct.
- Parameters
- Massive documentation rework
Bug fixes and improvements
- Many performance improvements, bug fixes
- Some warnings when packaging project were removed
- Fixed cases where the “Loading…” message in the details panel would sometime be here forever.
- Errors from TouchEngine were silenced, they are now forwarded properly to Unreal. When TouchEngine fails to cook on a frame for some reason, the error is forwarded to Unreal properly.
- Improved error reporting in the case that a version of TouchDesigner is installed but the plugin requires an updated version.
- Some non-fatal errors were sometimes blocking TouchEngine from outputting frames, this should now be solved.
- The details panel was re-arranged. Some bits were renamed to better convey what they are. Some minor cosmetics changes.
- When passing a 1d array straight to a CHOP with the Set TouchEngine Input node, this is now creating 1 channel of n samples rather than n channels of 1 sample. This is more efficient. You can change your CHOP network internally with a shuffle CHOP if you wish to keep the behavior as it was.
⚠️ This is a potentially breaking change. - Fixing cases where copy/pasting components wouldn’t copy all data and would break in undo / redo cases.
- The event Get Outputs is now On Outputs Received. It is now triggered as initially expected, when outputs are received.
⚠️ This is a potentially breaking change. Blueprints might not compile. It is easily solvable by replacing the event.
Known issues
- Sync mode does not behave as expected for the different RHIs. This will be fixed in the next release.
Full Changelog: v1.1.1...v1.2.0
TouchEngine For UE Plugin v1.1.1 (BETA, HOTFIX)
Note:
- This release is for UE5.1.0 Only.
- This release is made from branch UE5.1-Release
- This release is a hotfix to TouchEngine For UE v1.1.0
Beta release of TouchEngine For UE Plugin for UE 5.1.0
Download TouchEngine-UE_1.1.1.zip to get the precompiled binaries of the plugin, not the source downloads.
Changes:
- Allow literal strings/names to be passed to TouchEngine Nodes (Get TouchEngine Output, Set TouchEngine Input).
The next version after this release will introduce various UX changes and improvements.
Requirements:
- TouchDesigner 2022.31030
- Unreal Engine 5.1.0
Known issues:
- Sync mode does not behave as expected for the DX12 and Vulkan RHIs.
- When the Vulkan RHI is selected, it can happen that the Viewport goes to black or shows garbage textures on some hardware
- Compressed textures format are not all supported, this will be improved in a future build (UE5.1.0+ only)
- In the details panel, it shows "Loading... " continuously.
- Because of a change in UE5.1.0, the details panel properties (exposing TouchEngine parameters) behave differently in comparison to UE5.0.3. Developers can notice that when manually updating values, the update is sent only when the mouse is being released. We are researching possible solutions and improvements on that front.
Full Changelog: v1.1.0...v1.1.1
TouchEngine For UE Plugin v1.1.0 (BETA, UE5.1.0, DX12 Support, Preliminary Vulkan Support)
Note:
- This release is for UE5.1.0 Only.
- This release is made from branch UE5.1-Release
Beta release of TouchEngine For UE Plugin for UE 5.1.0
Download TouchEngine-UE_1.1.0.zip to get the precompiled binaries of the plugin, not the source downloads.
Important: Don't miss this extensive blog post regarding this release and the future of the plugin.
You will notice a change in version. The version 1.0.0 (beta) is likely to be the last for UE5.0.3. The version 1.1.0 (beta) is the branch where the latest changes will be added and supports UE5.1.0.
The next version after this release will introduce various UX changes and improvements.
Changes in v1.1.0:
- Major overall of the core code of the plugin
- DX12 support
- Preliminary Vulkan support
- Various tweaks and fixes, stability improvements
- Support for latest TouchEngine version
- Documentation tweaks
Requirements:
- TouchDesigner 2022.30950
- Unreal Engine 5.1.0
Known issues:
- Sync mode does not behave as expected for the DX12 and Vulkan RHIs.
- When the Vulkan RHI is selected, it can happen that the Viewport goes to black or shows garbage textures on some hardware
- Compressed textures format are not all supported, this will be improved in a future build (UE5.1.0+ only)
- In the details panel, it shows "Loading... " continuously.
- Because of a change in UE5.1.0, the details panel properties (exposing TouchEngine parameters) behave differently in comparison to UE5.0.3. Developers can notice that when manually updating values, the update is sent only when the mouse is being released. We are researching possible solutions and improvements on that front.
Full Changelog: v0.9.5...v1.1.0