Bake skinned animations into Vertex Animation Textures and play thousands of animated characters on the GPU in URP. No Animator, no bones, no CPU skinning.SimpleVAT turns skinned characters into lightweight animated meshes. It bakes every vertex position and normal of your animation clips into textures, and a URP vertex shader plays them back entirely on the GPU. The result is a plain MeshRenderer that animates with no Animator, no bones and no CPU skinning cost, so you can fill a scene with crowds, armies, flocks and background characters.Workflow in three steps:1. Create a VAT Animation Set and drop in any model with SkinnedMeshRenderers. Its clips are added for you; drop in more clips, models or Animator Controllers to add theirs.2. Press Bake. The merged mesh, materials and position/normal textures are stored inside the asset, and a ready-to-use prefab is generated.3. Drag the prefab into your scene. It plays on Awake.It's more than a baker. The VATAnimator component gives you an Animator-like API: Play clips by name or index, cross-fade between them on the GPU, and hold phase-synced blends such as walk/run driven by a speed value. Random start times keep copies from moving in lockstep. The CPU only touches the material when the clip, blend or speed changes.The Inspector does the bookkeeping for you. Every clip shows its frame count, length and loop mode. Before you bake it catches missing renderers, empty or duplicate clips and clips too long for the GPU's texture limit, and it shows the vertex count, frame count and texture memory the bake will use. After a bake it tells you when the source or settings have changed, lists the memory of every clip, and switches all baked materials between Lit and Unlit in one click.A live animated preview sits right under it. Press play on any clip, pick a second clip to blend with, orbit, zoom and scrub the timeline before you drop anything in a scene.Two URP shaders are included. Simple Lit supports main light shadows, ambient light and fog. Simple Unlit shows just the base map and color, for stylized or distant crowds. Both cast shadows, have depth and depth-normals passes for SSAO and other URP features, and work in the Forward, Forward+ and Deferred rendering paths. Want VAT in your own shader? Include VAT.hlsl and call one macro, or use the Custom Function node in Shader Graph.Screenshots use the free Unity Starter Assets Third Person character (not included).Key features• Bake any SkinnedMeshRenderer model (multiple renderers are merged) and any number of clips• Position and normal textures per clip, as 16-bit half or 32-bit float (High Precision)• Looping and one-shot clips, read from each clip's Loop Time setting• Models over 4096 vertices are wrapped across several texture rows automatically• Generated prefab with MeshFilter, MeshRenderer and VATAnimator, ready to drop in• Re-baking updates sub-assets in place, keeps your material edits and removes stale dataInspector• Drag and drop clips, models or Animator Controllers onto the clip list, or add a model's clips in one click• Per-clip frame count, length and loop mode, updated live as you change the frame rate• Setup checks before baking: missing renderers, empty or duplicate clips, textures above the GPU limit• Vertex count, total frames and texture memory estimated before you bake• Out-of-date bake warning when the source or settings change• Baked clip list with per-clip memory and one-click preview• One-click Lit/Unlit switch for every baked material• Animated preview with orbit, zoom, clip/blend selection and scrubbingVATAnimator (runtime)• Play(name or index, fadeDuration, normalizedTime) with GPU cross-fades• Blend(clipA, clipB, weight): phase-synced two-clip blend, cheap to update every frame• Speed, NormalizedTime, IsFinished, CurrentClip, BlendClip, BlendWeight• Play On Awake, Default Clip and Random Start Time options• Uses material instances, so it stays SRP Batcher compatibleShaders• DuzeraTools/SimpleVAT/Simple Lit: main light, shadows, ambient light and fog• DuzeraTools/SimpleVAT/Simple Unlit: base map and color, still casts shadows• Both have ShadowCaster, DepthOnly and DepthNormals passes and work in Forward, Forward+ and Deferred• VAT.hlsl include with VAT_ANIMATE macro for custom HLSL shaders• VATAnimate and VATSampleClip functions for Shader Graph Custom Function nodesCompatibility• Unity 6000.0 or newer (tested on 6000.3)• Universal Render Pipeline (URP) 17+• Built-in RP and HDRP are not supported by the included shader• All platforms supported by URP that can sample vertex textures (desktop, console, modern mobile)Included• Full C# and HLSL source• Runtime and Editor assembly definitions• README.md and Documentation.txt• Namespace: DuzeraTools.SimpleVATCode: AI helped refactor and debug parts of the C# scripts, editor tooling and shaders. I directed, reviewed and tested all of it in Unity before including it.Documentation: AI helped draft and edit the README, the documentation and code-level text, which I then checked against how the tool actually works.Store listing: AI helped write the listing copy and build the marketing images from HTML layouts.The package contains no AI-generated 3D models, textures, audio or other art assets. All design decisions, testing and final approval were mine.




