---
# System prepended metadata

title: VMC in UE5

---

# VMC in UE5 
![](https://hackmd.io/_uploads/H1DD8kp8n.jpg)


## Introduction
- VMC protocol is an avatar motion communication protocol for virtual motion capture pioneered by VMC 
- It's functionally using OSC communication protocol to send avatar pose transforms for VRM avatars 
- Used by a wide range of VRM focused mocap/vtube solutions like TDPT, VSeeFace, MocapForAll, XR Animator, etc. 
- This write-up covers a specific VMC implementation to drive VRM characters in UE5. 

## Approaches 
- There are 2 main approaches to accomplish this in UE5. 
    - VRM4U https://ruyo.github.io/VRM4U/ 
        - A great open source VRM import plugin for UE5
        - Has a bunch of features, and one being VMC blueprints for driving VRM characters using EPIC's OSC plugin 
        - https://docs.unrealengine.com/5.0/en-US/osc-plugin-overview-for-unreal-engine/ 
    - VMC4UE https://github.com/HAL9HARUKU/VMC4UE 
        - An alternative VMC plugin for UE5, using UE-OSC plugin 
        - https://github.com/monsieurgustav/UE-OSC

## How to setup 
- This write-up covers the VRM4U approach, it's a lot easier to implement than the VMC4UE plugin and uses the official EPIC OSC plugin. 
- First, go to plugins in UE5 and enable OSC plugin 
- ![](https://hackmd.io/_uploads/HkGNzJa82.png)
- Go to VRM4U plugin and install the plugin following instructions 
- Check out the VMC protocol map found in the VRM4U directory, usually in the "Latest" folder 
- Once in the map, it's pretty straightforward 
- All you need, is the VRMSimple skeletal mesh in your scene, then make sure the BP_VMCReceiver is also in the same scene 
- Make sure your receiving port for VMC protocol is set to your VMC sender
- e.g. XR Animator is #35939 
![](https://hackmd.io/_uploads/S1Ltfy6In.png)
- Make sure the skeletal mesh is using the ABP_VroidVMC_Bone animation blueprint
- From there you're good to go, you can use the retarget functionality in VRM4U to runtime retarget to another imported VRM mesh using the VRM4U retarget anim BP  
- If implementing this functionality in a new map, just make sure there's the VRoidSimple skeletal mesh in the scene with the BP_VMCReceiver and if the VMC receiver is setup proper, it'll send the data to the VRoidSimple in the scene. 


- Here's an example of it working using XR Animator streaming to UE5.1.1
- https://twitter.com/i/status/1664713670797168644

