Skip to main content

Frequently Asked Questions (FAQ)

Skinned mesh is corrupted after proper setup​

First check the rig setup: the Avatar must contain the expected skeleton, Optimize Game Objects must be disabled, and the skinned mesh must use a Rukhanka Animation deformation shader. Check the Console for baking or shader errors.

If the importer data appears stale, use Reimport on the model, repeat the required Avatar setup, and rebake the affected SubScene. Keep the model's .meta file: deleting it changes the asset GUID and can break references from scenes, prefabs, controllers, and materials. Back up importer settings before making changes.

Bone attachment visuals are looking corrupted​

Ordinary CPU bone attachments use regular mesh materials. Do not apply the skinned mesh deformation node to an ordinary attachment: it has no skinned mesh deformation data. GPU attachments use a separate GPU attachment shader, together with GPUAttachmentAuthoring.

GPU bone attachments disappear after assigning a special GPU attachment shader to it.​

Add GPUAttachmentAuthoring to the attachment's authoring GameObject so Rukhanka Animation can supply the shader with rig data. A GPU attachment shader without this component can place the mesh incorrectly or make it disappear. See Bone Attachments.

A feature works with the CPU Animator but not the GPU Animator​

Check the Animation Engines support table. GPU bone poses are not available to same-frame CPU gameplay systems. IK, procedural pose modification, root motion, user curves, animated blend shapes, and bone transform writeback require the CPU Animator. GPU attachments are a visual shader solution and do not move physics bodies.

Animation stops when the character leaves the camera view​

Check the rig's culling mode and the cameras and lights in AnimationCullingConfig. Use Always Animate if offscreen bone transforms are needed for gameplay. See Animation Frustum Culling and Bounding Box Recalculation.

Parameters change but the controller does not react​

Confirm that the parameter name and type match the baked controller, and update parameters in the correct ECS world before the controller runs. Check transition conditions and whether AnimatorControllerLayerComponent is enabled. Use Animator State Query to inspect the current state and transition, and Debug and Validation mode to make names visible.