AFPC — Advanced FPS Character Controller
A lightweight, physics-based first-person character controller for Unity 6+. Modular architecture. Event-driven. Ready to extend.MOVEMENT - Walk and run with configurable speed and sharpness - Single and multi-jump (double jump, triple, etc.) - Endurance system — running and jumping consume stamina - Air control factor (0–1) for smooth air steering - Slope handling — configurable slope limit, gravity sliding on steep surfaces, uphill/downhill speed modulation - Crouch with Hold and Toggle modes, ceiling detection, smooth collider transition - Physics-based via Rigidbody — works with your existing physics setup LIFECYCLE - Health and shield with auto-recovery - Shield absorbs damage before health - Frenzy state at low health for special effects - Full damage → death → respawn cycle CAMERA - Mouse look with framerate-independent sensitivity, inversion, and clamping - Automatic mouse/gamepad detection — switching mid-play works seamlessly - Aim zoom (right click) - Speed FOV — field of view increases with velocity - Head bobbing with run multiplier - Camera shake via lens shift (Physical Camera) - RotateYaw for programmatic camera turns (cutscenes, platforms) EXTENSIONS - AFPC ships with five ready-to-use extensions - Footsteps for surface-aware audio - Interaction for raycast-based object triggering - Leaning for smooth left/right camera tilt - Step Climbing for automatic ledge traversal - Moving Platform Support — automatic kinematic platform tracking with velocity inheritance and yaw rotation - Each extension is self-contained and can be added or removed independently UI - UI Toolkit HUD (UXML + USS) - Health, shield, and endurance bars with percentage values - Full-screen damage flash effect - Input hints overlay - Fully customizable via stylesheet INPUT - Unity Input System (New) - Keyboard/Mouse and Gamepad bindings included - Easy to replace — just set the public input fields from your own system━━━━━━━━━━━━━━━━━━━━ARCHITECTURE• All logic in serializable classes (Lifecycle, Movement, Overview)• UnityEvents on everything — wire up responses in the inspector or code• All public methods are virtual — override anything• AFPC namespace — no type conflicts• Clean custom inspector with organized panels and tooltips• Full HTML documentation included━━━━━━━━━━━━━━━━━━━━REQUIREMENTS• Unity 6+• Input System package (Used for Demo)• UI Toolkit (built-in) (Used for Demo)A documentation and parts of the codebase were developed \ refactored with the assistance of AI (Claude, Anthropic).




