License requirement
The functionality described requires a MANUS Bodypack
or a MANUS license dongle
containing one of these licenses to be connected:
Core Pro
Core XR
Core Xsens Pro
Core Qualisys Pro
Core OptiTrack Pro
Demo
Getting started
This guide will help you install and set up our Unity plugin.
Note
The Unity plugin supports the following versions of Unity, 2022.3 2021.3 2020.3 2019.3
. This does not mean it won't work on older (or newer) versions but your milage may vary.
Installing plugin
-
Go to the MANUS Download Center and create a free account or log in if you already have one.
-
Download the plugin as a zipped file and save it on your computer. Unzip the file to extract its contents.
-
Open your intended Unity project.
-
In Unity Editor, go to
Assets
>Import Package
>Custom Package
. -
Locate the package file you downloaded and select it.
-
Click
Import
to start the process. - Once the import is complete, the assets from the package will be available in your project.
Setting up
-
Locate the
Communication Hub
under theManus
tab in the toolbar. This is where you can manage the MANUS Core connection settings. -
Within the Communication Hub, the plugin is set to automatically connect to MANUS Core instances running on the same machine (locally).
-
If you want the plugin to search for hosts on the local network, make sure the
Connect locally only
option is disabled. - To connect automatically to the first host found, ensure that the
Connect Automatically
option is enabled. -
If you want to update the list of available MANUS Core hosts, click on the
Get Available Hosts
button. This will provide you with a list of available hosts. -
Select the desired MANUS Core host and click on
Connect
, The status should now sayConnected To (Name of your host)
. -
The connection settings will be carried over to a build of your project.
Warning
When not using
Connect Automatically
make sure your application has some logic in place to handle the connection. -
After connecting to a host, if the
Connect Automatically
option is enabled, the plugin will attempt to automatically connect to that previously used host the next time you launch your project.
Setting up a model to animate
Hand/full body models need to be set up in a specific manner to allow for animation through MANUS Core. The guide below guides you through the steps needed to define the model. Added reading on our Skeleton system and DevTools can be found in their respective articles.
- Import the model you want to animate into your Unity project. If it's a full body skeleton, make sure it's a Humanoid Biped model.
-
Place the model within the scene.
-
Select the root of the model's game object and add the Skeleton script as a new component. You can find it under
Manus/Skeletons
or by searching forSkeleton
in the component menu. -
Press the
Setup nodes
button. This function will automatically find all the transforms under the model, convert them into nodes, and set up their settings. -
Set the
Skeleton Type
option to the appropriate type based on what you intend to animate using MANUS Core:- For just the hands, set it to
Hand
. - For a full body model (including hands), set it to
Both
. - For a body-only model (without hands), set it to
Body
.
- For just the hands, set it to
-
Press the
Send skeleton to tool
button to send the skeleton nodes to the MANUS DevTools application. This tool simplifies the chain creation process. Refer to our DevTools article.Note
This button will open the DevTools on the device hosting the MANUS Core that your plugin is connected to.
-
In the DevTools application,
Auto Allocation
will try to automatically allocate the chains. This will attempt to automatically generate a chain setup. Verify that the auto allocation was effective using the animation controls, else adjust the assignment accordingly. Once satisfied send the modified skeleton back to Unity by clickingSend to plugin
. -
In Unity, go to the Skeleton inspector and press
Load skeleton from tool
to load the modified skeleton sent from the DevTools. -
Ensure that the
Hand Motion Type
is set correctly based on your desired tracking source:IMU
uses the gloves' orientation.Tracker
uses a tracker's orientation and position.Tracker_Rotation_Only
uses the tracker's orientation without its position.Auto
automatically uses tracker data if a tracker is installed; otherwise, it uses glove data.
It's generally recommended to use the Auto
setting to allow for the most flexibility in tracking sources.
-
Set the Targeted Data to specify the source the skeleton should get its animation data from:
User Data
: Provide a User ID from the Manus Core Dashboard to animate the skeleton accordingly.User Index Data
: Specify the index of the user from the Manus Core Dashboard to animate this skeleton.Glove Data
: Provide the ID of the glove from the Manus Core Dashboard to animate this skeleton.
-
After setting up the above parameters, the skeleton is now ready to be animated. When entering play mode, the skeleton should animate according to the chosen targeted data.
Note
Make sure you're no longer in the animation mode in the DevTools when reviewing the skeleton animation in Unity. The animation mode will override the skeleton's animation, this can also be used to your advantage to test the skeleton's animation inside Unity.
Interaction framework
The plugin comes with an interaction framework that allows you to interact with objects in your scene using the gloves. The framework is designed to be flexible and easy to use. The following article delves into how to set up the interaction framework.