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