Vitruvius Kinect officially supports Windows Store! So, if you decide to bring your Kinect apps & games to the Windows Store and reach more customers, be my guest.
Uploading traditional Windows Store apps, made with Visual Studio and XAML, is quite trivial. However, exporting a Kinect for Unity project as a Windows Store package is a little more complicated. In today’s tutorial, I’ll show you how to do it.
To get started with Unity + Vitruvius, please read the Getting Started Guide.
Prerequisites
- Kinect for XBOX v2 sensor with an adapter (or Kinect for Windows v2 sensor)
- Kinect for Windows v2 SDK
- Unity3D 5.0 or higher
- Visual Studio 2013 or higher
- Windows 8.1 or higher
- A dedicated USB 3 port
Process
So, let’s see how we can export our Unity project as a Windows Store app. For the next screenshots, I’m using the built-in Vitruvius demos.
Step 0 – Create and test your Kinect project
Create your Unity Kinect project as you’d normally do. Include the required references (LightBuzz.Vitruvius.dll, Windows.Kinect.dll) and test your game using the Unity Editor.
Step 1 – Set Unity Build Settings
Then, navigate to File → Build Settings and add the scenes you want to include in the Windows Store project. Select Windows Store as your Platform. Select 8.1 as the target SDK. Then, click Build. Do not click “Build And Run”.
Step 2 – Export for Windows Store 8.1
Unity will then ask you to create or select a folder. This folder would include the Visual Studio Solution (.sln) files and binaries. Click Select Folder and wait. Unity will compile your project using the corresponding Windows Store APIs. Kinect SDK and Vitruvius are fully compatible with Windows Store. However, your whole project and dependencies should be compatible with the Windows Store APIs. Avoid using iOS-specific, Android-specific, or Desktop-specific dependencies.
Step 3 – Set Visual Studio Build Settings
After the process is completed, Unity will generate a Solution (.sln) file. Double-click to open it using Visual Studio.
Kinect is not compatible with ARM processors, so you’ll need to select x86 as your target processor. For better performance, you should also select Release instead of Debug.
Step 4 – Add the required References
And now the tricky part! Even though we have already included the Windows.Kinect namespace into our Unity project, one additional step is required. Visual Studio needs to map the Unity-specific classes and methods to the WinRT-specific ones. So, right-click the References option and select Add Reference.
Navigate to Windows 8.1 → Extensions and select WindowsPreview.Kinect (required) and Microsoft.Kinect.Face (optional). Click OK and wait for a few seconds.
Step 5 – Run!
This is it! Hit the green Run button to launch your Kinect Windows Store app! Feel free to upload it to the Windows Store.
Hint: To pass the App Certification process, you need the latest version of Windows 10 (Anniversary Update) and the latest version of the Windows App Certification Kit.
Kinetisense and XRsense are two Kinect Windows Store apps that use Unity. Give them a try!
PS: Vitruvius has been tested extensively and supports the Windows Store App Certification at 100%.
Hello ,
Thank you for all your tutorials, really helpful
I am thinking to use the angle for knowing weather the arm(hand) up or down ..
But my windows is 8…Can I use Vitruvus?
Thanks
Hello Hannan. Thank you for your comment. You can use Vitruvius in Windows 8. However, as Microsoft is suggesting, you’d better update to Windows 8.1 or 10.
You can use the angle calculations to check whether the arm is moving up or down (e.g. the shoulder angle).
Can Vitruvius only be used with kinect sensors? can’t we use it for 2D image manipulations? given the 2D images can’t we know the points of the joints and face without using sensors.if so how?
Hello Rameela. Vitruvius is using Kinect version 2 to detect the human body joints. It needs depth/infrared data. It cannot be used with 2D images only.
i have a little question
when the project get bigger it gets lagging ?
i tried it on another pc but nothing change
any suggestion please ?
Hello Dhia. The volume of the project does not affect the performance. I would recommend checking the complexity of your algorithms and the volume of your graphics (e.g. number of polygons, number of vertices, etc). This is what’s usually causing problems or lagging.
thank you for your reply Vangos
by bigger i dont mean the volume of the project
i already checked the consumption (using profiler) so i found that the “sample” gameobject in the Hierarchy in which the “Sampl_Angles”script is attatched consume too much (i added another angles to it)
any suggestion ?
Thanks