assembly-definitions
Assembly definition management — when to create asmdefs, reference rules, Editor/Runtime/Test separation, platform filters, compilation speed optimization.
Unity animation system — Animator controllers, layers, blend trees, state machine behaviors, root motion, animation events, Timeline.
$ npx -y skills add XeldarAlz/everything-claude-unity --skill animation --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/animationContext preview
The summary Claude sees to decide when to auto-load this skill.
Unity animation system — Animator controllers, layers, blend trees, state machine behaviors, root motion, animation events, Timeline.
name: animation description: "Unity animation system — Animator controllers, layers, blend trees, state machine behaviors, root motion, animation events, Timeline." globs: ["**/*.controller", "**/*Anim*.cs", "**/*.anim"]
// Cache hash IDs — NEVER use string version in Update
private static readonly int SpeedHash = Animator.StringToHash("Speed");
private static readonly int JumpHash = Animator.StringToHash("Jump");
private static readonly int IsGroundedHash = Animator.StringToHash("IsGrounded");
private static readonly int AttackHash = Animator.StringToHash("Attack");
private void Update()
{
_animator.SetFloat(SpeedHash, _currentSpeed);
_animator.SetBool(IsGroundedHash, _isGrounded);
}
// Triggers: fire once, auto-reset
public void Attack() => _animator.SetTrigger(AttackHash);**1D:** Speed parameter → walk/run blend **2D Simple Directional:** X/Y input → directional movement (forward, back, strafe) **2D Freeform:** more flexible placement of motion clips
public sealed class AttackStateBehavior : StateMachineBehaviour
{
public override void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
{
// Enable hitbox
animator.GetComponent<CombatSystem>().EnableHitbox();
}
public override void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
{
// Disable hitbox
animator.GetComponent<CombatSystem>().DisableHitbox();
}
}private void OnAnimatorMove()
{
// Use animation's root motion for position
Vector3 deltaPosition = _animator.deltaPosition;
transform.position += deltaPosition;
// Use animation's rotation
transform.rotation *= _animator.deltaRotation;
}Call methods from specific frames in animation clips:
// Called from animation event on frame 12
public void OnFootstep()
{
_audioSource.PlayOneShot(_footstepClip);
}
public void OnAttackHit()
{
// Check hitbox collisions at this exact frame
}private void OnAnimatorIK(int layerIndex)
{
if (_lookTarget != null)
{
_animator.SetLookAtWeight(1f, 0.3f, 0.6f, 1f);
_animator.SetLookAtPosition(_lookTarget.position);
}
// Foot IK for uneven terrain
_animator.SetIKPositionWeight(AvatarIKGoal.LeftFoot, 1f);
_animator.SetIKPosition(AvatarIKGoal.LeftFoot, _leftFootTarget);
}The ultimate Claude Code toolkit for Unity game development. A production-ready, plug-and-play system that gives Claude Code deep Unity expertise — from writing performant C# to building scenes, profiling performance, and triggering iOS/Android builds — all
Assembly definition management — when to create asmdefs, reference rules, Editor/Runtime/Test separation, platform filters, compilation speed optimization.
Structured commit trailers — adds Constraint, Rejected, Scope-risk, and Not-tested metadata to commit messages. Captures architectural decisions and known gaps…
Ambiguity gating — detects vague feature requests and forces structured requirements gathering with scoring across scope, platform, performance, integration,…
Event system patterns — C# events, UnityEvent, SO event channels, static EventBus. When to use each, zero-allocation patterns, memory leak prevention.
Configures Claude Code's statusline to display Unity workflow state — current phase, active agent, files modified, and session duration.
Post-debugging knowledge extraction — captures non-obvious, codebase-specific learnings that pass quality gates. Invoke after resolving tricky bugs or…