UMA to DOTS Baker: Mesh, Skin, Animation
FarmGameXYZ
$14.99
$29.99
50%OFF
(no ratings)
Jump AssetStore
Bring your UMA characters into DOTS. Bake UMA avatars into GPU-animated meshes and spawn thousands of them as entities, in a few draw calls. Unity 6 and URP. Baking requires UMA (free).Your UMA characters, now in DOTS.Design characters with the UMA tools you already know, bake them once, and run them in DOTS.UMA builds its characters at runtime as GameObjects with skinned meshes and Animators, so they don't fit into an Entities world. UMA to DOTS Mesh & Animation Baker closes that gap. It bakes a UMA avatar, humanoid or not, into a combined mesh, a texture atlas and a Vertex Animation Texture (VAT). Every character you spawn from that bake is a regular entity, rendered by Entities Graphics.WHY UMA IN DOTS• Thousands of characters, a few draw calls. All units of one bake share a mesh, a VAT and a material, so they batch together.• Animation runs on the GPU. There are no Animator components and no skinned meshes, so a large crowd costs very little CPU time.• Variety without extra draw calls. Outfits and colour schemes are slices of a texture array, and every unit can wear a different one.• Fits DOTS and non-DOTS projects. Spawn into your own Entities world and move units with your own systems, or let the package run its own world and simply give it positions.HOW IT WORKS1. Bake. In the Bake Window, pick a UMA race and outfit, pick animation clips and press Bake. Humanoid clips retarget automatically; other rigs bind by bone path.2. Dress. Save more outfits and colour schemes as skins of the same bake. No re-bake needed.3. Spawn. Place a Crowd Spawn Authoring component in the Inspector, or call the C# API. Each unit gets its own position, clip, playback speed, time offset, colour tint and skin.WHAT'S INCLUDED• Bake Window for UMA avatars, with automatic humanoid retargeting.• Skins: add, rename or remove outfits without re-baking.• Animation sets: extra groups of clips for an existing character, stored as separate files that load only when a crowd needs them.• Shadow proxies: an optional lower-poly copy of the mesh for the shadow pass.• Crowd Spawn Authoring: build a crowd in the Inspector without writing code.• C# API (CrowdWorld, CrowdSpawner, BakedMeshCatalog) with XML documentation.• Catalog Manager: browse every bake with its memory footprint, preview its clips, validate it, re-bake stale files and clean up safely. Validation is also available as an API for CI.• Crowd Walking Example: a ready-to-play scene with a pre-baked UMA elf in several outfits. It runs without UMA installed.• Editor and play-mode tests, and full documentation.In the sample, 2,000 animated characters render in about 4 draw calls.REQUIREMENTSRequired, installed automatically with the package:• Unity 6000.0 or newer• Universal Render Pipeline (URP) 17 or newer• Entities 1.4.7+ and Entities Graphics 1.4.20+ (these also add Burst, Collections and Mathematics)Required to bake your own characters, not included:• UMA 2.13+ or UMA 3.x: free, MIT licence, available on the Asset Store and GitHub. Rendering characters that are already baked, including the sample, does not need UMA.Optional:• Addressables (free, Unity registry): only needed to stream animation sets on demand.• Input System (free, Unity registry): used by the sample scene's camera controls. Unity 6 project templates already include it.COMPATIBILITY AND LIMITATIONS• URP only. The Built-in Render Pipeline and HDRP are not supported.• Targets standalone and mobile platforms. WebGPU works but is experimental (workarounds are in the documentation). WebGL2 is not supported: BatchRendererGroup needs compute features that WebGL2 does not have.• The package renders characters; it does not simulate them. Movement, AI and collision come from your own code (a simple wander system is included for testing).• Each bake is one fixed character. Blend shapes and UMA DNA changes are not baked, so a different body shape needs another bake.• An outfit can be a skin only if it keeps the base body mesh. A garment that changes the silhouette needs its own bake, or can be projected flat onto the body as a texture.• One material per bake: eyes and mouth are merged into the main texture atlas.• Animations play in place and switch instantly; there is no cross-fade between clips.THIRD-PARTY NOTICESThis asset uses UnityMeshSimplifier by Mattias Edlund under the MIT License (editor only, never included in builds). The sample includes a mesh and textures baked from UMA content by the UMA Steering Group under the MIT License. See Third Party Notices.md in the package for details.Editor bake pipeline: UMA recipe → combined mesh (merged submeshes, stable vertex ids) + atlas material + Vertex Animation Texture + clip table → BakedMesh + VAT + TextureArray.GPU animation: VAT sampled in the vertex shader; zero Animators, zero runtime skinning.Rendering: DOTS / BatchRendererGroup, ~1 draw call per (bake, material) batch.Skins: per-bake Texture2DArray, named slices, runtime SetSkin by name; no re-bake to edit.Animation sets: standalone load-on-demand VAT + material variants; optional Addressables streaming.Spawn API: isolated Entities world (CrowdWorld / CrowdSpawner) — usable from non-DOTS projects; per-instance clip, speed, time offset, RGBA tint.Inspector authoring: CrowdSpawnAuthoring + optional DOTS wander system.VAT format: .bakedvat, Deflate-compressed RGBAHalf (~8 MB for 16k verts × 50 frames).Shadow proxies: optional decimated shadow-pass mesh.Tests: editor + play-mode suite, including a native-leak regression across create → spawn → dispose.Sample: Crowd Walking Example — 2,000 units, ~4 draw calls, runs with no UMA install.AI coding assistance was used as a development aid during the creation of this package. Specifically:Code authoring and refactoring — writing, reviewing and refactoring the C# source (editor windows, the Texture2DArray build pipeline, runtime slice components and shaders), always under my direction and with my review before inclusion.Documentation and store copy — drafting and editing the README, CHANGELOG, inline XML documentation, and this store listing text.Validation and testing — assisting with edge-case checks and reviewing the build/validation logic.All AI-assisted output was reviewed, tested and edited by me, and I take full responsibility for the final package. No AI-generated art, audio, textures, or other media assets are included — the sample's textures are solid colors generated procedurally in code. No third-party content was incorporated, and no proprietary or copyrighted material was used to produce any part of this package.


