PERCH
Creature Landing, Perching & Dynamic Flight Coordination for Unity
Verified runtime capture: Continuous 32-second Windows player execution featuring original Garden Finch and Willow Wren skinned models, real-time procedural wing fold hold, and dynamic takeoff cycles.
Stop Fighting Clunky Raycasts and Floaty Snaps
Building believable avian or aerial creature AI in Unity usually hits an infuriating wall:
- The Teleport Snap: Creatures fly near a perch, pause unnaturally, and snap their roots into position—ruining immersion.
- The Multi-Agent Cluster: Multiple birds choose the exact same branch, clip through each other’s wings, or fight for the same physical slot.
- Rig Rigidity: Built-in Unity IK (
OnAnimatorIK) is locked to Humanoid avatars, leaving Generic bird rigs and custom quadrupeds completely stranded. - Moving Platforms Break Everything: The moment a branch sways in the wind or a ship rolls on the water, standard landing logic decouples or shoots the agent into deep space.
- Silent Failures: When a landing aborts, the console is dead silent—leaving programmers guessing whether it was a collision sweep, timing desync, or distance failure.
PERCH solves this with an unshakeable, production-hardened engineering architecture.
What is PERCH?
PERCH is a high-performance creature landing, perching, and dynamic flight coordination framework built specifically for Unity 6 LTS. It replaces brittle scripts with an atomic, reservation-driven pipeline that governs how flying creatures identify perches, reserve exclusive space, execute aerodynamically convincing deceleration and flares, touch down with sub-millimeter foot placement, dwell naturally, and depart without collision.

Core Value Pillars
+-----------------------------------------------------------------------------------+
| PERCH ARCHITECTURE |
+-----------------------------------------------------------------------------------+
| [ AUTHORING ] PerchSpot / PerchSlot | Line & Patch Layouts | Studio Scanner |
| [ COORDINATION ] 3D Spatial Hash (O(1)) | Atomic LeaseManager | Exclusion Volumes|
| [ TRAJECTORY ] Arc-Length Hermite Splines | ForwardGlide & HoverDescent Modes |
| [ CONTACT ] Generic Rig Two-Bone IK | Planted Stance Holds | Surface Normal |
| [ DYNAMICS ] Relative Moving Platform Sampling | Velocity Handover Contract |
| [ RUNTIME ] Zero Managed GC Allocations | Preallocated Struct Buffers |
+-----------------------------------------------------------------------------------+
1. Atomic Lease Management & Spatial Reservations
No two creatures will ever clip or fight for the same perch. PERCH’s LeaseManager executes main-thread atomic claims backed by a 3D spatial hash grid (SpatialHash3D). Reservation tokens, monotonic request IDs, heartbeat TTLs, and dynamic creature footprint radii guarantee conflict-free flock behavior even during high-contention panic waves.
2. Arc-Length LUT Hermite Splines
Unlike naive interpolation that causes sudden speed spikes near tight curves, PERCH parameterizes approach curves using a 32-sample arc-length look-up table (LUT). Creatures decelerate along physical braking limits, flare their wings with realistic drag, and align their approach vectors with the perch normal.
3. Generic Rig Two-Bone IK Solver
Unity’s native OnAnimatorIK does not support Generic rigs. PERCH includes an analytical, high-efficiency two-bone IK solver (PerchTwoBoneIkSolver) specifically calibrated for bird legs, talons, and landing gear—guaranteeing feet firmly lock to uneven branches without slipping.
4. Moving Perch Kinematic Compensation
Whether your perches are stationary tree branches, swinging ropes, rocking boat railings, or moving vehicle landing pads, PerchSpot continuously samples target linear and angular velocities. Approach curves dynamically adapt relative to the target’s frame of reference, and departures seamlessly inherit platform momentum.
5. Master PERCH Studio Hub
An all-in-one developer environment (Window > PERCH > PERCH Studio / Ctrl+Alt+P) featuring live 10Hz telemetry, 1-click creature and slot authoring wizards, automated surface geometry raycast scanners, and non-destructive edit-mode trajectory rehearsal scrubbers.
6. Zero Managed GC Allocations
Designed for mission-critical production frame rates. All physics query buffers (RaycastHit[], Collider[]), event flushes, and command queues use fixed-size preallocated struct circular buffers. The steady-state simulation tick produces 0 B managed heap allocations.
Visual Demonstration
PERCH ships with fully configured, stylized Garden Finch and Willow Wren skinned models featuring 5 distinct motion clips (Flight, Glide, Landing/Fold, Perched Idle, Takeoff) alongside full URP shaders and interactive camera inspection tools.
| Complete Flight-to-Perch Cycle | Procedural Rig & Anchor Setup |
|---|---|
![]() | ![]() |
| Smooth deceleration, flare, touchdown, and wing folding | Calibrated contact anchors, visual wrappers, and bone heuristics |
Quick Navigation
Getting Started
Understand the core architecture, the 7-phase state machine, and fundamental system concepts.
Installation & Requirements
Import requirements, Unity Asset Store procurement details, and URP/UGUI pipeline configuration.
Quick Start (5 Mins)
Step-by-step walkthrough: loading the sample scene, placing your first bird, and landing on an authored rail.
Core Features
Deep-dive technical guides on slot authoring, reservations, Hermite splines, moving platforms, and Studio.
Diagnostics & Error Codes
Complete dictionary of all 24 failure codes, runtime Landing Debugger, and geometry candidate scanner.
System Architecture
Assembly isolation, single-writer motor ownership invariants, and zero-allocation runtime design.
[!NOTE] Commercial Asset Notice: PERCH is a proprietary commercial package distributed exclusively via the Unity Asset Store. It is not available as free open-source software on Git. All source code in the commercial distribution is fully editable and dependency-free.

