Keep your Controller.
Use parameters, transitions, Blend Trees and supported layer features. Preview conversion diagnostics before building your character data.
ECSANIMATOR / SKELETAL CROWD ANIMATION
Bring your AnimatorController workflow to animated crowds. Convert characters offline, evaluate animation with Burst jobs, and render with GPU skinning through Unity Entities Graphics.
Asset Store release in preparation · Preview 0.1.0 · Updated October 7, 2026
THE WORKFLOW
Prepare reusable character data once, then connect animation to your game's ECS logic.
Use parameters, transitions, Blend Trees and supported layer features. Preview conversion diagnostics before building your character data.
Build a single _EntityDesc.asset with compiled animation, derived meshes and materials. Load this descriptor and its dependencies directly.
Prepare once, spawn ECS characters and drive exact Controller parameter names, layer names and exported state paths. Burst jobs and GPU skinning handle animation.
IN UNITY
Real Unity Editor demonstrations. The crowd video uses the updated October 4 sample animations; the battle video is retained from September 29. The new October 7 video demonstrates height-driven crossbow IK.
30 SECONDS / BATTLE
A wide battle view followed by a closer look at swordsmen and crossbowmen moving, attacking and reacting. Movement and combat are example gameplay systems. Recorded September 29 in Unity 2022.3.62f1; this is an earlier gameplay demonstration.
Download battle video24 SECONDS / UPDATED CROWD
Updated four-second breathing Idle and revised sword stance, followed by Death Trigger and return to Idle. Recorded October 4 in Unity 2022.3.1f1 / Direct3D 11. The scene contains 2,500 characters; close-up views show part of the formation.
Download crowd video20 SECONDS / TWO-BONE IK
The red character continuously plays the new chest-level Aim Idle while two arm chains and foregrip following adjust vertical aim. Target height drives up/down pitch; body heading, waist and legs keep their animation. A red target marker shows level, low and high aim; the final stages show clamping and IK disabled. Recorded October 7 in Unity 2022.3.62f1 / Direct3D 11 using the custom LocalResolve pose-processing callback. Unity Animator IK callbacks are not imported.
Download IK video · Explore IK supportSilent videos with English on-screen captions. Recorded at 1920 × 1080 with a fixed 30 FPS capture timestep. Recording frame rate and promotional artwork are not performance benchmarks or capacity guarantees.
QUICK START
These instructions describe the current preview package. Begin with the supplied character before converting your own.
For the Asset Store release, use Window > Package Manager > My Assets > Download > Import. For a supplied .unitypackage, use Assets > Import Package > Custom Package. Keep all files selected and wait for dependency resolution and compilation. Add package from tarball applies only to a separate UPM .tgz distribution.
Select ECSAnimator in Package Manager, open Samples and import Quick Start. The sample includes a character and prebuilt animation data.
Use URP with the SRP Batcher enabled and BatchRendererGroup variants retained. Add a Light and one active Game Camera tagged MainCamera, using the first display and no Target Texture or stereo/XR.
Open Tools > ECSAnimator > Settings. Create the global settings resource before entering Play mode. Keep motion vectors enabled when your camera effects require them.
Drag NewcomerQuickStart.prefab into the scene and press Play. With Legacy Input Manager or Both enabled, use WASD to move, 1/2/3 for Attack/Hit/Death, and Delete to destroy the character. Input System-only projects can still spawn and play Idle.
Start with a saved Prefab, a simple Idle/Run Controller with a float Speed parameter, and an ECSAnimator/Lit material. Open Tools > ECSAnimator > Convert Character, review diagnostics, then Build. Assign the generated _EntityDesc.asset to SimpleCharacterExample and use the exact Float parameter name Speed.
Updating an existing project? Load CharacterRuntimeAsset directly and retain its CharacterPreparedAsset handle. Older character Template and external Payload loading APIs have been removed. Rebuild older external-data outputs from source, and preserve local edits before refreshing imported samples. Read the migration notes.
Read the complete English user manual for conversion, animation control, equipment, LOD, custom Shaders and the API reference. The same documentation is included in the package's Documentation~ folder. Follow the sample instructions for setup and cleanup.
BEFORE YOU INTEGRATE
ECSAnimator converts supported skeletal animation. Root Motion, Unity IK Pass / Foot IK and StateMachineBehaviour callbacks are omitted with diagnostics. LocalResolve constraints and the optional preview business pose processor are separate ECS APIs; the October 7 review build includes crossbow Demo14. No automatic terrain adaptation is supplied. BlendShapes, non-skeletal animation curves and runtime PlayableGraphs are outside the supported scope. Your gameplay systems own movement and behavior.
The October 7 review build exposes an optional Burst pose post-processor. A static business function can compose IK, aim or other bone algorithms after Animator blending and before skinning and sockets. Enable Require Pose Processing during conversion and check prepared.SupportsPoseProcessing; characters without IK need no processor. The callback owns its character's temporary pose and unmanaged data, follows animation LOD, and cannot run managed logic or depend on another character's current-frame pose. Algorithm and dispatch costs still require profiling.
Start with Unity 2022.3, URP 14 and Windows Direct3D 11, the environment used for the demonstrations. Built-in and HDRP paths are not supplied. Do not infer mobile, Unity 6, WebGL or XR qualification from these recordings. Other target devices require their own validation.
For first use, create a material with Assets > Create > ECSAnimator > Lit Material. Ordinary URP/Lit materials are not automatically converted. External HLSL and Shader Graph integration are preview workflows that need separate integration and target testing; they are not a promise of arbitrary shader compatibility.
The product handles character animation and rendering integration. AI, navigation, collision, combat rules and locomotion remain game-owned. The battle video shows an integration example, not a complete RTS framework.
The Idle and Trigger demo scene contains 2,500 characters. Close-up camera views show only part of the formation. Performance depends on hardware, meshes, materials, animation complexity, LOD and your game systems. These demonstrations do not guarantee a frame rate or maximum character count.
The Asset Store release is being prepared. For availability or technical questions, contact d3luning@gmail.com. For a bug report, include the package and Unity versions, render pipeline, platform / graphics API, reproduction steps and relevant errors. Remove secrets and unrelated personal information from logs.
MASTERNIN / INDEPENDENT UNITY DEVELOPMENT
MasterNin develops ECSAnimator for Unity developers working with skeletal characters and crowds. This is the home for product information, demonstrations and integration help.
Send an integration question or a reproducible bug report.
Email supportd3luning@gmail.com