Guides

Create a 2D companion

For Live2D artists. Put your rigged character on screen in a few minutes, then share her with other people. No code needed.

View as Markdown

A 2D companion is a Live2D Cubism model. If you can rig and animate in Cubism Editor, you have what you need. You don't need to code or use a terminal.

You need a rigged Live2D model. A flat PNG won't work, because rigging is what makes it move. If you don't rig, you can commission a Live2D rigger, or make a 3D companion with VRoid Studio instead.

There are two routes:

Start with route 1, even if you plan to share. It's the quickest way to see how your model behaves.

Get your model ready

Export for runtime from Cubism Editor, then export your motions as .motion3.json files. Put everything in one folder, with the motions in a folder called motions:

Aiko/
  Aiko.model3.json
  Aiko.moc3
  Aiko.physics3.json
  Aiko.cdi3.json
  Aiko.2048/texture_00.png
  motions/idle.motion3.json
  motions/talk.motion3.json
  motions/nod.motion3.json

Unlike 3D, a 2D model has no ready-made motions to borrow, so you animate your own. You need at least an idle to upload it for yourself. To share it, you need three: an idle, a talking loop and one gesture.

Then zip the folder: right-click it and choose Compress (Mac) or Compress to ZIP (Windows). The zip can be up to 100 MB.

Use the standard parameter names

We move your model by setting standard Cubism parameters. If you started from Cubism's standard parameter set, this already works.

Parameter What it gives her Without it
ParamAngleX, ParamAngleY, ParamAngleZ She turns and nods, and the background shifts slightly as she moves Her head only moves in your own motions
ParamEyeBallX, ParamEyeBallY Her eyes look at the person Her eyes stay still
ParamEyeLOpen, ParamEyeROpen She blinks She doesn't blink
ParamMouthOpenY, ParamMouthForm Her mouth moves with her voice Her mouth stays still
ParamBodyAngleX, ParamBodyAngleZ Her body turns and sways Only a slight sway of the whole figure
ParamBreath Her chest moves as she breathes No breathing from us
A physics file Hair and clothes follow her movement They stay rigid

Using your own names for her face? You can map them.

Two more things worth doing:

  • Add a hit area with "Head" or "Face" in its name. It tells us exactly where her head is, for the Face view and for clicks. Without one, we measure it from what moves when ParamAngleX turns.
  • Watch texture size. A model must fit in 448 MB and four 4096-pixel textures on a desktop, and 192 MB and two textures on a phone.

Route 1: Just for you

  1. Open Companions in the console and choose to create your own.

  2. Under How it looks, choose Upload your own and pick your .zip.

    The Upload your own tab on the Create your own companion page

  3. She appears in a small preview. Under Add from this model, tick your motions.

  4. Each ticked motion starts as a Gesture. Set what each one is for by ticking Idle, While talking and so on, and unticking Gestures. She needs at least one Idle.

    The review screen, with the model in a preview and a motion's name, description and role choices

  5. Replace each motion's second box with a short description of what it does, such as "A small, friendly nod". She reads it to choose a gesture.

  6. Press Use this file.

  7. Choose a voice, and give her a name and personality. You can change these later.

  8. Press Create, and talk to her.

If the Create step says you've reached your plan's agent limit, choose One of your agents under Who it talks as. Your character then becomes the face of an agent you already have.

Route 2: Share her with other people

A plugin is just a folder that we read. Our starter folder has everything set up, so you mostly drop your model in.

  1. Name three motions exactly. In your model's motions folder, name them idle.motion3.json, talk.motion3.json and nod.motion3.json. The nod can be any small gesture. Then zip your model folder.

  2. Download the 2D starter folder and unzip it.

  3. Copy your model's zip into companion-models/my-look/ and name it exactly model.zip.

  4. Name your pack. Open readme.md in any text editor (Notepad or TextEdit are fine) and change My Companion Pack to your own name. It must be unique, so Aiko by YourName is a good pattern.

  5. Describe her. Open companion-characters/my-companion/character.json and change the text inside the quotes. Leave the look line alone.

    Line What it is
    name her name in the gallery
    vibe one short line on her card
    soul her personality, in plain sentences
    instructions how she should talk

    Keep the quotes and commas as they are. To get a line break, write \n, and write \" for a quote inside the text.

  6. Zip the starter folder, just like your model.

  7. Upload it. In the console, go to Plugins → Created → Upload a plugin and choose your zip.

  8. Try her. Install the plugin, open Companions, find her in the gallery and press Talk.

  9. Share her. On the plugin's page, open the ⋯ menu and choose List in Browse. Until you do, only your account can install her.

To publish a change later, edit the folder and raise version: in readme.md, for example from 1.0 to 1.1. Then zip it and upload it on the plugin's page.

Make her your own

These are all optional. You can ask an AI assistant to make the edit for you. Our docs in plain text give it everything it needs.

To add What you do Read more
More motions Add them to model.json, each with what it's for: listening, thinking, a reaction and so on Model
A picture in the gallery Add thumbnail.png to my-look, and name it in model.json Model
A room behind her Add a soft room picture and name it in model.json. It's blurred and cropped to fit, and she picks up its colours automatically Background
Exact crops Say what each Face, Upper body and Full body button shows Framing
A set voice Suggest a voice from a provider Character

2D companions can't have outfits, held items or walking, because the artwork is one painted piece.

Check her before you share her

  • Try Face, Upper body and Full body in a narrow window as well as a wide one.
  • Play every motion, and watch how each one starts and ends.
  • Talk to her and watch her mouth, blinks and eyes.
  • Click her head and body, and check she reacts.

If something looks wrong

What you see Likely cause What to do
Use this file is greyed out No motion is set to Idle, or a motion has no description Tick Idle on one motion, and fill in the boxes
The Face view is empty or cut off Her figure doesn't fill the canvas, or sits off to one side Add a hit area with "Head" in its name, or trim the canvas. You can also set the view in the companion's Frame mode
The mouth doesn't move No ParamMouthOpenY, or no voice is set Rename the parameter or map it, and check she has a voice
She doesn't blink No ParamEyeLOpen or ParamEyeROpen Rename them or map them
Her head doesn't turn No ParamAngleX Rename it, and check it's connected in your rig
Hair stays rigid No physics file, or it isn't named in the .model3.json Export physics again
A motion moves the wrong things It was made for another model Export it again from this model

When an upload is refused

The message names what's wrong. These are the common ones:

Message What it means
'avatar' names file 'model.zip', which isn't in the package Your model's zip isn't in companion-models/my-look/, or isn't named exactly model.zip
the avatar has no animation named 'motions/idle.motion3.json' A motion isn't in your model's zip, or is named differently. Names must match exactly
a look needs at least one idle, one talkIdle and one gesture motion You removed motions she needs
A message about JSON or an unexpected character A quote or comma was removed from a file you edited. Undo your last change, or paste the file into an online JSON checker

Words you'll see

Word Meaning
Look Her model and motions
Character Her card in the gallery: name, personality and suggested voice
Plugin or pack The folder you upload, which can hold several looks and characters
Role What a motion is for, such as idle, talking or a gesture
2.5D What the reference docs and console call a Live2D model

The full reference for every setting is Companion packs.