#vrm #bevy #game #vrma

bevy_vrm1

Allows you to use VRM and VRMA in Bevy

16 releases (6 breaking)

Uses new Rust 2024

new 0.7.0 Apr 11, 2026
0.6.3 Mar 15, 2026
0.4.0 Dec 21, 2025
0.3.0 Oct 14, 2025
0.2.2 Jun 22, 2025

#90 in Games

Download history 10/week @ 2026-01-10 22/week @ 2026-01-17 44/week @ 2026-01-24 44/week @ 2026-01-31 80/week @ 2026-02-07 33/week @ 2026-02-14 21/week @ 2026-02-21 5/week @ 2026-02-28 90/week @ 2026-03-07 68/week @ 2026-03-14 17/week @ 2026-03-21 115/week @ 2026-03-28 282/week @ 2026-04-04

494 downloads per month

MIT/Apache

2.5MB
8K SLoC

bevy_vrm1

Crates.io Docs

[!CAUTION] This crate is in an early stage of development and may undergo breaking changes.

[!NOTE] This crate only supports VRM 1.0.

This crate allows you to use VRM1.0 and VRMA.

Usage

Name currently supported
Spring Bone
Look At
Animation(vrma)
Node Constraint
First Person

Spring Bone

SpringBone

This is a feature for expressing the sway of a character's hair and other parts.

examples

Look At

LookAt

LookAt is a component for animating the line of sight into a VRM model. You can use the LookAt component to track a specific target or the mouse cursor.

examples

Animation(vrma)

VRMA

You can play animations using VRMA.

examples

Node Constraint

Node Constraint is a feature for constraining node transformations in real-time, primarily designed for Humanoid bones. This library supports all three constraint types defined in the VRMC_node_constraint-1.0 specification:

Constraint Types

Rotation Constraint

  • Transfers the entire local rotation from a source node to destination nodes
  • Typical use case: Sub-arms and auxiliary bones
  • Supports weight parameter for interpolation (0.0 - 1.0)

Roll Constraint

  • Transfers rotation around a specific axis (X, Y, or Z)
  • Typical use case: Twist bones for arms and legs
  • Supports weight parameter and configurable roll axis

Aim Constraint

  • Rotates a node to face a target node
  • Typical use case: Clothing sleeves and accessories
  • Supports weight parameter and configurable aim axis (PositiveX, NegativeX, PositiveY, NegativeY, PositiveZ, NegativeZ)

All constraint types use spherical linear interpolation (slerp) based on the weight parameter to blend between the rest rotation and the constrained rotation.

Features

Feature Description default
serde derive Serialize and Deserialize for components no
log enable log for debugging no

Versions

bevy_vrm1 bevy
0.5.0 ~ 0.18
0.4.0 ~ 0.17
0.1.0 ~ 0.16

Credits

Using bevy_game_template to CI.

Sample Models

  • AliciaSolid by © DWANGO Co., Ltd.

Dependencies

~63–120MB
~2M SLoC