Rukhanka is a GPU and CPU ECS Animation System that uses standard Unity animation editing tools (i.e. 'Mecanim') as authoring workflow.-----------------------IMPORTANT-----------------------Rukhanka depends on the 'Entities' package. It prepares animation data for rendering with the 'Entities Graphics' package. These two packages are required for the functioning of Rukhanka.| Documentation | Discord | EMail Support |Rukhanka is an ECS animation system that mimics the standard 'Mecanim' animation system of Unity. Use familiar tools for authoring animations and animation state machines without any difference from the 'Monobehaviour' world. During the baking phase, it converts all required Animator, Animation, Skinned Mesh Renderer, and Avatar Mask data into its internal structures. All converted data is 'Burst' compatible and processed in a parallel and very performant way.An innovative GPU animation engine is implemented using GPU compute shaders and can run on any platform that supports Vulkan/Metal/D3D11+ APIs. It produces exactly the same animation results as the CPU engine. The animation engine can be preconfigured or switched per entity at run time.Rukhanka has the following main features:GPU and CPU animation engines, that can be switched at run timeUnity Animator Controller conversion and processingGeneric and Humanoid animations and avatarsAnimation data preparation for Entities Graphics skinned meshesBone visualization systemExtended logging and validation layerArbitrary (non-skinned meshes) object hierarchy animationAvatar masksRoot motionAll 2D blend tree types support (Direct, 1D, 2D Simple Directional, 2D Freeform Directional, 2D Freeform Cartesian)Client-server animations synchronization with 'Unity Netcode for Entites' packageWorks with Unity.PhysicsAnimation and animator controller eventsInverse KinematicsBlend shapesFull source codeThe package contains samples for HDRP and URP.Rukhanka has limitations:Legacy animations are not supported.Although Rukhanka implements all core animation functionality it is not 100% equivalent to Unity 'Mecanim'. For a full feature support matrix please refer to documentation.CPU and GPU animation engines have different feature support. All different details described in documentation.Dependencies:Unity 2022.3 or Unity 6Entities 1.0.16Performance:100% Burst compatible. All core systems are ISystem based.Animations processed on per-bone basis, not per-object. This allows fully utilize all available processor cores in high-bone and low-bone skinned meshes.