00:00 / 00:00

Persona

Live2D Models

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

EngineWhat it is
WebGPU · defaultLive2D composites into the 3D stage, so the scene's post-processing reaches it
WebGL · legacyA 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

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

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:

RowMeaning
SourceWhether the model is bundled or one you opened
FileThe .model3.json that was loaded. The folder icon beside it reveals the file in your file manager
ConfigConfiguration sidecars found next to the model — .vtube.json, .persona.json
CanvasThe model's canvas dimensions
moc3The model's moc3 format version, and the highest version the bundled Cubism Core can load
CoreThe Cubism Core version in this build
ParamsNumber of Live2D parameters — these are what face tracking writes to
PartsRig part count
TexturesTexture atlas sizes, with a rough uncompressed VRAM total
MotionsMotion groups and total motion count
Express.Expression count
BlinkParameter ids the automatic eye blink drives
Lip SyncParameter ids of the model's LipSync group — flagged when empty, since lip sync then cannot move the mouth
Perfect SyncHow many raw ARKit channels the rig's parameter bindings read, out of 52 — it describes what the rig binds, not what a source sends
ExtrasOptional subsystems that loaded, such as physics, pose and blink
Load TimeWall-clock time the stage spent loading the model

Last updated on September 10, 2026

Tech otakus destroy the world