Narratomidocs
Cast and assets

Bring your own VRM

The edit, export, replace loop for changing how a character looks, and what the studio deliberately does not do.

Narratomi consumes avatars. It does not author them. There is no hairstyle picker, no outfit editor, no face sculptor, and there will not be one: character creation is a whole product of its own, and pixiv gives VRoid Studio away for free. VRM exists precisely as the handover format between the app that makes an avatar and the app that uses one, and Narratomi sits on the using side.

What that means in practice: the only change you can make to an avatar inside the studio is a color tint, through Looks. Everything else is a round trip through your avatar tool. Here is that trip.

Make and import a character

Build the avatar

Use VRoid Studio, or any tool that exports VRM. Export as .vrm. Keep the source project file: you will open it again every time the character needs to change.

Check the size

The per-file cap is 50 MB by default. VRoid's export settings let you reduce texture resolution and delete unused polygons, which is usually enough on its own.

Upload it

Open the Assets panel, set Upload kind to avatar, click Upload, and choose the file.

Confirm the tier

The row should show a vrm badge. humanoid-glb means the file lost its VRM extension somewhere (usually an export or a conversion step), and static means no usable rig was found. A static avatar will not render on stage; it falls back to the capsule stand-in.

Cast it

In the Cast panel, open the member's avatar picker and select the new asset. The avatar appears wherever that member is placed.

Before you wire it into scenes, click the row to open the inspector and try the expression chips. Those are the exact names the runtime can play for this model, and they are what the expression stage direction will offer you.

Change a character later

This is the part the ADR pins down, and it is deliberately boring.

Edit the source

Reopen the character in VRoid Studio. Change the hair, the outfit, the face, whatever needs changing.

Export a new VRM

Same settings as before. It does not matter what the file is called.

Replace, do not re-upload

In the Assets panel, find the existing avatar row and click Replace. Choose the new file.

Replace re-points the same asset id at the new file. Every cast member, every scene, every stage direction that already referenced this avatar keeps working; you change nothing else. Uploading the new file as a second asset would leave you re-picking it on every cast member that used the old one.

Already-published versions of your story keep serving the old file. Bundles reference content hashes, so a replace changes what your project loads next, not what a share link that went out last month plays. Republish when you want the new avatar live.

What the studio will not do

  • Mesh editing. Permanently out, not deferred.
  • Texture painting. Same answer.
  • Part swapping, outfits, hair, accessories. Arbitrary uploaded VRMs do not carry a modular asset pipeline, so there is nothing generic to swap.
  • Exporting a VRM. The studio has no VRM writer. A look is applied when the model loads; it is never baked into a file.

Tinting is what remains, because tinting is the one appearance change that makes sense inside a story tool and that every VRM supports. A tint multiplies the existing texture. It shifts hue and it darkens. It cannot lighten a dark texture, and it cannot repaint anything.

Troubleshooting

The upload was rejected as an invalid GLB or VRM. The file must be self-contained: external buffers and images are refused. Re-export with textures embedded.

The tier badge says humanoid-glb on a file you exported as VRM. Something along the way stripped the VRM extension. The model still stands and animates, but expressions and lipsync need a real VRM.

The expression chips are empty. The model declares no expressions. Add them in your avatar tool and replace the file.

Your look tints stopped landing after a replace. Looks map material names to parts through their all-caps suffixes. If the new export bakes materials into an atlas, the per-part swatches collapse into one whole-model tint, and the old per-part values no longer apply. Repaint the look against the swatches you now see.

The avatar is enormous or tiny on stage. Scale is whatever the file says. Models render at their native scale, so fix it in the source tool and replace the file.

On this page