Introduction
Welcome to Vertex Animator — a battle-tested toolkit for GPU animation!
This guide covers baking a character, playing it back, and drawing large crowds.

Why Vertex Animator
Unity’s Animator skins every character from its skeleton. That is the right tool for a handful of heroes. But it gets expensive when you need a hundreds or thousands of characters, even if they are copies of each one: every copy still runs a skeleton and a skinned mesh which eats a lot of CPU time.
The Vertex Animator delegates most of the work to the GPU, freeing up the CPU. It bakes animations into a texture in editor. At runtime the shader reads the poses from that texture and the characters draw together through GPU instancing. Use it for crowds, armies, ambient NPCs, and any scene where many characters share the same set of clips.
You still get states, triggers, locomotion, events, attachment slots and distance LODs. The difference is that playback no longer depends on a live Animator for every instance.
Performance Comparison
Tested in PC build on AMD Ryzen 9 5900X, NVIDIA GeForce RTX 2080, at 2560×1440 display resolution.
The same crowd, measured at several sizes. Taller bars are higher frame rates.
In WebGL, this difference is even greater.
The WebGL demo on a rather old Redmi Note 10 Pro smartphone renders 4,000 characters at 30 frames per second.
Just try the Windows or WebGL demos using the buttons below.
Platforms
Vertex Animator uses ordinary meshes, textures, and GPU instancing. It does not depend on any other platform-specific graphics API, so the same playback path runs potentionaly everywhere Unity does, including WebGL. It was initially built for own mobile WebGL game.
Tested platforms are Windows, WebGL, and Android. iOS and consoles are not in that test list yet. Nothing in the runtime is tied to one operating system, so those targets should run the same way.
Limits
Vertex Animator plays baked vertex poses. It is the wrong tool when a character needs runtime IK, ragdoll, Avatar Mask or other procedural things that involve modifying the skeleton at runtime.