0 ratings

OSCToolset is a plugin for Unreal Engine 5 that simplifies the OSC workflow from TouchDesginer. It is designed to only send messages during runtime (while playing) in the UE5 session. This helps to improve performance and creates a two way communication between TouchDesigner and UE5.

In the files, docs and examples are included as OSCToolset_Examples.

The plugin comes in two parts:

OSCToolset.tox (the component for TouchDesigner that will send data)

To be able to send data to Unreal Engine you use the OSCToolset component in TouchDesigner. It currently supports the following data types. Event, Float, Vector 2, Vector 3, Color and Transform.

  • Message FPS - Limits the OSC send rate to improve performance.
  • Fix UE5 frame rate - On certain computers or setups, the GPU and CPU load of the project can be too great to handle for your PC. In Windows, it could automatically lower the performance of TouchDesigner by reducing its CPU budget. You can fix by toggling this On and choosing a working frame rate.
  • Channel pool - Shows you how many channels there are from all the selected CHOPs.
  • Connected channels - Shows the number of channels that UE5 has connected to.
  • Channel count warning - Allows you to set a warning for a number of connected channels.
  • CHOP Out - UE5 events like BeginPlay, EndPlay and the PlayState.
  • DAT Out - A list of connected addresses and what Actors in UE5 are owners for debugging.

There are two different types of message that you can send from TD. A normal OSC message and a Bundle.

Messages - [Event, Float]

For Event and Float the channel name becomes the address of the message.

Bundles - [Vec2, Vec3, Color, Transform]

The naming of your channels in a bundle type is not important, as the Address paramter in the OSCToolset component will dictate the name to set in the UE5 component.

Bundles are packed by the channel index order, you should be carefull how you set them up. The orders are as follows:

  • Vec2 - [0-X, 1-Y]
  • Vec3 - [0-X, 1-Y, 2-Z]
  • Color- [0-R, 1-G, 2-B, 3-A]
  • Transform - [0-tX, 1-tY, 2-tZ, 3-rX, 4-rY, 5-rZ, 6-sX, 7-sY, 8-sZ]

OSCToolset.uplugin (the plugin for Unreal Engine that will receive and parse data)

  • A collection of actor components that can be attached or bound to any actor. There is also the option to get the value on UE5's tick rate. This ensures that the values are smoothed properly while giving you room to lower the Message FPS rate from TouchDesigner.

  • A game mode, that inherits from GM_OSCToolset. You will not need to setup any OSC server or client in Unreal. The way that the plugin is structured, ensures that actors and components are initialized properly and with ease.
  • Messages - [Event, Float] you set the address as mentioned on the OSCToolset.tox.

  • Bundles - [Vec2, Vec3, Color, Transform] For example, you can select the bundle by index if you send more than one color.

!!Attention - Known issues!!

  • Sending channels with the same name for Event and Float will get both values and your value will not be correct. Be mindful of using channels with the same naming. I never got to a point that this was a problematic issue, but if it becomes one, a fix will come.
  • UE5 Can run slow on the background if Use Less CPU when in Background is toggled On.
  • Windows can throttle TouchDesigner's frame rate if the load of the project is too high, which depends on the specs of your machine. Consider turning On Fix UE5 frame rate and play with the value until it works.

The best way to see how it all can be setup is to look at the example files ;)

Software versions:

TouchDesigner - 2023.*

  • Works with all licenses, including Non-Commercial.

Unreal Engine - 5.3.2

OS: (Developed and tested in)

Windows 10/11


OSCToolset © 2024 by Eusebi Jucgla is licensed under Attribution-NoDerivatives 4.0 International.

To view a copy of this license, visit http://creativecommons.org/licenses/by-nd/4.0/

Add to cart
.uplugin + .tox
Example project
.uproject + .toe
Copy product URL


0 ratings
Add to cart