Motion

Motion is a 3D action/adventure prototype built entirely on Unity's Entities (DOTS) framework, full ECS rather than a hybrid GameObject-driven project. It's built around a custom action-framework I designed from scratch, where every character behavior (movement, dodging, ledge climbing, combat abilities, hit reactions) is an independently-authored action that gets automatically wired up to any actor in the scene, with no manual setup required. That same framework drives both the player and the enemy AI, so player input and enemy decision-making are just two producers feeding one shared behavior pipeline. On top of that foundation sits third-person melee/ranged combat with animation-driven hit timing and motion warping, traversal (ledge climbing, ladders, step-up movement), a fully simulated vehicle system with real suspension and tire-friction physics, and early building/base mechanics. I started this project to learn DOTS/ECS properly, and it turned into a genuine framework I can keep building future prototypes on top of.

Feature Breakdown

Core Architecture

  • A reflection-driven action-dispatch framework: new gameplay actions are self-contained plugin classes that get auto-discovered and wired up at boot, no central registration needed
  • A priority-arbitrated state pipeline that decides what action an actor is running independently from what direction it's facing, so orientation never fights with behavior
  • A hand-written binary command bus for decoupled messaging between systems

Combat & Animation

  • Animation-event-driven combat: hitbox timing, combo windows, and impact effects are all triggered directly by events authored into the animation clips themselves
  • Motion warping and two-bone IK hand targeting built from scratch, so attacks glide the character to the right position relative to a target before the hit lands
  • Data-driven abilities: designer-authored ability assets are baked into runtime data, with best-ability selection scored against combo state, range, and whether the actor is grounded or airborne

Movement & Physics

  • A hand-rolled kinematic character controller built directly on Unity's low-level physics primitives, a deliberate build-vs-buy choice over Unity's own off-the-shelf controller package
  • A fully simulated vehicle system: torque/RPM/gear-ratio engine model, per-wheel suspension, and a genuine tire-friction model with a stick/slide transition, integrated with the same action framework for driver possession
  • Weighted, momentum-driven locomotion that responds differently to sharp turns and direction reversals instead of feeling instantly responsive

AI

  • A hierarchical job/intent/task AI architecture for enemies, with pathfinding bridged into ECS via a custom grid system that reads the live physics world
  • AI has no separate movement or attack code of its own. It decides intent, then calls the exact same action-request entry points that player input uses

Tooling & Data

  • Floating combat damage numbers rendered as individual entities rather than UI text, for a fully ECS-native presentation pipeline
  • Procedurally generated terrain converted to physics collision at runtime via a custom conversion pipeline
  • In-editor debug overlays for live inspection of action/movement/interaction state as the game runs