MFPC - Modular First Person Controller
MFPC – Modular First Person Controller
MFPC – Modular First Person Controller
MFPC 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.
Discord server link: FaberBrizio Assets
Unity Asset Store link: MFPC -Modular First Person Controller
Documentation: MFPC - Documentation
Roadmap: Notion roadmap link
Demo Inputs (customizable in Unity editor):
- PC:
- movement: wasd or arrows
- camera rotation: mouse
- aim: mouse right (hold)
- sprint: shift (for this demo it's toggle mode - hold mode can be selected in Unity editor)
- crouch: ctrl (for this demo it's toggle mode - hold mode can be selected in Unity editor)
- jump: space
- Gamepad:
- movement: left stick
- camera rotation: right stick
- aim: LT
- sprint: left stick press
- crouch: B (Xbox controller), A (Nintendo controller)
- jump: A (Xbox controller), B (Nintendo controller)
- movement: left stick
Click on key "1" to camera sensitivity slider.
Movement & Player State
- Walk, Sprint, Crouch, Jump, Aim, Lean
- Hold or Toggle modes (configurable)
- Forward-only sprint restriction
- Collision-safe auto-uncrouch
- Optional auto-unsprint when stopping movement (toggle mode)
- Optional advanced slope handling
- Physics interactions with environment.
Movement is predictable, tweakable, and free from hidden behavior.
Input Systems
- Legacy Input System controller
- New Input System controller
- Mouse + keyboard support
- Gamepad support (tested with multiple controllers)
- Sensitivity parity between input systems
- Frame-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, aim
- FOV kick on sprint (via Virtual Camera swap)
- Headbob via Cinemachine Noise (no custom scripts)
- Custom camera blends for smooth transitions
- Separate aim camera variants
- Clean integration with camera stacks
Optional module included:
- 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 velocity
- Supports movement speed, grounded, crouch, sprint, aim
- Includes jump/fall detection and vertical velocity
- Works with both input system controllers
- Optional auto-detection and LateUpdate syncing
Perfect 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 / Lean
- Inspector-friendly — no custom scripting required
- Ideal for audio, VFX, UI, or gameplay hooks
These modules keep MFPC lightweight while enabling full production integration.
Optional Stamina System
- Sprint drain and regeneration
- Jump stamina cost
- Exhaustion and recovery behavior
- Fully optional — no UI or HUD required
Includes a demo stamina UI example, which can be completely removed without affecting MFPC.
Audio System
- Surface-based footsteps and landing sounds
- Terrain and object support
- Water surface handling
- Audio pooling (no runtime instantiation spikes)
- Easy to extend with ScriptableObjects
No hardcoded layers. No forced setup.
Architecture & Design Philosophy
MFPC is intentionally not an all-in-one solution.
- No forced Animator Controller
- No stamina system assumptions
- No UI or HUD dependencies
- No required layers or tags
- No multiplayer logic baked in
- Zero GC allocations in Update
Instead, MFPC gives you:
- Clean state logic (by exposing variables)
- Clear extension points
- Optional systems via future modules
Build exactly what you need — nothing more.
| Updated | 11 hours ago |
| Status | In development |
| Category | Tool |
| Platforms | HTML5 |
| Author | Fabrizio |
| Made with | Unity |
| Tags | Controller, First-Person, FPS, Game Design, gamepad, Modular, Singleplayer, Project template, Unity, Walking simulator |
| Content | No generative AI was used |
Development log
- Version 1.211 hours ago
- Version 1.111 days ago







Leave a comment
Log in with itch.io to leave a comment.