This is a Unity FPS project demonstrating the use of the Morpeh ECS framework to build scalable and modular shooter systems using data-driven architecture.
The project features a fully functional weapon shooting system, including:
- Fire with
ShootPerSecondcontrol - Reloading with animation sync (
ReloadEndtrigger) - Bullet instantiation with speed and lifetime
- Hit detection via
Raycast - Decal spawning on impact with custom lifetime
- ECS Events for shooting and animation flow
Recording.2025-07-23.120825.mp4
Recording.2025-07-23.121314.mp4
The player can switch between different weapons dynamically.
Each weapon is:
- Defined via a
WeaponsConfigasset - Automatically applied to the player's current state
- Fully modular and extendable with new types
Recording.2025-07-23.121602.mp4
This project uses Morpeh version 2024.1 — fully updated and free from obsolete APIs.
Key architecture choices:
- ✅ No deprecated methods — systems are written using the clean and modern
ISysteminterface - ✅ Pure ECS structure — filters, stashes, and events are used to isolate data and logic
- ✅ No tight coupling — Unity code is limited to essential bridges like
MonoProviderproxies
- Unity 2022.3.52
- Morpeh ECS 2024.1
- Morpeh Events
- VContainer
- Unity Input System
- ScriptableObjects for configuration