MFPC is a modular, production-ready first person controller, built for flexibility, clean integration, and Cinemachine workflows — without forcing animation systems, UI, or rigid architecture.MFPC supports Built-in, URP, and HDRP render pipelines.The controller logic is fully render-pipeline agnostic.Required packageCinemachineOptional packageInput System, only if you want to use the New Input System controllerIf you are using the Legacy Input System only, you can remove the New Input System scripts/folder. See the documentation for setup details and compatibility notes.MFPC – Modular First Person ControllerMFPC is a clean, extensible first person character controller designed for developers who want full control — not a rigid framework.It provides a production-ready foundation for FPS, immersive sims, walking simulators, and narrative experiences — with a strong focus on clean architecture and modular design.Controller-first, not demo-first.Take a look at the WebGL demo, documentation, roadmap, youtube tutorials and join the discord server!Movement & Player StateWalk, Sprint, Crouch, Jump, Aim, LeanHold or Toggle modes (configurable)Forward-only sprint restrictionCollision-safe auto-uncrouchOptional auto-unsprint when stopping movement (toggle mode)Optional advanced slope handlingOptional steep slope slidingPhysics interactions with environment.Movement is predictable, tweakable, and free from hidden behavior.Input SystemsLegacy Input System controllerNew Input System controllerMouse + keyboard supportGamepad support (tested with multiple controllers)Sensitivity parity between input systemsFrame-rate independent mouse smoothing (New Input System)Swap input systems without rewriting gameplay logic.Camera System (Cinemachine-based)MFPC is built around Cinemachine, not custom camera math.Virtual Camera setup for: idle, walk, sprint, crouch, aimFOV kick on sprint (via Virtual Camera swap)Headbob via Cinemachine Noise (no custom scripts)Custom camera blends for smooth transitionsLean-based camera roll (Dutch)Camera tilt feedback on slopesSeparate aim camera variantsClean integration with camera stacksOptional module:Disable headbob/noise globally (no need to edit cameras manually)You control the camera behavior visually — no black-box logic.Animation & Events (Optional Modules)MFPC does not require an Animator — but integrates seamlessly with one.AnimatorBridge:Syncs Animator parameters from controller state and velocitySupports movement speed, grounded, crouch, sprint, aimIncludes jump/fall detection and vertical velocityWorks with both input system controllersOptional auto-detection and LateUpdate syncingPerfect for driving blend trees and layered animation setups without modifying the controller.EventObserver:UnityEvent-based state transitions — Jump (leave ground), Land, Sprint / Crouch / Aim / Move / LeanInspector-friendly — no custom scripting requiredIdeal for audio, VFX, UI, or gameplay hooksThese modules keep MFPC lightweight while enabling full production integration.Optional Stamina SystemSprint drain and regenerationJump stamina costExhaustion and recovery behaviorFully optional — no UI or HUD requiredIncludes a demo stamina UI example, which can be completely removed without affecting MFPC.Audio SystemSurface-based footsteps and landing soundsTerrain and object supportWater surface handlingAudio pooling (no runtime instantiation spikes)Easy to extend with ScriptableObjectsNo hardcoded layers. No forced setup.Architecture & Design PhilosophyMFPC is intentionally not an all-in-one solution.No forced Animator ControllerNo stamina system assumptionsNo UI or HUD dependenciesNo required layers or tagsNo multiplayer logic baked inZero GC allocations in UpdateInstead, MFPC gives you:Clean state logic (by exposing variables)Clear extension pointsOptional systems via future modulesBuild exactly what you need — nothing more.Unity Versions:Unity 2021.3 LTS and newer (recommended)Unity 6.0+Render Pipelines:Built-inURPHDRPDependencies:Cinemachine (Unity package)New Input System (only for New Input System controller)Platforms Tested:PC (mouse & keyboard)Gamepad controllers (Nintendo and Xbox controllers)Code Quality:Well-commentedInspector-friendlyModular and readableNo runtime allocations in Update (GC-free during gameplay)Package Size• Full package (with demo content): ~90 MB• Core controller only (no demo assets): ~6.5 MBDemo assets (such as textures, scene, materials, etc.) are fully optional and can be removed without affecting functionality.




