Kinect 4 Unreal (sometimes abbreviated to K4U) is a middleware plugin that allows Unreal Engine 4 developers to use Unreal Engine 4’s Blueprint visual scripting system to access the full functionality of Kinect 2 for Windows as seamlessly and as easily as possible. The key design objective of K4U is to empower artists and designers by exposing everything through Blueprint, so that the development team is able to focus their effort on developing their ideas without a dedicated coder.

Introducing over 30 original nodes, all with extensive documentation and pre built Avateering systems, Kinect 4 Unreal exposes all that the Kinect has to offer to Unreal Engine 4 developers.

The plugin primarily interfaces through a component-based system where, once activated through the plugin menu, any Blueprint can have the Kinect Interface Component added to it. The Kinect Interface Component gives developers access to a large number of Blueprint nodes, each granting them access to some aspect of the Kinect functionality.


Download Kinect 4 Unreal

If your project has a budget under $75,000 USD, you can download Kinect 4 Unreal immediately and release your project for free. If your budget is over $75,000 USD, you may download and begin work for free, but must purchase a license prior to the release of the project for $1,500 USD.

By downloading Kinect 4 Unreal you agree to our end user license agreement.

Older Plugin Versions


Introduction Levels

You can download our introduction level on the Unreal Engine Marketplace below!


Kinect 4 Unreal introduces over 30 new Blueprint nodes, divided into nine categories, which you will find below. For the full listing of all the K4U nodes, please visit the API documentation page.

API Summary

Frequently Asked Questions

How can I package my project?

While we are constantly searching for alternatives, in Unreal there is currently no way to package a project that includes a plugin without source code.  This is a problem that Epic is also actively working on and is slated to be fixed in 2015. However, depending on your needs, it may not be necessary to package your plugin for deployment. This is particularly relevant to installations and exhibits, running your project from inside the editor as a new editor window or a standalone game, these both allow you resolution and full screen control equivalent to that of a packaged project.

If you absolutely need to package the project right now, there are two options:

  1. Acquire a source code license from us. The cost varies depending on the scale of your project, so please contact us for more detail.
  2. For a fee, we can package your application for you. The cost varies depending on how much effort it requires, but generally ranges between $200 - $400 USD for projects that can be packaged directly from engine. For projects that require compilation from source, we recommend that you contact us to acquire a source license.

Can I use more than one Kinect 2 to monitor a single scene?

There was a clear design choice to use a single high accuracy device by Microsoft which means that the Kinect 2 outputs a tremendous amount of data (roughly 600 megabytes/s, or nearly the entire bandwidth of USB 3.0). Given this, it can be troublesome to even have two Kinect 2s on the same computer, let alone having them work together. In theory, it is possible to take from Kinect 2 only the information we want and there are rogue stories of hardware hackers accomplishing just that, but at the moment that functionality is not a part of the Kinect SDK.

It is however, entirely possible for you to have a networked solution that involves multiple computers each with a Kinect 2, running a separate instance of K4U and multiplex data directly in Unreal Engine 4. We have a number of internal experiments that demonstrates this precise functionality, but they're not yet scheduled for a public release. If you'd like to explore a multi-Kinect setup within K4U, please contact us and tell us a bit more about your project.

Sometimes it doesn't pick up the right people or it doesn't track them after they have left and returned? Also, Players don't have a consistent Player Index?

The Kinect 2 works by tracking bodies and assigning them a bodyID, this is best demonstrated by use of one of the Kinect SDK's Body Index Basics. If you use this program it will colour each body according to its bodyID and you can see how this changes as the Kinect 2 picks up and loses people. The K4U plugin exposes these values directly to unreal so that they can be used by you. However, these are not always particularly useful which is why we have also included dynamic get body nodes (Get Nearest Body and Get Centered Body) that allow you to, each tick, assign who is in control of inputting data. You could just as easily write your own or modify these, for instance if you wanted a two player project, you could write a get centered left and a get centered right by modifying the central location inside these nodes.

My avateering has strange rotations?

Our avateering solutions are designed to work with the default Unreal skeleton, such as the blue man from the basic levels or Owen (the animation example character with the trench coat). By default our current avateering solution uses a forward kinematic approach that takes the Kinects rotation information and applies it to this skeleton, which is why different skeletons would not work as well. If your skeleton is different from this these default rotations would need to be changed by applying modifications to the rotations inside the poseable mesh or animation blueprint.

I am getting a "requires module UE4Editor-Kinect4Unreal.dll should be rebuilt" error?

There are three common sources of this problem:

  1. The first source is that when building from GitHub engine source, there is an inherent version mismatch as the plugin was designed to be used with the binary version of Unreal. The solution here is to use the version of the engine that is downloaded from the launcher.
  2. The second source is that using a non-recommended development environment inside visual studio may cause a mismatch in versions. Set your visual studio's development environment to Development Editor.
  3. The third source is that your project is in a different version of unreal from the plugin, this is solved by right clicking on the project file and selecting switch unreal editor version and then selecting the appropriate editor version.