
Explore intermediate to advanced Ue5 installation techniques, the reasoning behind blueprint programming, and setup requirements—Ue5 v5.4+, Kinect one or Kinect Azure, and Touchdesigner optional.
Launch Unreal Engine 5.5 from the Epic Games Launcher, create a blank project, save it to a folder, and name it accordingly; expect shaders to compile on first launch.
Disable real-time rendering and lower scalability to medium or high to ease editing, then switch to window load layout and choose the UE4 classic layout for a familiar UI.
Create a new black empty level in UE5. In content, press Ctrl+Shift+N to create a folder named _map, name the level map one, and save.
Create folders underscore bp and underscore gm, build a pawn blueprint and a game mode base, assign the default pawn class, and compile and save.
Configure project settings for the Kinect interactive physics installation by adjusting maps and modes, disabling engine content and auto exposure, and enforcing a 60 fps with a fixed frame rate.
Modify editor preferences to set the asset editor open location to the main window, docking assets for a streamlined workflow.
Install the Kinect SDK (and the Windows runtime for Kinect One), verify hardware using the SDK browser or the K4 viewer in Azure Tools, then launch TouchDesigner.
Set up Kinect with TouchDesigner, select pelvis and hands data for Azure or Kinect One, apply lag chop, route via OSC out to localhost:3000, and save as connect osc v1.
Enable the OSC plugin in Unreal Engine, restart, and apply a multi-machine workaround for v5.5.0 where localhost fails, routing OSC through a laptop via ethernet to emulate localhost.
Build an Unreal Engine blueprint to receive OSC messages, set up an OSC server on port 3000, bind the OSC message event, and parse addresses for body tracking data.
Master OSC error string processing in UE5 blueprints by removing the leading slash, splitting, and extracting axis values with the get value xyz function that outputs a float.
Extract and save kinect values with osc bp by duplicating for each axis, creating pelvis and hand variables, mapping kinect y to unreal engine z and z to y.
Create a blueprint actor as the body tracking interface in Unreal Engine, receive values from touchdesigner via OSC, and scale and preview hand and pelvis meshes.
Set up a basic Unreal Engine 5 scene with a floor plane, directional light, and cinema camera; calibrate sensor height and tracking orientation; test body tracking with TouchDesigner.
Implement a 3d cursor blueprint that attaches to either hand using attach actor to component, duplicating for left and right hands, so the cursor follows the hand position.
Implement a line trace in ue5 using hand positions, with start at actor position and end with a direction vector scaled by distance. Expose direction and distance; address compile issues.
Learn to customize collisions in Unreal Engine by selecting object types (static, dynamic, pawn, physics body), adjust responses, and use line traces to define an interactivity safe zone.
Implement a 3d cursor with custom collision in UE5 by using trace hit data to position the hit point and move the route based on hand position.
Create a test zone by placing and scaling a plane, and set up a body tracking interface with a raycast trace plane. Use the level blueprint to test space interactivity.
Fix bugs in the 3D cursor blueprint by setting non-zero trace distance and scaling the sphere to one; test run confirms right-hand tracking, hit location, and adjustable body tracking scale.
Enhance the 3d cursor blueprint by measuring hand speed and direction to create interactive effects, then switch from Kinect body tracking to mouse input for faster development.
Build a flexible 3d cursor blueprint with body tracking and mouse input modes, computing start and end points, selecting traces by mode, and toggling the mouse cursor in UE5.
Calculate the 3D cursor velocity in UE5 using delta seconds and a position history with the built-in function calculate velocity from position history, exposing a normalized cursor speed (0-1).
Explore cursor movement direction with vector math by using a half-rate update tick, storing the old cursor location, calculating delta, normalizing to derive movement direction, and driving physics elements.
Implement a manual, delay-based update loop to compute the 3D cursor direction from position delta, smooth it with vector interpolation, and apply it to the cursor rotation.
Apply a Niagara system to a fountain, tuning spawn rate, particle size, color, and forces with a vector force and float curve to drive cursor-based motion and age-based scaling.
Fix the Niagara spawning issue by spawning after the line trace hits the plane, not at begin play, and use do once with is valid to stop the weird motion.
Import a static mesh to build your physics blueprint for a spinning tiles installation, using the SME spin rect one mesh, organizing files, and enabling collisions before opening the blueprints.
Configure a bp physics element with a physics constraint to drive angular motion using twist and swing, targeting orientation and velocity, with no gravity and custom collisions.
Apply cursor forces to a spinning physics element in ue5 using a blueprint and event tick, toggled by a force enabled boolean, leveraging the 3d cursor's right vector.
Implement interaction with a sphere overlap using world dynamic collision to enable and disable force via begin and end overlap events, using multi-body overlap and a set force enabled function.
Fix bugs in a UE5 Kinect interactive physics setup by enabling collision for physics and spatial queries, tuning angular motor values and damping, and adjusting scale for reliable flick interactions.
Spawn a grid of static meshes in UE5 with a blueprint grid spawner and a 2d grid execution macro to calculate transforms using sector size.
Implement procedural grid spawning of physics actors in Unreal Engine 5 by converting preview meshes to spawned actors using world transforms, exposing spawn parameters, and refining velocity and rotation behavior.
In chapter four, import static meshes for the second physics element by duplicating code from the first element, validating collisions in the geo assets and Unreal Engine workflow.
Duplicate this code in Unreal Engine, switch between cross and cube meshes, and apply a stronger forward impulse. Configure constraints for free rotation on y and z with angular damping.
Configure a new level and refine the bp grid spawner to spawn physics elements one and two, adjusting the map, grid, and preview mesh for testing.
Tune the 3D cursor overlap in mode A, enable block with other physics models, and adjust forces, drag, and constraints toward its resting position for upcoming visuals.
Create dynamic materials for physics elements one and two, set base color and emissive color parameters, adjust emissive strength, and build a texture mask via hue shift to turquoise blue.
Generate a band mask by panning UVs and offsetting x coordinates, adjusting remap width, sharpness, and mask value to control emission and specular highlights in a Kinect UE5 physics texture.
Configure physics elements by blending textures through lerp, adjusting base color and emission, and applying displacement textures in UE5, then prepare dynamic materials and blueprints for physics.
Create dynamic material instances in BeginPlay with blueprints, drive shader parameters, and apply materials for map one and map two in the grid spawner.
Drive emissive strength from velocity by sampling position history and updating material emissive color and UV offset in UE5 on every event tick, using delta seconds.
Create a pure material bp function make color that outputs linear emission color from cursor hit point, using y-axis clamp and lerp between blue and orange, then compile and save.
Create a material bp uv offset function by saving the spawn location (get actor location for z and y) and deriving two offset values fed into a radians sine generator.
Test code debug and tweak map behaviors to adjust panning, colors, and texture displacement in UE5; iterate with hue, brightness, contrast, and velocity settings to refine segmentation.
Move processing from the CPU to the GPU by translating blueprint code into the shader graph, leveraging thousands of parallel GPU cores for better performance and hardware safety.
Convert blueprints to shader graph logic by implementing a uv offset with a time-based panner, generating the offset once at begin play for performance.
Repeat physics element two setup in UE5 by duplicating the existing material, wiring it into the map, testing element two, and proving functionality without blueprint code.
Attach a point light to the 3d cursor hit points, set attenuation radius 500, intensity 3000, indirect lighting, wire light color from the 3d cursor's world location y value.
Configure the body tracking blueprint to run in preview mode with visible preview meshes and no interactivity, then press S to start interactivity and hide the previews.
Trigger a start installation via a custom event, pass the grid spawner reference, enable input, press s to begin, and remove the preview mesh for the Kinect sensor test.
Migrate maps into the project, adjust movable actors and skylight, remove the original camera and directional light, and update the level blueprint to prepare map one for testing.
Master scene setup in UE5 by copying map two, updating the camera reference in the blueprint, arranging lights and floor, applying movable transforms, and validating with a play test.
Explore using a configuration file to save sensor offset values to a text file, read them on startup, and enable editing game variables remotely when the project is packaged.
Enable the json plugin in Unreal Engine and use begin play to save and load a json file for the body tracking offset vector in the platform user directory.
Implement runtime tweakability by mapping four keyboard inputs (W, A, S, D) to adjust the tracking offset in real time. Save and load the offset so changes persist across sessions.
Demonstrate testing a JSON config by reading and writing offset values, saving changes in a text file, and using keyboard shortcuts to reset and apply updates in real time.
Learn how to package the game for different pipelines, including standalone builds and packaging via Visual Studio, and prepare demo-ready files for R&D testing.
Configure keyboard inputs in the body tracking blueprint to control packaging settings: escape to quit, z for fullscreen, c to pause, and one, two, eight, nine for maps and scalability.
Toggle between mouse input and body tracking input in a UE5 Kinect setup by flipping a mode variable with the E key, defaulting to body tracking.
Set map one as the default, disable the pack file, include cocoon maps, and package the game for Windows, then review the output log for success or failure.
Debug body tracking rotation by setting the interface to positive 90 degrees for map one and map two, then test in front of the camera; avoid packaging by running standalone.
Delete the redundant package build and run in standalone mode to test the setup, noting latency issues and scalability adjustments with inputs and spacebar triggers.
Continue learning by subscribing to YouTube for free content and following Instagram for personal experiments and R&D, as Unreal Engine five enables interactive installations in the immersive industry.
Welcome to a specialized learning experience in interactive physics body tracking installations! This condensed course equips you with sought-after skills to seamlessly integrate Unreal Engine 5, Kinect, and TouchDesigner OSC, paving your way into the world of real-time installations.
Important disclaimer about this course, you’ll need a bit more than a basic understanding of Blueprints and Unreal Engine, as we’ll be using several nodes that are used commonly in game development workflow and you can learn those by beginner courses.
You’ll dive deep into configuring essential components to set up body tracking with a Kinect Sensor and TouchDesigner, enhancing your projects with custom features for unique and engaging interactions. Learn to create stable, interactive physics simulations and optimize performance by leveraging GPU-powered shader code. You’ll also master the use of JSON configuration files, a professional workflow essential for managing complex interactive systems.
This course is tailored for intermediate-level creative developers ready to break into the real-time installation field, game developers seeking to expand into interactive art, and studio professionals needing a quick, effective solution for UE5 + Kinect projects.
By the end, you’ll command the Unreal Engine 5 workflows to deliver interactive installations, which isn't the run of the mill, cliche installations you might have seen. What you've learned should make you a valuable asset in a field where design and art oriented UE developers are rare.