Building a Virtual Avatar on Mac from Scratch: A Complete Recording Workflow
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.
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.

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.

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.

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.

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.

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.

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:
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.

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.

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

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:
-
Install and open Webcam Motion Capture -
Install and open Webcam Motion Receiver -
Validate five movements with the default character (head turns, mouth, blink, look up/down, head tilt) -
Open VRoid Studio and quickly build a first-version avatar -
Export as VRM with a versioned filename -
Load the VRM in Receiver -
Adjust Distance → FOV → Height → Side for upper-body framing -
Switch background to solid color, avoiding the character’s palette -
In OBS, add a window capture source targeting Webcam Motion Receiver -
Apply a chroma key filter and tune similarity / smoothness / edge sharpening -
Position the avatar in the bottom-right corner over your main content -
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.

