A clean, modular FPS Movement System using FSM architecture. Easy to extend. Includes crouch sliding, dodge, moving platforms, physics-based interactions, Input System integration, and much more.The Advanced First Person Movement System is a robust and scalable character controller designed to be the perfect foundation for your next project. Whether you are building a fast-paced shooter, a horror game, or an immersive walking simulator, this asset provides a fluid movement experience out of the box, drop in the Player prefab and play, inputs come pre-assigned.Built entirely on a Finite State Machine (FSM) architecture, this system is designed for programmers and designers who value clean code and maintainability. It decouples logic into separate states (Idle, Walk, Sprint, Crouch, Slide, Fall, etc.), making it incredibly easy to debug and extend with new mechanics like Wall Running or Grappling.Key Features:Fluid Movement: Complete implementation of Idle, Walk, Sprint, Crouch, Slide, Dodge, Jump, Fall and Slope Slide states, with framerate-independent smoothing, the same feel at 30, 60 or 240 FPS.Crouch Slide: Sprint into a crouch for a momentum-preserving slide that accelerates downhill, chains into slide-jumps, and triggers on fast landings.Precision Platforming: Includes Coyote Time and Jump Buffering to ensure responsive and fair jumping mechanics, plus crouch-jumping with automatic headroom checks.Solid Ground Handling: Sphere-cast ground detection (no grounding flicker on slopes, stairs or ledges), slope-projected movement, downhill ground snapping, and automatic sliding on surfaces too steep to walk on.Moving Platforms: A waypoint-driven platform component (PingPong / Loop / Once, easing, path gizmos). The player rides any moving surface, even rotating ones, and inherits its momentum when jumping off.Procedural Camera Effects: Integrated with Cinemachine to provide "Game Juice" features like Head Bob, Dutch Tilt, and Dynamic FOV Kicks based on speed. Cinemachine is optional, the controller works without it.Physics Interaction: Built-in system to interact with and push dynamic Rigidbody objects based on mass.Events API: StateChanged and Landed events plus a public CurrentState, so footsteps, animation, audio and fall damage hook in without touching the asset's code.New Input System: Fully integrated with Unity's com.unity.inputsystem, toggle or hold crouch, and a double-tap dodge that works on keyboard and analog sticks.Is it Customizable? Yes. The system is highly modular:For Designers: Tweak every value in the Inspector, movement speeds, jump forces, slide friction, smoothing times, head bob amplitude, and gravity settings. Every field has a tooltip explaining what it does.For Programmers: The FSM architecture allows you to add new states easily. The included documentation provides a step-by-step guide on how to create and register new logic without breaking existing code, plus a full architecture overview of the ground sensing, slope and platform systems.Support: If you have questions or feedback, please contact: studios.aze.contato@gmail.comArchitecture: Finite State Machine (FSM) for modular and scalable code, with states that describe motion through intents applied by a central controller.Movement States: Idle, Walk, Sprint, Crouch, Slide, Dodge, Jump, Fall, and Slope Slide.Jump Mechanics: Coyote Time, Jump Buffering, air control blend, and crouch-jumping with headroom check.Ground Detection: Sphere-cast ground probe (replaces CharacterController.isGrounded), slope-projected movement, downhill ground snapping, and steep-slope sliding.Moving Platforms: Waypoint-driven platform component; the player is carried by any moving surface (translation and rotation) and inherits its momentum.Camera System: Integrated with Cinemachine 3.x for procedural effects (Head Bob, Dutch Tilt, FOV Kick). Optional, automatically excluded from compilation when Cinemachine is not installed.Physics: Custom gravity handling and Rigidbody push interaction based on object mass.Events: StateChanged and Landed events for connecting audio, animation and gameplay systems.Input: Unity Input System with toggle/hold crouch and double-tap dodge; Player prefab ships with actions pre-assigned.Customization: Every Inspector field has a tooltip; framerate-independent smoothing throughout.Code: Clean C# scripts with clear state separation, under a single namespace and assembly definition (auto-referenced).Includes: Player prefab, demo scene, Input Actions asset, and full documentation with architecture overview and 1.0 migration guide.Compatibility: Unity 6000.0+ (Unity 6).Supported Inputs:PC (Keyboard & Mouse)GamepadsPackage Dependencies:Input System (com.unity.inputsystem): requiredCinemachine 3.x (com.unity.cinemachine): optional, camera effects onlyCode assist.




