First Person Controller Pro View on Asset Store (opens in new tab)

Package details

Latest version
2.3
Last updated
First released
Unity version
2022.3.58 or later
Package size
1.4 MB
Files
33
Favorites
193
Views in the past week
90

Price tracking

Last checked
Tracked since
Lowest recorded
Free on

Keywords

First Person Controller Pro

by ElmanGameDevTools (opens in new tab)

4.7 / 5 · 10 ratings

Ratings by stars
Number of ratings for each star rating
5 stars 7
4 stars 3
3 stars 0
2 stars 0
1 star 0

A professional, ready-to-use first-person movement solution. A complete feature set: smart crouching, interactive footstep sounds, and smooth camera control.

Price Free

Get it free on Asset Store (opens in new tab)

Affiliate link · Purchases support this site

Price history

Last 6 months

USD
Price history for First Person Controller Pro, 6 months Current Free; lowest Free; highest Free in this period. $0 Jun Jul Aug Sep Oct Nov

Asset preview

1 / 6

First Person Controller Pro screenshot 1

First Person Controller Pro screenshot 1

About this asset

First Person Controller Pro

First Person Controller Pro is a powerful, optimized, and professional-grade controller designed for developers who value quality and reliability. It provides all the necessary tools for creating realistic, responsive, and "AAA-feel" first-person movement. Save weeks of development time and focus on your game's unique features with a controller that works perfectly out of the box.

🎮 Key Features:

1. Advanced Movement & Physics:

  • State-Aware Movement: Smooth walking, sprinting, and jumping with a robust state machine (Walking, Running, Crouching, Jumping).
  • Stair-Stability Tech: Improved ground detection using SphereCast and constant downward force to eliminate "jitter" or "bouncing" when descending stairs or slopes.
  • Smart Crouching System:
    Overhead Obstacle Detection: A precise system that prevents the player from standing up if there is an object above their head, avoiding clipping through geometry.
    Visual Debugging: Gizmos support in the Scene view to easily visualize ground and overhead checks.
    Smooth Transitions: Height changes use interpolated calculations to eliminate camera jerking.

2. Cinematic Camera System:

  • Inertia & Weight: New target-based rotation logic with adjustable Camera Weight for professional, smooth mouse-look without "snapping."
  • Dynamic FOV (Field of View): Smoothly transitions FOV during sprinting (e.g., 60° → 70°) and maintains state during jumps for visual consistency.
  • Hybrid Camera Tilting: Procedural tilting that responds both to side-to-side movement (strafing) and mouse rotation velocity.
  • State-Based Head Bobbing: Separate frequency and amplitude settings for walking, running, and crouching to enhance immersion.

3. Professional Surface Audio System:

  • Surface Awareness: Automatically detects ground materials using both Unity Terrain Layers (Textures) and GameObject Tags.
  • Anti-Cut Logic: A smart "Air-Time Threshold" prevents footstep sounds from abruptly cutting off or restarting when moving over small bumps or down stairs.
  • Dynamic Pitch: Audio playback speed automatically adjusts based on the movement state (Crouch = slower/deeper, Run = faster/higher).

4. Developer-Friendly Design:

  • Clean & Documented C# Code: Fully commented using XML standards for perfect IntelliSense support and easy modification.
  • Inspector-Centric Setup: Every parameter, from tilt intensity to bob frequency, is exposed via the Inspector with helpful Tooltips.
  • Zero Hidden Dependencies: Built on the standard Unity CharacterController for maximum compatibility with other assets.

🛠 Who is this asset for?

  • Indie Developers: Who need a polished, ready-to-use foundation for their FPS, Horror, or Adventure games.
  • Prototypers: Quickly test gameplay ideas with controls that already feel "finished."
  • Students: Learn from a well-structured, professional-grade codebase that follows industry standards.

📦 What's included in the package?

  • PlayerController.cs: The core logic handling movement, physics-safe rotation, and camera effects.
  • PlayerMusic.cs: Advanced surface-detection audio script with Terrain support.
  • Ready-to-use Prefab: Pre-configured player hierarchy for drag-and-drop integration.
  • Documentation: Clear setup instructions and XML-documented code.

🔄 Version 2.3 - The "Stability & Polish" Update:

  • NEW: Full Terrain Texture detection for footstep sounds.
  • NEW: Target-based rotation system for lag-free camera movement.
  • NEW: Anti-restart audio logic for smooth movement on stairs.
  • FIXED: Resolved "standing into ceiling" bugs with new overhead clearance checks.
  • FIXED: Eliminated FOV "flickering" issues during state transitions.

First Person Controller Pro is the foundation your next project deserves. Experience the difference of a controller built with physics stability and professional polish.

From the publisher's Asset Store listing.

Technical details

Professional First-Person Character Controller Solution for Unity Engine

This implementation provides a robust movement mechanic, an interactive audio system, and smooth camera control, engineered for production environments.

Core Components

Dependencies:

  • Unity's CharacterController component
  • Transform-based camera system
  • Layer-based collision detection
  • Terrain System Support: Integration with Unity TerrainData

Movement Architecture:

  • Physics-Stable Grounding: Improved SphereCast detection with a constant downward force (-5f) to prevent "micro-bouncing" on slopes and stairs.
  • Enhanced State Machine: Integrated Walking, Running, Crouching, and Jumping states with priority-based speed multipliers.
  • Smart Standing Logic: Advanced overhead obstacle detection using a dedicated standingHeightMarker to prevent geometry clipping.
  • Step Offset & Slope Processing: Optimized for standard Unity physics with frame-rate independent gravity calculations.

Camera System:

  • Target-Based Rotation (New): Decoupled input from rotation using TargetYaw/Pitch variables to eliminate "jitter" or "snapping" during frame drops.
  • Weighted Camera Movement: Adjustable CameraWeight parameter for high-end cinematic smoothness and input lag simulation.
  • Dynamic FOV System: State-aware FOV transitions (60° → 70°) that persist through jump arcs for visual consistency.
  • Hybrid Camera Tilting: Procedural leaning based on both horizontal movement vectors and mouse look velocity.
  • Procedural Head Bobbing: State-dependent frequency and amplitude curves for realistic movement simulation across all speeds.

Audio Management System:

  • Multi-Source Surface Detection:
    Terrain Texture Detection: Real-time sampling of the most prominent AlphaMap texture at the player's position.
    Tag-Based Identification: Standard fallback to GameObject tags for non-terrain objects.
  • Advanced Playback Logic:
    Anti-Cut Smoothing: Air-time threshold logic (0.2s) prevents audio interruptions during stair descents or small jumps.
    Dynamic Pitch Modulation: Automatic pitch shifting based on movement state (Crouching: 0.8x, Running: 1.3x).

Advanced Features

Smart Standing & Ceiling Detection:

  • Precise Clearance Checks: Uses OverlapSphere at the height marker to ensure the player only stands when a safe clearance is detected.
  • Visual Status Gizmos: Color-coded Scene view debugging (Green: Clear / Red: Blocked).
  • Auto-Crouch Retention: Automatically stays in crouch state as long as an obstacle remains overhead.

Physics-Safe Interactions:

  • Velocity Reset: Smart landing logic that resets vertical velocity to a stable base value to prevent "gravity stacking" during ground contact.
  • Consistent FOV Tracking: FOV transitions track player intent (input keys) rather than raw physics states, preventing FOV "flickering" on stairs.

Optimization Features

Performance:

  • Cached Component Architecture: Minimal use of GetComponent or Camera.main inside Update loops.
  • Efficient Math: Switched to sqrMagnitude for movement checks to reduce CPU overhead.
  • Optimized Physics Sequence: Ground, Crouch, and Movement checks are processed in a specific order to ensure zero-frame latency in state updates.

Code Quality (Asset Store Standards):

  • Full XML Documentation: Complete code comments for every method and property.
  • Inspector Tooltips: Comprehensive tooltips for all public fields in the Unity Inspector.
  • Namespaced Structure: Organized into PlayerSystem and PlayerAudio to prevent conflicts in large projects.

Integration Guide

Basic Setup:

  1. Attach PlayerController to a GameObject with a CharacterController.
  2. Assign the Camera Transform in the inspector.
  3. Place a Standing Height Marker (empty GameObject) at the player's full height level.
  4. Define Ground Layers and Obstacle Layers in the settings.

Audio Configuration:

  1. Add PlayerMusic to the player hierarchy.
  2. Populate the SurfaceSettings array with your Terrain Textures and/or Object Tags.
  3. Assign corresponding AudioClips for each surface.

Version 2.3 Technical Updates (Major Update):

  • Major: Replaced direct rotation with a target-based smoothing system for AAA camera feel.
  • Major: Added full support for Terrain Texture-based footstep detection.
  • New: Implemented "Stair Smoothing" logic to the audio system to prevent sound cutting.
  • Improved: Upgraded overhead detection to prevent CharacterController ceiling clipping.
  • Optimization: Reduced GC allocation footprint by optimizing surface detection raycasts.

Compatibility

Render pipelines supported in each Unity version
Unity version Built-in URP HDRP
2022.3.58f1 Compatible Compatible Compatible

As listed on the Asset Store.