mocopi is Sony's wearable mocap kit. Persona supports its native protocol without an intermediate converter — the mocopi app sends motion data to your computer, Persona decodes the skeleton and every frame's pose itself, and drives a VRM avatar with it
Like VMC, it runs on the Pose Tracking channel. Live2D has no humanoid rig, so it never appears in a mocopi source's avatar list
Setting It Up
- Under Pose Tracking, add a mocopi source with Add Pose Source…, then tick the VRMs it should drive under its Assign Avatars
- In the mocopi app's external-device settings, choose the native mocopi (UDP) transfer format, enter the IPv4 address of the computer running Persona, and set the same number as the source's Port,
12351by default. Keep both devices on the same local network - Calibrate in the mocopi app, turn on Enable Pose Tracking in Persona, then start sending motion
Ports
As with VMC, a mocopi source is identified by its port rather than by the sender's address. The default is 12351, and a new source takes the next number no other source is holding
Skeleton Definitions
Persona waits for a skeleton definition before it applies any motion — the definition is your rest pose, and every frame after it is an offset from that. So joining a stream that is already running does nothing: restart transmission in the mocopi app and the definition follows
A port follows one sender at a time. To send from a different device, wait for the previous lock to expire — and the new one has to send its own rest skeleton first, too
mocopi or VMC
The mocopi app can send either, so which source to use comes down to the transfer format set on the sending side:
| Transfer format in the app | The source to pick in Persona | Default port |
|---|---|---|
| mocopi (UDP) | mocopi | 12351 |
| VMC | VMC Protocol | 39539 |
The native protocol needs no additional converter or intermediate application. If you already convert mocopi to VMC through an application such as VSeeFace, you can keep that setup and configure a source for each protocol
How the Pose Reaches the Rig
mocopi sends 27 joints. Persona compares each joint's current orientation against its orientation in the rest skeleton and turns that difference into a local rotation on the VRM's normalized bones, which cancels the sender's own rest pose and leaves what you actually did. All 27 joints take part, including those with no direct VRM counterpart — so the extra torso and neck motion survives. Where a model is missing an optional humanoid bone, the next bone present below it carries its rotation
Only hips translation is used; the offsets on the other joints describe the performer's own proportions and do not transfer to someone else's model. Persona anchors to the first hips position it receives, and re-anchors after a changed skeleton definition or a dropout
This is orientation retargeting, not an IK solve. Lifting a foot or crouching is reproduced from joint angles; Persona will not pin the feet to the ground for you
Face tracking takes priority for the head and neck while it is driving those bones, and the eyes and jaw always stay with the face and expression systems. Smoothing, holding the pose through a dropout, and easing back to idle once it is switched off all come from the same pose driver VMC uses
mocopi does not send finger tracking data. A webcam assigned to the avatar's hands adds wrist and finger rotation while mocopi keeps the shoulders and elbows; with Fingers Only, mocopi keeps the wrists too
Last updated on September 19, 2026