Agent Skills: Unity Physics Skill

Unity Physics skill for collision detection, rigidbody dynamics, raycasting, and physics configuration.

UncategorizedID: a5c-ai/babysitter/unity-physics

Install this agent skill to your local

pnpm dlx add-skill https://github.com/a5c-ai/babysitter/tree/HEAD/plugins/babysitter/skills/babysit/process/specializations/game-development/skills/unity-physics

Skill Files

Browse the full folder contents for unity-physics.

Download Skill

Loading file tree…

plugins/babysitter/skills/babysit/process/specializations/game-development/skills/unity-physics/SKILL.md

Skill Metadata

Name
unity-physics
Description
Unity Physics skill for collision detection, rigidbody dynamics, raycasting, and physics configuration.

Unity Physics Skill

Physics system configuration and implementation in Unity.

Overview

This skill provides capabilities for implementing physics-based gameplay using Unity's physics systems (PhysX 3D and Box2D 2D).

Capabilities

Rigidbody Configuration

  • Configure mass, drag, constraints
  • Set up continuous collision detection
  • Handle interpolation modes
  • Manage sleep thresholds

Collision Detection

  • Configure colliders and triggers
  • Set up collision layers and masks
  • Handle collision events
  • Implement compound colliders

Raycasting

  • Perform raycasts and spherecasts
  • Use overlap tests
  • Handle layer filtering
  • Batch physics queries

Physics Settings

  • Configure fixed timestep
  • Set up solver iterations
  • Handle physics materials
  • Manage auto-sync transforms

Prerequisites

  • Unity 2021.3+
  • Physics module (built-in)

Usage Patterns

Rigidbody Setup

public class PhysicsObject : MonoBehaviour
{
    private Rigidbody rb;

    void Awake()
    {
        rb = GetComponent<Rigidbody>();
        rb.interpolation = RigidbodyInterpolation.Interpolate;
        rb.collisionDetectionMode = CollisionDetectionMode.Continuous;
    }

    void FixedUpdate()
    {
        rb.AddForce(Vector3.forward * 10f, ForceMode.Force);
    }
}

Raycasting

public bool CheckGround(out RaycastHit hit)
{
    return Physics.Raycast(
        transform.position,
        Vector3.down,
        out hit,
        1.1f,
        groundLayer,
        QueryTriggerInteraction.Ignore
    );
}

Best Practices

  1. Use FixedUpdate for physics
  2. Avoid scaling colliders at runtime
  3. Use layers for filtering
  4. Profile physics queries
  5. Consider Physics.autoSyncTransforms

References