# Setup

## Package Setup

Auto Hand includes four built in options for input. Auto hand does not directly manage input instead it includes various scripts that act as bridges between the chosen input system and Auto Hand. You can learn more about these individual scripts in the [🎮Controller Input](https://app.gitbook.com/s/5zKO0EvOjzUDeT2aiFk3/auto-hand/controller-input) page

{% tabs %}
{% tab title="OpenXR (Recommended)" %}

## OpenXR

[Learn More about OpenXR](https://docs.unity3d.com/Packages/com.unity.xr.openxr@0.1/manual/input.html)

If you are developing a project that you want to be supported across many different devices this is the recommended packages

1\. Download the package at **AutoHand/Packages/OpenXR.package**

2\. Go to **Edit/Project Settings/Xr Plugin-Management** install your desired plugin

![](https://2959669391-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F5zKO0EvOjzUDeT2aiFk3%2Fuploads%2FAeTVldQEuXNtUgEn46bS%2Fimage.png?alt=media\&token=4fec9614-4926-42d5-8add-3a6fc8b11c9c)

3\. Install desired XR Management Sub-Plugin where you enabled XR Managment

4\. Locate and Open and Play a Demo Scene (Autohand/Examples/Scenes/OpenXR)

Great Video by Justin P Barnett includes a setup walkthrough for OpenXR

{% embed url="<https://youtu.be/vE5HyD9tnSs?t=95>" %}
{% endtab %}

{% tab title="MetaXR" %}

## Oculus Integration

[Learn more about Meta XR](https://developers.meta.com/horizon/documentation/unity/unity-package-manager#meta-xr-samples)

{% hint style="warning" %}
Required for Quest Hand Tracking
{% endhint %}

If you are developing a dedicated Quest application this is strongly recommended&#x20;

1. Download [Meta XR](https://assetstore.unity.com/packages/tools/integration/meta-xr-all-in-one-sdk-269657?srsltid=AfmBOorhcdkTgGUk_JmjlDjWiG6YYZ3iHzm184RV9xhPe6MJEmUpoSEw) Asset
2. Download **AutoHand/Packages/MetaXR.package**&#x20;
3. **When prompted with this window recommend choosing the OpenXR option**

<figure><img src="https://2959669391-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F5zKO0EvOjzUDeT2aiFk3%2Fuploads%2FNvVjzC1QsNOp5qV3ydY3%2Fimage.png?alt=media&#x26;token=33064d7e-de61-430f-89b7-6be11d2539d3" alt=""><figcaption></figcaption></figure>

4. Go to **Edit/Project Settings/Xr Plugin-Management**

![](https://2959669391-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F5zKO0EvOjzUDeT2aiFk3%2Fuploads%2FLPT3B4qfop0FJXHE2MIh%2Fimage.png?alt=media\&token=53faa829-a6e4-4b4b-be53-5ae8503d01fd)

In the XR Plugin Management window, enabled Oculus

5. Locate and Open and Play a Demo Scene (Autohand/Examples/Scenes/Meta XR)
   {% endtab %}

{% tab title="XR" %}

## XR

[Learn More about XR](https://docs.unity3d.com/Manual/xr_input.html)

This is the XR input system it has some overlap with the newer action based system recommend using the OpenXR (Action Based) input for long term support

1. Download **AutoHand/Packages/XR.package**
2. Go to **Edit/Project Settings/Xr Plugin-Management** install your desired plugin

![](https://2959669391-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F5zKO0EvOjzUDeT2aiFk3%2Fuploads%2Fk2vDsDfW8pk2nsDTKdnr%2Fimage.png?alt=media\&token=539700dc-e3ab-4f79-a840-75eb710eaa52)

3\. Install desired XR Management Sub-Plugin where you enabled XR Managment

4\. Locate and Open and Play a Demo Scene (Autohand/Examples/Scenes/XR)
{% endtab %}

{% tab title="SteamVR" %}

## SteamVR

[Learn More about SteamVR](https://valvesoftware.github.io/steamvr_unity_plugin/articles/Quickstart.html)

{% hint style="warning" %}
Required for Vive Index finger tracking
{% endhint %}

1. Go to **Edit/Project Settings/Xr Plugin-Management** and install
2. Download [SteamVR Plugin | Integration](https://assetstore.unity.com/packages/tools/integration/steamvr-plugin-32647) Asset
3. Follow the [SteamVR Setup Guide](https://valvesoftware.github.io/steamvr_unity_plugin/articles/Quickstart.html)
4. Go to **Edit/Project Settings/XR Plugin-Management** install, then enable OpenVR

{% embed url="<https://lh6.googleusercontent.com/JoS4XV9YkGPl4XWgtPeMtsFvNWM9a4MBVD6VxjCjbAvDsu9_VNpgA9sySRrdTZZNsVtwnM7IofnJDq-Z5gfC0-vsYzbdfvZA3eLZ93A9DWeB5kMtTAicynFO22QWohGFG_1exyFF>" %}

5\. Download **AutoHand/Packages/SteamVR.package**

6\. Locate and Open and Play a Demo Scene (Autohand/Examples/Scenes/SteamVR)

{% embed url="<https://www.youtube.com/watch?v=bn8eMxBcI70>" %}
.
{% endembed %}

Here is an excellent video on SteamVR Input Actions which Auto Hand uses for input with this package
{% endtab %}
{% endtabs %}

## Setup Wizard

[Learn More about Physics Settings](https://docs.unity3d.com/Manual/class-PhysicsManager.html)

After following the setup you should get a pop-up window for automatic setup (if your project doesn't have errors)

This setup window will allow you to pick from a list of recommended physics settings. These settings are specifically meant to help improve dynamic physics interactions between the hands and objects in the world. Higher quality settings will yield higher quality dynamic interactions, increase visual smoothness, reduce changes of physics jitter, and increased stability with joint interactions

{% hint style="warning" %}
Will override the settings listed
{% endhint %}

<div align="left"><img src="https://2959669391-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F5zKO0EvOjzUDeT2aiFk3%2Fuploads%2FaLgV1y6sn3tqTqBdAXlo%2Fimage.png?alt=media&#x26;token=3a0b8ccf-c46b-4a2e-a191-361e7ac9c8b5" alt=""></div>

* Low (not recommended)
* Medium (usually not recommended)
* High (recommended for Quest 2 or PC)
* Very High (recommended for PC)

### Required Physics Layers

The setup wizard will also automatically add the required physics layers for the project if there are enough empty physics layer spots. These layers help prevent certain physics bugs and increase optimizations

![These layers are automatically generated by the setup wizard unless your project doesn't have four available spaces](https://2959669391-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F5zKO0EvOjzUDeT2aiFk3%2Fuploads%2FgAcL4HmpD95Z2AtINrSu%2Fimage.png?alt=media\&token=4ec8176e-6f77-4010-8662-2f02c19186af)

## If you're looking to setup a new hand model

{% content-ref url="setup-new-hand" %}
[setup-new-hand](https://earnest-robot.gitbook.io/auto-hand-docs/auto-hand/setup-new-hand)
{% endcontent-ref %}
