A modular and scalable weapon system for Unity 3D, designed with clean architecture and robust design patterns for maintainability, flexibility, and ease of integration.
-
Custom FPS Controller
- Designed from scratch to deliver smooth and immersive first-person movement.
- Includes core mechanics like:
- Jumping
- Responsive camera controls for fluid gameplay.
-
Scalable Weapon System
- Each weapon is fully customizable, supporting the following properties:
- Reload Time
- Fire Rate
- Magazine Capacity
- Total Ammo Capacity
- Unique Particle Effects
- Each weapon is fully customizable, supporting the following properties:
-
Immersive Gameplay Elements
- Weapon Sway: Adds realism by simulating movement during player actions.
- Aiming with Crosshair: Provides precise and dynamic targeting.
- Raycasting for Bullets: Enables instant-hit mechanics for efficient and realistic shooting.
- Weapon Switching: Smooth transitions between multiple weapons for enhanced player experience.
-
Audio-Visual Feedback
- Sound Effects: Integrated sound for shooting, reloading, and weapon switching.
- Particle Systems: Adds dynamic shooting effects for improved visual feedback.
- MVC (Model-View-Controller)
-
The game's core architecture is based on the MVC pattern:
- Model: Manages weapon properties and player interactions.
- View: Updates the UI and reflects the weapon's current state (e.g., crosshair position, ammo count).
- Controller: Handles input, connects the Model and View, and coordinates player interactions.
-
Service Locator Pattern
- Provides centralized access to essential services like PlayerService, weapon management, and sound.
- Ensures a decoupled architecture by avoiding direct dependencies between components.


