Persona renders Cubism 3, 4 and 5 models, up to and including moc3 format v6 (Cubism 5.3 offscreens and blend modes), through rendering engines maintained in-house
A Live2D model is a flat canvas placed in screen space: drag to move, scroll to zoom, Shift-scroll to rotate. Several can share a stage, stacked with images and video in one layer list
Rendering Engines
Two engines render the same models. WebGPU is the default; Use Legacy WebGL Engine in Settings switches back to the legacy one. Switching reloads the scene; nothing about the model, its motions or its placement changes
| Engine | What it is |
|---|---|
| WebGPU · default | Live2D composites into the 3D stage, so the scene's post-processing reaches it |
| WebGL · legacy | A separate 2D canvas. Live2D draws on its own layer, below everything in the 3D scene |
The default engine is a Cubism renderer written for Persona: it loads the same .model3.json models with their motions, expressions, physics, pose and hit areas, and fully supports Cubism's clipping masks and blend modes. Like the rest of the 3D stage it runs on WebGPU, falling back to WebGL on machines without it
The default WebGPU engine brings the whole effects chain: tone mapping, grading, bloom, chromatic aberration and the stylize effects all apply to a Live2D model. A Live2D-only scene can therefore add effect layers and keeps its Look section; turning on the legacy engine removes both
WebGPU is now the default. Turn on the legacy WebGL engine when one simple model needs a lighter renderer, or when a scene misbehaves on the default
Bundled Models
Eleven Live2D sample models ship with the application:
Haru · Hiyori · Kei · Mao · Mao Pro · Mark · Natori · RAYNOS-chan · Ren · Rice · Wanko
They span the Cubism versions Persona supports, from older Cubism 3 rigs through Ren, a Cubism 5.3 model that exercises offscreen rendering and the newer blend modes
The bundled models are sample assets — Live2D's own, plus Sony's RAYNOS-chan. They are free for evaluation and testing, not for commercial streaming. Persona marks them in the panel with a link to the licence that applies — use your own model on stream
Motions and Expressions
The Motions and Expressions sections list what the model provides, with the count next to each heading
Motions
Clicking a motion group plays a random motion from that group, and the button stays highlighted for as long as that motion is playing
Clicking a motion replaces the current motion, including a loop, matching VTube Studio
Groups whose motions loop are marked with a repeat icon. A looping motion never finishes on its own, so its button stays highlighted until you start something else
A group holding more than one motion carries a chevron beside its name. The dropdown behind it lists every motion in the group, with the running one checked, for when you want a specific motion rather than whichever one the group picks
Expressions
Expressions toggle. Clicking one applies it and highlights the button; clicking it again removes it
Several can be active at once and they combine, so a model that separates, say, a blush from a mouth shape can wear both. Each is applied in the order you clicked, and removing one leaves the rest untouched
Remembering Expressions
Remember Expressions, at the top of the Expressions section, is on by default. With it on, whatever you have applied is saved as you go and restored when you switch back to that model or restart the application. Restored expressions come back already settled rather than fading in, avoiding a visible transition at startup
The saved set lives with the model, not with Persona: in the model's .vtube.json when it has one — the same field VTube Studio writes, so the two agree — and otherwise in a <model>.persona.json sidecar beside the .model3.json. Turning the switch off clears the saved set
VTube Studio Models
Many models built for VTube Studio ship their .motion3.json and .exp3.json files loose on disk without declaring them in the model settings file, because VTube Studio reads them from its own .vtube.json hotkey configuration instead. A standard Cubism loader finds nothing in these models and shows empty lists
Persona discovers those loose files and presents them anyway, taking their display names from the model's .vtube.json when one is present. Your files on disk are never modified — the extra entries are synthesised in memory as the model loads
Auto Breath
Auto Breath, in the Idle section, is the Cubism engine's own built-in breathing, switchable per model instance and on by default. Depth multiplies its amplitude: 1 is the Cubism sample's own depth, and 2 is the maximum
It writes more than ParamBreath — the same driver also sways ParamAngle* and ParamBodyAngleX, adding head movement on top of tracking. VTube Studio breathes only the one parameter a rig names in its .vtube.json, so a model tuned over there may show additional movement in Persona. Turn the depth down, or the switch off
Turning Auto Breath off stops the breathing motion and preserves the depth setting for when you turn it back on
Parameter Bindings
Expand Parameters to edit, binding by binding, how tracking drives the model's parameters — inputs and weights, input and output ranges, response curves. See Parameter Bindings
Model Info
Expand Info to see what actually loaded:
| Row | Meaning |
|---|---|
| Source | Whether the model is bundled or one you opened |
| File | The .model3.json that was loaded. The folder icon beside it reveals the file in your file manager |
| Config | Configuration sidecars found next to the model — .vtube.json, .persona.json |
| Canvas | The model's canvas dimensions |
| moc3 | The model's moc3 format version, and the highest version the bundled Cubism Core can load |
| Core | The Cubism Core version in this build |
| Params | Number of Live2D parameters — these are what face tracking writes to |
| Parts | Rig part count |
| Textures | Texture atlas sizes, with a rough uncompressed VRAM total |
| Motions | Motion groups and total motion count |
| Express. | Expression count |
| Blink | Parameter ids the automatic eye blink drives |
| Lip Sync | Parameter ids of the model's LipSync group — flagged when empty, since lip sync then cannot move the mouth |
| Perfect Sync | How many raw ARKit channels the rig's parameter bindings read, out of 52 — it describes what the rig binds, not what a source sends |
| Extras | Optional subsystems that loaded, such as physics, pose and blink |
| Load Time | Wall-clock time the stage spent loading the model |
If the moc3 row is flagged as too new, the model was authored in a newer Cubism version than this build can load. The model may appear to load successfully but fail to render
Last updated on September 10, 2026