-
Notifications
You must be signed in to change notification settings - Fork 0
Getting Started
This guide will walk you through setting up the VrmVMC node to work with non-VRM skeletons (Metahuman, Mixamo, Daz, etc.) for markerless motion capture.
The extended VrmVMC node allows you to receive motion capture data from XR Animator (or other VMC protocol sources) and apply it to any skeleton type, not just VRM avatars.
- A skeletal mesh (Metahuman, Mixamo, Daz Genesis 8, or custom rig)
- XR Animator or another VMC protocol sender
- Basic knowledge of Animation Blueprints
The Vrm Meta Object tells the VrmVMC node how to map VMC bone data to your specific skeleton.
- Navigate to: Content > Plugins > VRM4U
- In the Content Browser, set the filter to: Type = VrmMetaObject
-
Right-click on an existing VrmMetaObject and select Duplicate
- Or create a new one: Right-click > VRM4U > Vrm Meta Object
- Double-click the Meta Object to open it
- In the Details Panel, configure the following:
- Set this to your character's skeletal mesh
Choose the skeleton type that matches your character:
- Auto (recommended - automatically detects skeleton type)
- VRM/VRoid - For VRM avatars
- Metahuman - For Unreal's Metahuman characters
- Mixamo - For Mixamo-rigged characters
- Daz - For Daz Genesis 8 characters
- Other - For custom rigs
- Click the Auto Populate button
- This will automatically detect and map bones based on the skeleton type
- Check the Output Log to see which bones were mapped
If Auto-Populate didn't map all bones correctly, you can manually override specific bones:
- Humanoid Bone Name - The standard bone name (e.g., "leftHand")
- Model Bone Name - Your skeleton's actual bone name (e.g., "hand_l")
- Save the Meta Object
-
Rename it to something descriptive (e.g.,
Meta_MyCharacterorMixamo_Meta)
Now we'll create an Animation Blueprint that uses the VrmVMC node.
- In the Content Browser, right-click and select:
- Animation > Animation Blueprint
- Choose your character's Skeleton
- Name it (e.g.,
ABP_MyCharacterorABP_Mixamo) - Double-click to open it
- Go to the Anim Graph tab
- Right-click in the graph and search for VrmVMC
- Add the VrmVMC node
- In the node's Details Panel:
- Assign your Vrm Meta Object (the one you created in Step 2)
- Connect the pose output pin from VrmVMC to the Result node
In the VrmVMC node details, you can configure:
- ✅ Ignore Local Rotation - Recommended for most setups
- ✅ Use Remote Center Pos - Uses the position data from VMC
- ✅ Apply Perfect Sync - Enables ARKit blendshape support
- Update Mode - See Performance Configuration for details
If certain bones need adjustment, you can add Transform (Modify) Bone nodes after the VrmVMC node to tweak specific bone transforms.
Common adjustments:
- Spine rotation offsets
- Hand/finger tweaks
- Head positioning
- Assign your Animation Blueprint to your character
- Launch XR Animator
- In XR Animator settings:
- Enable VMC Protocol output
- Set the IP address to your Unreal Engine machine
- Set the port (default: 39539)
- Start motion capture in XR Animator
- Your character in Unreal should now be receiving motion data!
- Make sure you selected the correct Skeleton Type
- Try setting it manually instead of using "Auto"
- Check the Output Log for bone mapping status
- Verify your skeleton has standard humanoid bone names
- Use Custom Bone Overrides to manually map problematic bones
- Check that the Animation Blueprint is assigned to your character
- Adjust the Update Mode in the VrmVMC node
- See Performance Configuration for optimization tips
- Learn about Performance Configuration to optimize update rates
- Check Troubleshooting if you encounter issues
- Explore the original VRM4U documentation for additional features
Need Help? Open an issue on our GitHub repository with:
- Your skeleton type
- Which bones aren't mapping correctly
- Screenshots of your setup