When we set out to build MSquared Avatars, our goal was to create expressive, high-fidelity avatars that could thrive not just in curated showreels, but in real production scenarios. That means supporting 10,000 diverse characters in a shared space during a Morpheus Platform hosted event, in a browser-based Web World or simply on machines that weren’t built for rendering high-end 3D.
Achieving that required more than just efficient models or nice styling, it meant creating an end-to-end pipeline that’s purpose-built for scale and versatility. In this blog we break down how we approached it, what we learned, and how we’re delivering expressive identity without the usual performance trade-offs.
Why most avatar systems break at scale
Avatars are easy to get wrong at scale. Systems that look great in isolation fall apart under load - too many draw calls, too much VRAM usage, textures that balloon out of control when users start customizing or uploading their own assets.
In most 3D pipelines, performance assumptions break down when variety goes up. Supporting a handful of characters is easy. Supporting thousands of unique, fully customized avatars and rendering them live in a shared scene is where things start to fall apart. That’s the real challenge we designed for.
Our pipeline: built for scale, optimized for variety
At the core of MSquared Avatars is a performant, modular workflow:
1. Component-based inputs, unified outputs
We start with modular GLBs; hair, clothing, accessories, authored or selected by users. On ingestion, our system merges them into a single optimized GLB per avatar. This drastically reduces draw calls, enabling efficient rendering on both mobile and desktop.
Geometry is simplified and combined with aggressive - but visually imperceptible - reduction techniques applied before merging.
2. Smart texture atlasing (when it makes sense)
We implemented a custom atlasing system to combine and standardise avatar textures into a fixed budget. Atlasing is the process of stitching many small textures into one large image, so the GPU can render them with fewer operations. This is especially important when scenes include thousands of unique avatars, each with their own clothing or accessory materials.
Whilst this helps ensure we remain within performance budgets, it’s not a silver bullet. In fact, for shared textures (like common shirts or hairstyles), atlasing can increase GPU memory usage due to loss of deduplication. That’s why our system enables us to be selective: we use atlasing where avatar variety is high, and default to shared instances where it’s low. It’s about targeting the worst-case performance scenario, not the best-case demo.
3. Ready-to-stream assets
MSquared Avatars are delivered as compact, self-contained GLBs (typically around 3MB in size) that include everything needed for runtime rendering at high quality. This single package is what gets ingested by the Morpheus platform. From there, the renderer handles progressive loading and fidelity scaling on the client side.
4. Carnival renderer integration
Whilst our avatar creation pipeline could produce even lower LOD (Level of Detail) assets, this isn’t necessary in Morpheus Platform thanks to the Carnival renderer.
Using Carnival, the client streams in what it needs, when it needs it, prioritizing speed to first render and allowing a graceful fidelity ramp-up over time. As users move through the world, nearby avatars are streamed in and rendered at full quality while distant ones are only partially streamed at lower fidelity to reduce bandwidth and improve graphics performance, without developer intervention.
This runtime budgeting allows Morpheus to support thousands of unique avatars in the same scene, with consistent performance and perceptual quality across devices regardless of character density. It’s what makes expression at scale possible without micromanaging assets.
5. Continuous testing at scale
We don’t just benchmark in theory - we run it live. Every update to the MSquared Avatars pipeline is stress-tested using a pool of over 15,000 unique avatar combinations in the Morpheus platform. This helps us ensure stable performance, validate visual quality across extreme variation and catch regressions before they ever reach production.
What this means for your world
Whether you’re building a social sandbox, a real-time event, or a user-generated metaverse, the pressure to support high avatar concurrency is only growing. MSquared Avatars let you commit to scale without re-architecting your platform.
Here’s what you get out of the box:
- Optimized GLBs ready for web and game engines
- Modular theming and customization, with open format delivery
- Draw call and VRAM reduction at the asset level
- Progressive LoD generation and runtime streaming
- Seamless integration with MSquared Web Worlds and Morpheus Platform
And all of it is live-tested - our avatar system powered the BBC Philharmonic’s virtual concert event - and customers using the Morpheus platform today have access to our randomised collection of characters by default.
Try it yourself
Check out the example editor on our Avatars page, then take your optimised character for a spin in our example Web World. To get started with managing your own avatar creator instances, sign up today.
If you’re building for scale, and care about identity, not just performance, MSquared Avatars are ready for you. Self-expression shouldn’t break your frame rate.