Verifiable Interaction Runtime for Embodied Agents · /ˈvɪəriə/
VIREA brings your existing avatars to life through language, speech and generated movement. It retargets native skeletal output onto VRM avatars in the browser and Humanoid avatars in VRChat, with a complete path from model setup to generation, playback and inspection.
VIREA-English-Web-v2.mp4
Watch the 4K original · Film editions & editable project
🗓️ October 2026 · source 0.4.0 — Current main · Changelog
Source rest frames, joint hierarchies and rotation conventions enter one retargeting foundation. Inspect the original skeleton beside your avatar, including hands, root movement and ground contact. Explore the mathematics → |
Use MotionCraft, SynTalker, ARDY and other catalog models through adapters for their native output. Connect cloud or local LLMs and TTS through typed capability ports and verify each with a real generation. Meet the models → |
Speech and movement have independent timelines. Prepare an action sequence, place speech where it belongs, and deliver it to the browser or VRChat. Versioned messages, artifacts and execution receipts make each step inspectable. Read the contracts → |
Different projects start from companionship, animation authoring or motion capture. VIREA brings generation, retargeting and embodied execution into a shared runtime.
| Project | LLM + speech | Generated motion | Native skeleton → VRM | Browser avatar | VRChat execution | Independent tracks | Motion / execution contracts |
|---|---|---|---|---|---|---|---|
| Project Gabriel | ✅ | ✅ | ❌ | ❌ | ✅ | ❌ | ❌ |
| rexclaw | ✅ | ✅¹ | ❌ | ✅ | ❌ | ❌ | ❌ |
| text-to-vrma | ❌ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
| MotionMind | ✅ | ❌² | ✅ | ✅ | ❌ | ❌ | ❌ |
| ChatVRM | ✅ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ |
| VIREA | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
✅ Implemented in the reviewed scope · ❌ Not provided in that scope. ¹ Through Text-To-VRMA integration. ² MotionMind reconstructs motion from video and composes clips. Independent tracks means explicitly scheduled speech and motion; contracts means both normalized motion and target execution receipts. Reviewed October 11, 2026. Definitions, revisions and sources.
Start with a folder and the launcher. Download the source ZIP and extract it, or clone with Git:
git clone https://github.com/Moonweave-AI/virea.git
cd vireaRun the command for your system from the project folder:
| Windows · PowerShell | macOS / Linux · Terminal |
|---|---|
.\Start-VIREA.cmd |
sh start-virea.sh |
The launcher prepares Python, Node.js and application dependencies, builds the interface and starts VIREA. The same command starts it again next time.
- Open Set Up when the launcher is ready.
- Choose your language, speech and motion providers. Detect available models and voices, or deploy a local model from the catalog.
- Run generation verification, then enter Motion Lab, Character Studio or VRChat Studio.
Tip
Browser workspaces run on Windows, Linux and macOS. VRChat integration runs on Windows. Local model requirements are shown before installation; start with the capabilities you need.
Full setup guide · Platform guide · Troubleshooting
| Workspace | Default address |
|---|---|
| Set Up · configure and deploy | Open |
| Motion Lab · generate motion | Open |
| Character Studio · converse with a character | Open |
| VRChat Studio · connect the game | Open |
For a custom port, use the links printed by the launcher. After updating the code, close the launcher and run it again; settings, models and results stay in the same data folder.
PRISM and SentiAvatar · original skeletons and retargeted avatars, side by side.
virea-motion-lab-current.mp4
A MotionCraft performance with an existing VRM character and an English reply.
virea-character-studio-current.mp4
Generated full-body movement and subtitle replies, captured in a VRChat mirror.
virea-vrchat-studio-web.mp4
All demos and reproduction notes · Media provenance
Demo avatar: Unnamed Character 6 — Reira. Credits & terms.
One capability system. One motion foundation. Multiple execution targets. The workspaces share model interfaces and skeletal mathematics. Each target handles its own rendering or device transport.
%%{init: {"theme":"base","themeVariables":{"primaryColor":"#302b3a","primaryTextColor":"#f2edf1","primaryBorderColor":"#bdb8d1","secondaryColor":"#352c33","secondaryTextColor":"#f2edf1","secondaryBorderColor":"#c9adb8","tertiaryColor":"#23222b","tertiaryTextColor":"#f2edf1","tertiaryBorderColor":"#a49baa","lineColor":"#a89eb3","textColor":"#716878","edgeLabelBackground":"#eee9ee","clusterBkg":"#23222b","clusterBorder":"#a49baa","titleColor":"#f2edf1","noteBkgColor":"#eee9ee","noteTextColor":"#302b3a","noteBorderColor":"#a49baa"}}}%%
flowchart TB
subgraph Workspaces["Three workspaces"]
Lab["Motion Lab"]
Studio["Character Studio"]
VRC["VRChat Studio"]
end
subgraph Capabilities["Pluggable capabilities"]
LLM["LLM · intent and planning"]
Audio["TTS · measured speech"]
Motion["Motion generators · native outputs"]
end
Lab --> Motion
Studio --> LLM
VRC --> LLM
LLM --> Plan["Performance compiler · independent tracks"]
Plan --> Audio
Plan --> Motion
Motion --> Source["Source adapters · Motion IR v2"]
Source --> Rig["Shared skeletal retargeting<br/>Frames · FK · rotations · hands · contacts"]
Audio --> Performance["Executable performance"]
Rig --> Performance
Performance --> Executor["Session + executor<br/>Timing · ownership · cancellation · receipts"]
Rig --> Export["Motion Lab · inspect / export"]
Executor --> Browser["Browser VRM"]
Executor --> Bridge["OpenVR / OSC → VRChat Humanoid"]
Browser -. acknowledgements .-> Executor
Bridge -. acknowledgements .-> Executor
classDef workspace fill:#23222b,stroke:#b1aabd,color:#f2edf1
classDef core fill:#302b3a,stroke:#bbb0ca,color:#f2edf1
classDef target fill:#352c33,stroke:#c7adb7,color:#f5eef0
class Lab,Studio,VRC workspace
class Plan,Source,Rig,Performance,Executor core
class Browser,Bridge,Export target
| Layer | Responsibility | Code |
|---|---|---|
| Capabilities | Interchangeable language, audio, motion, source and embodiment interfaces | src/virea/ports/ |
| Contracts & orchestration | Plans, measured timing, immutable artifacts, body ownership and receipts | packages/contracts/ · src/virea/application/ |
| Motion foundation | Native source adapters, rest frames, FK and skeletal retargeting | src/virea/motion/ · packages/retarget/ |
| Execution & operations | Browser playback, VRChat tracking, model workers and deployment | apps/ · src/virea/vrchat/ · plugins/models/ |
Architecture guide · Timing and execution · Model integration
Bring a model adapter, a clearer guide, a reproducible motion example or a fix. Start with the contribution guide, choose a focused change, and include the checks that show it works. For motion changes, an original-skeleton / target-avatar comparison is especially useful.
Use avatars and voice references you have permission to use. Keep provider keys and private conversations local, and operate VRChat accounts with the consent of the people involved. See the security policy for private reporting and the asset credits for model, dataset and avatar terms.
The VIREA code license is awaiting the maintainers' selection. Third-party models, datasets and avatars retain their own licenses, listed in Third-party notices.





