A comprehensive C++ framework plugin for Unreal Engine 5.7 that provides essential base classes, systems, and utilities to accelerate your game development workflow.
- ✅ Unreal Engine 5.7+
- ✅ Blueprint Integration
- Clone or download this repository
- Copy the
Ravenfolder to your project'sPluginsdirectory - Regenerate your project files
- Build your project
git clone https://github.com/RavenStormStudio/Raven.git <YourProject>/Plugins/Raven- Copy the
Ravenfolder to your engine'sEngine/Pluginsdirectory - The plugin will be available for all projects using that engine version
- Open your project
- Navigate to Edit > Plugins
- Search for "Raven"
- Check the Enabled checkbox
- Restart the editor
- Base Classes: Pre-configured base classes for common game framework components
ARavenActorBase- Enhanced actor base classARavenGameModeBase- Game mode with extended functionalityARavenGameStateBase- Game state base implementationARavenPlayerControllerBase- Player controller foundationURavenGameInstanceBase- Game instance base class
- High-Performance Pooling: Reduce GC pressure and improve performance by reusing objects
- Multiple Acquisition Strategies:
- FIFO (First In First Out)
- LIFO (Last In First Out)
- LRU (Least Recently Used)
- Random
- Advanced Pool Management:
- Configurable pool policies (max idle time, shrinking intervals, min pool size)
- Pre-warming support for initial pool population
- Automatic cleanup of idle objects
- Detailed statistics and profiling
- Factory Pattern: Extensible factory system for custom object creation
- Blueprint Support: Fully exposed to Blueprints for designer-friendly workflows
- World Subsystem: Centralized
URavenPoolSubsystemfor easy access - Developer Settings: Project-wide pool configuration via editor settings
Raven/
├── Source/Raven/
│ ├── Public/
│ │ ├── GameFramework/ # Base game framework classes
│ │ │ ├── RavenActorBase.h
│ │ │ ├── RavenGameModeBase.h
│ │ │ ├── RavenGameStateBase.h
│ │ │ ├── RavenPlayerControllerBase.h
│ │ │ └── RavenGameInstanceBase.h
│ │ └── Pool/ # Object pooling system
│ │ ├── RavenPool.h # Core pool implementation
│ │ ├── RavenPoolSubsystem.h
│ │ ├── RavenPoolTypes.h # Pool enums and structs
│ │ ├── RavenPoolStats.h
│ │ ├── RavenPoolHandle.h
│ │ ├── RavenPoolDeveloperSettings.h
│ │ ├── Interface/
│ │ │ └── Poolable.h # Interface for poolable objects
│ │ ├── Factory/
│ │ │ ├── RavenPoolFactoryUObject.h
│ │ │ └── RavenPoolActorFactory.h
│ │ └── Strategy/
│ │ └── RavenPoolStrategy.h
│ └── Private/ # Implementation files
├── Resources/
└── Raven.uplugin
Contributions are welcome! Please feel free to submit pull requests or open issues for bugs and feature requests.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.
- Built with ♥ for the Unreal Engine community
For questions, issues, or feature requests:
- Open an issue on GitHub
Made with ❤️ by Drischdaan