Welcome back to the Unity FPS Controller Tutorial Series.
In this episode, we implement one of the most important FPS mechanics: the Weapon Aiming System (ADS - Aim Down Sight).
We start by fixing a weapon raycast issue where our weapon could accidentally hit the player. After fixing the bug using Layer Masks, we build a complete aiming system using a clean serializable class architecture.
We also improve the overall aiming experience by reducing weapon sway and recoil while aiming, making the weapon feel more stable and accurate.
What You'll Learn
✅ Fix Weapon Raycast Player Hit Bug
✅ LayerMask Filtering for Weapon Raycasts
✅ Create Weapon Aiming (ADS) System
✅ Aim Position & Aim Rotation Setup
✅ Smooth Weapon Position Transition
✅ Smooth Weapon Rotation Transition
✅ Camera FOV Zoom While Aiming
✅ Reduce Weapon Sway While Aiming
✅ Reduce Weapon Recoil While Aiming
✅ Professional FPS Weapon Architecture
This setup is scalable and can be extended later with:
Crosshair Hide While Aiming
Aim Sensitivity Reduction
Weapon Spread System
Scope System
Sniper Zoom
🎮 Full FPS Controller Playlist
• Unity FPS Controller – Beginner to Advanced.
🔥 Previous Episodes
✔ Shooting System
✔ Reload System
✔ Damage System
✔ Weapon Recoil
✔ Weapon Sway
✔ Idle Weapon Sway
✔ Movement Weapon Sway
✔ Weapon Clipping Fix
✔ Head Bob System