Building a Virtual Avatar on Mac from Scratch: A Complete Recording Workflow

Mac desktop workspace
Image source: Unsplash

What the Final Video Actually Looks Like

Your main content fills the screen, and a small virtual character in the corner mirrors your facial expressions in real time. That’s what you get when this entire pipeline is working.

Here’s the breakdown: your webcam tracks your expressions, head movement, and lip sync, then drives a 3D character that moves in sync. OBS composites that character on top of your slides, browser window, or screen recording. The final video has your teaching content in the center and a virtual “presenter” in the corner.

This setup works well for AI tool tutorials, software walkthroughs, product demos, and any educational content where you’d rather not show your face on camera — at least not yet.

Summary: Webcam motion capture drives a 3D avatar, OBS composites it over your lesson content, and you get a “main content + virtual presenter” video structure.

What Software You Need to Install

Four things: OBS, Steam, VRoid Studio, and Webcam Motion Capture.

Webcam Motion Receiver doesn’t need a separate install — it comes bundled with Webcam Motion Capture. I’d recommend putting all of these in your Applications folder or pinning them to the Dock. During setup you’ll be switching between windows constantly, and having them scattered across your Mac gets old fast.

Software What It Does
OBS Screen recording, compositing, chroma keying
Steam Platform that runs Webcam Motion Capture
VRoid Studio Creating and exporting 3D avatar models
Webcam Motion Capture Tracks your face and upper body via webcam
Webcam Motion Receiver Loads your model and receives motion data

Summary: Four apps form the full pipeline. Keep them in one place so you’re not hunting for windows during setup.

Why You Shouldn’t Start by Designing Your Character

I’ve seen people open VRoid Studio and immediately start tweaking face shapes, switching hairstyles, spending two hours on details — then they import into Receiver and the character doesn’t move. Now they can’t tell if the problem is their model or the motion capture.

Do it the other way around. Use the default character in Receiver to verify the motion capture pipeline first. Once you’ve confirmed your webcam tracks properly and the character responds, go back and spend time on your custom avatar. That way, if anything breaks later, you know the capture side is solid.

Summary: Verify motion capture works before investing time in character design. It makes troubleshooting way simpler.

Getting the Default Character to Move

Open Webcam Motion Capture. On first launch, macOS will ask for camera permission — grant it. You should see your face in the preview area with tracking points overlaid on your eyes, nose, and mouth.

Set these first:


  • Camera: Select the webcam you’re actually using

  • Resolution: Start at 1280×720, don’t jump straight to 1080p

  • Hide Webcam: Leave unchecked

I’d recommend starting low on resolution. Get 720p stable first, then bump up. Going straight to 1080p adds load, and if things stutter you might think the software is broken when it’s really just your machine struggling.

Next, open Webcam Motion Receiver. It loads a default 3D character.

Webcam Motion Receiver default character interface

Ignore what the default character looks like. Test five movements: turn your head left and right, look up and down, open your mouth, blink, and tilt your head slightly side to side. If the character responds to all five, your capture pipeline is working.

One more setting — check Upper Body, leave Full Body unchecked. When recording lessons you’re sitting at your desk, and the webcam mostly sees your face and shoulders. Full Body mode expects to see more of your body in frame; without that data, the character actually drifts and twitches more. I made this mistake early on and spent ages debugging before realizing I just had the wrong mode selected.

Summary: Configure camera settings, validate five basic movements with the default character, and use Upper Body mode for seated recording.

How Much Detail Does Your First Avatar Actually Need

Open VRoid Studio and click “New” to start from a base template.

VRoid Studio main interface

For a first version, adjust only these: hairstyle, face shape, eyebrows, eyes, skin tone, clothes. Add glasses or a distinctive accessory if you want the character to be easily recognizable. The goal here isn’t a game-quality 3D model — it’s a passable representation of you that you can use to record a lesson right now.

VRoid Studio character editing interface

Seriously, don’t spend hours adjusting individual hair strands. I got stuck in this phase myself. Later it clicked: the first version just needs to be good enough to run through the pipeline and record something. You can always iterate. Plenty of people never make it past the modeling stage because they burn out before even testing motion capture.

Once your character looks reasonable, click “Export VRM” in the top right.

Choose VRM format, and in the save dialog pick a location you’ll remember.

VRM export save dialog

Name the file clearly. I’d suggest including a version number — my-avatar-v1.vrm, course-avatar-v1.vrm, something like that. When you make a second or third version later, you won’t be guessing which .vrm file is the current one.

Summary: First version only needs key visual features adjusted. Export as VRM with a versioned filename for easy iteration tracking.

Your Imported Avatar Is Just a Giant Head — Now What

Go back to Webcam Motion Receiver, click Load VRM in the top right, and select your .vrm file.

Load VRM file selection dialog

No error means it loaded successfully. But you’ll probably see the character way too close to the camera, filling the frame with just a face.

Imported character appearing too large

The model isn’t broken. Nothing went wrong with the import. The camera is just too close and the position needs adjusting. You need four parameters on the left side of Receiver:

Parameter What It Controls
Distance How far the character is from the camera — pull back if it’s just a face
Field of View How wide the view is — increase if the frame feels cramped
Height Vertical position of the character in frame
Side Left-right offset

Don’t twist all four at once. Follow this order: lock Upper Body first, then adjust Distance to pull the character back to a reasonable size, then Field of View to give the frame some breathing room, then fine-tune Side and Height to center everything.

What you’re aiming for: the top of the head fully visible, both shoulders visible, a bit of the chest showing, character centered, some background space on the sides. For lesson recording, the character shouldn’t fill the screen. Too close and it feels like a face-cam stream, which clashes with educational content. Pull back a bit so viewers can see the “presenter” but their attention stays on your main content.

Summary: The “giant head” problem is purely a camera parameter issue. Adjust Distance → FOV → Height → Side to get an upper-body composition.

Why You Need to Switch to a Solid Color Background

Skip this and you’ll have a miserable time trying to separate the character from the background in OBS.

In Receiver, find the Background setting on the right side and switch it from Image to Color.

Switching to solid color background

Pick pure green or pure blue. One rule: don’t pick a color that’s close to anything on your character — hair, clothes, skin. If your character wears green, use a blue background. If the model has a lot of blue, pick a different solid color. Getting this wrong makes chroma keying a nightmare later; no amount of slider tweaking will fix edges that blend into the background.

Summary: Switch Receiver’s background to a solid color for clean chroma keying in OBS. The color must not match anything on your character.

How to Bring the Avatar into OBS and Key Out the Background

Open OBS, click the + in the Sources panel, select macOS Screen Capture, and if there’s a sub-option choose Window Capture.

OBS adding window capture source

In the settings window that pops up, set the target window to Webcam Motion Receiver.

OBS selecting Receiver window

Now OBS is capturing “character + solid color background.” You need to add a filter to remove the background. Right-click your virtual avatar source in the source list → Filters → click + under “Effect Filters” → select “Chroma Key” → pick the background color you set earlier.

If you used green, adjust the green screen parameters. If the key isn’t clean, take your time with the similarity, smoothness, and edge sharpening sliders — they interact with each other, so small incremental adjustments work better than big swings. The end result should be just the character with a transparent background. Drag that source to the bottom-right corner of your scene.

Summary: Use OBS window capture to grab the Receiver window, apply a chroma key filter to remove the solid background, and the avatar is ready to layer anywhere.

How to Layout the Avatar with Your Main Content

Once the background is keyed out, you have flexibility. The most common arrangement: your browser, AI tool, slides, or code editor fills the center, and the virtual avatar sits in a small window in the corner.

This is noticeably different from a raw screen recording. Viewers see someone “presenting” rather than just a screen recording with mouse movements. For educational content, that difference matters more than people realize — a bare screen recording feels like a documented procedure, but adding a presenter makes it feel like a lesson.

Keep the avatar small. A corner window is enough. The star of the video is always the content you’re explaining.

Summary: Main content centered, avatar in a small corner window. The avatar adds presence without competing for attention.

Why a 10-Second Test Recording Is Non-Negotiable

Don’t skip this. Record 10 seconds, do a few head turns, mouth movements, and blinks, then play it back immediately.

Check four things on playback:


  • Does lip sync track your speech?

  • Do expressions look natural, or do they distort?

  • Is the background fully removed, or are there color remnants?

  • Are the character’s edges clean, or do you see jagged edges or halos?

If these four are mostly fine, your workflow is usable. I once skipped this step and recorded 30 minutes straight, only to discover on playback that lip sync wasn’t working at all. Rerecording after that kind of waste hurts. Ten seconds of testing has the best ROI of anything in this entire pipeline.

Summary: A 10-second test catches lip sync, expression, keying, and edge issues before you commit to a full recording.

Problems You’ll Almost Certainly Run Into

Character imports as a giant face

Not a broken model. Not a failed import. Adjust Distance → Field of View → Height in that order.

Character twitches or drifts

Check these: is your webcam positioned too low (this was my biggest issue — elevating it slightly fixed everything), is the lighting only coming from directly above creating heavy shadows on your face, are your face and shoulders fully in frame, and did you accidentally enable Full Body? Camera height alone solves most of these.

OBS shows the character but the background won’t key out cleanly

First, verify your background color isn’t too close to a color on your character. Then check that you’ve actually adjusted the chroma key sliders — similarity, smoothness, edge sharpening. Finally, make sure you haven’t accidentally added the same window capture source twice. I’ve seen someone stack two identical sources, and the bottom one with the solid background keeps showing through.

There’s a “trial” watermark and Subscribe button in the middle of the frame

That’s not something you did wrong. Webcam Motion Receiver has a trial mode that overlays a trial notice and subscription prompt. It doesn’t block you from testing the tracking pipeline, but it will appear in your final recording. So trial mode is fine for validating the workflow — just know that you’ll need to deal with licensing before publishing anything. Better to find out now than after you’ve recorded a full course.

Summary: Four common issues — oversized character needs camera adjustment, unstable motion needs webcam repositioning, bad keying needs color and filter checks, trial watermark needs licensing resolution.

The Execution Order That Minimizes Backtracking

If you’re starting from absolute zero, follow this sequence:

  1. Install and open Webcam Motion Capture
  2. Install and open Webcam Motion Receiver
  3. Validate five movements with the default character (head turns, mouth, blink, look up/down, head tilt)
  4. Open VRoid Studio and quickly build a first-version avatar
  5. Export as VRM with a versioned filename
  6. Load the VRM in Receiver
  7. Adjust Distance → FOV → Height → Side for upper-body framing
  8. Switch background to solid color, avoiding the character’s palette
  9. In OBS, add a window capture source targeting Webcam Motion Receiver
  10. Apply a chroma key filter and tune similarity / smoothness / edge sharpening
  11. Position the avatar in the bottom-right corner over your main content
  12. Record a 10-second test and play it back

Run through these 12 steps and you have a working virtual avatar recording workflow on Mac.

From there you can gradually improve things — a more personalized character, better audio, nicer lighting, more natural framing. But step one is recording that first usable video. Everything else comes after.

Summary: 12 steps from install to test recording, ordered to catch problems early and minimize rework.


Quick Reference Checklist


  • [ ] Install OBS, Steam, VRoid Studio, Webcam Motion Capture — keep them in one place

  • [ ] Open Motion Capture, grant camera permission, set resolution to 720p

  • [ ] Open Motion Receiver, validate five basic movements with default character

  • [ ] In VRoid Studio, create a first-version avatar — adjust only hair, face, eyes, skin, clothes, accessories

  • [ ] Export as VRM with a versioned name like my-avatar-v1.vrm

  • [ ] Load VRM in Receiver, confirm no errors

  • [ ] Adjust Distance → FOV → Height → Side for upper-body composition

  • [ ] Switch background from Image to Color — pick green or blue, avoid character colors

  • [ ] In OBS, add window capture source targeting Webcam Motion Receiver

  • [ ] Add chroma key filter to that source, tune similarity / smoothness / edge sharpening

  • [ ] Drag avatar to bottom-right corner, layer over main content

  • [ ] Record 10-second test, play back and check lip sync / expressions / keying / edges

One-Page Overview

Tool chain: VRoid Studio (modeling) → Webcam Motion Capture (tracking) → Webcam Motion Receiver (driving the avatar) → OBS (compositing and recording)

Core principles: Verify motion capture before building a character; start at 720p then scale up; use Upper Body before trying Full Body

Target framing: Upper body, full head visible, centered, with background space on sides — avatar should not dominate the frame

Keying method: Set solid color background in Receiver → apply chroma key filter in OBS

Mandatory check: 10-second test recording reviewed for lip sync, expression quality, key cleanliness, and edge quality

Known limitation: Trial mode overlays a “trial” notice and Subscribe button on the Receiver output — needs licensing resolution before publishing

FAQ

Does this workflow work on Mac?
Yes. The entire tool chain supports macOS, and every step in this guide was tested on Mac.

Is Steam required?
Webcam Motion Capture runs through Steam, so yes, Steam needs to be installed.

Do I need a physical green screen?
No. The background color is set directly inside the Receiver software — no fabric or backdrop needed.

Does it matter if my first avatar looks rough?
Not at all. The first version’s job is to get you through the pipeline and record something usable. You can always refine the model later.

Why does Full Body mode make the character worse?
Full Body expects the webcam to see enough of your body for tracking data. When you’re seated at a desk and the camera only captures your face and shoulders, the missing data causes the character to drift and jitter.

The chroma key edges look rough — what do I adjust?
Tweak the smoothness and edge sharpening sliders in the chroma key filter. Also double-check that your background color isn’t too similar to any color on the character itself.

Can I remove the trial watermark?
The trial notice and Subscribe button are built into the free version of Webcam Motion Receiver. They don’t block testing, but they will appear in your final output. You’ll need to purchase a license or switch tools before publishing.

Can I use a VRM model made in a different application?
Yes. As long as the file is in VRM format, Receiver can load it. VRoid Studio is just one option for creating the model.