# VRM Export

To correctly export your VRM the 'VRM for Blender' add on needs to make sure that all the bones are correctly assigned.

## Assigning VRM Bones <a href="#assigning-vrm-bones" id="assigning-vrm-bones"></a>

* Expand the VRM 0.x Humanoid panel in the 'VRM' tab. You can adjust the width of the panel at the left. You can scroll down using the scroll button.
* Make sure that all the Bone assignments are correct. If you see any red there may be an issue, you can adjust the bone assignments manually by clicking on the slot for each bone. This may be needed if you have created your own rig, or used Mixamo/Accurig to rig your character.

## Setting the T-Pose

For animations to work correctly your avatar needs to be exported as a T-Pose. Many avatars may be created or rigged as an A-Pose. You will need to update the rig in order for it to work correctly.

{% tabs %}
{% tab title="Using VRM for Blender" %}

* Pose the character into a T-Pose.
* Select 'Current Pose' under the 'VRM 0.x Humanoid' section in the VRM tab.
  * You can also use Custom Pose using an Action asset if preferred.
* This should export the asset in a T-Pose when exporting.
  {% endtab %}

{% tab title="Manual Repositioning" %}

* Adjust the rig into a T-Pose.
* Select the Mesh in Object Mode.
* **Select the Modifier Tab at** the right side of your screen (it looks like a wrench icon) in the **Properties Panel**.
* **Apply the Armature Modifier with** the **Apply** button to apply the deformation.

By applying the armature modifier at this stage, you’re making sure that the mesh is set correctly with the weights already assigned, and it “locks in” the deformation caused by the armature.

### Set the New Rest Pose for the Armature in Blender <a href="#step-2-set-the-new-rest-pose-for-the-armature-in-blender" id="step-2-set-the-new-rest-pose-for-the-armature-in-blender"></a>

With the mesh properly aligned, the next step is to define a new rest pose for the armature. This ensures that Blender treats the current pose as the new default or “rest” position.

* **Select the Armature in Pose Mode**
  * Switch to **Pose Mode** by first selecting the armature in **Object Mode** and pressing `Ctrl + Tab` or selecting **Pose Mode** from the menu.
* **Apply Pose as Rest Pose**
  * At the top of the screen, go to the **Pose** menu.
  * In the dropdown, select **Apply** > **Apply Pose as Rest Pose**.

### Add the Armature Modifier Back to the Mesh <a href="#step-3-add-the-armature-modifier-back-to-the-mesh" id="step-3-add-the-armature-modifier-back-to-the-mesh"></a>

Now that the armature’s rest pose has been updated, you’ll need to reapply the armature modifier to the mesh. This step will ensure that the mesh can still be controlled by the armature.

* **Select the Mesh in Object Mode**.
* In the **Modifiers tab**, click on **Add Modifier** and choose **Armature** from the list of deform modifiers.
* **Assign the Armature to the Modifier**:
  * You will see an option labeled **Object** within the Armature modifier settings.
  * Click on the **Object** field and select the armature that corresponds to your mesh.

This process rebinds the mesh to the armature while keeping all the weight data intact. Blender will now know to use the updated rest pose for all future deformations.
{% endtab %}
{% endtabs %}

## Exporting the Avatar

* Select the model and armature/rig and go to File / Export / VRM and save it where you like.&#x20;
  * It is recommended to select the assets you want to export and use the 'Export Only Selections' to make sure that other assets like cameras or lights aren't exported.

### Testing the Avatar

There are a few different platforms you can test the avatar in. It is recommended to try some of the main ones to make sure your avatar works without issue. Some examples include :&#x20;

* [Hyperfy](https://play.hyperfy.xyz/)
* [Nifty Island](https://www.niftyisland.com/)
* [VRChat](https://hello.vrchat.com/)
* [OnCyber](https://oncyber.io/)
* [VSeeFace](https://www.vseeface.icu/)
