Significance Manager: Bucket System
https://www.unrealengine.com/marketplace/en-US/product/significance-manager-bucket-system
A Powerful tool designed to help you meet performance targets with significance manager.
In any game, especially multiplayer ones with many players or AI characters, maintaining high performance is crucial. This often involves reducing scene complexity to achieve your target frame rates. With this bucket system integrated with significance manager you will be able to meet your performance targets with ease.
This system can also be used to activate/deactivate gameplay elements when players are nearby. Very flexible!
What is a bucket system?
You can imagine it as having multiple buckets you fill with water. When one bucket becomes full, you fill up the next one until you have no more buckets to fill. Instead of water we use actors or objects and we can set different sizes for the buckets.
Practical Examples:
- AI Management: In a scenario with many AI characters, the system can ensure only the nearest or most critical ones are fully active, improving performance.
- Multiplayer Optimization: In multiplayer games where many players might gather in one area, the system can for example limit so only the 10 nearest player characters remain fully active, preventing performance drops.
- Different platforms: Only allowing the 5 nearest players to have effects played and disable the rest for windows app and only allowing 1 actor to have effects on android app.
What does this plugin offer?
- Bucket System: You can set up multiple buckets arrays with different sized buckets. Actors will be assigned into buckets where the nearest actors go into the first bucket. When a bucket's max size is reached the rest of the actors will go to the next bucket and so on until there are no buckets left.
- Component Based: Includes components that let´s you optimize your actors skeletal, static ,primitive and niagara component based on distance and buckets. Custom code can be setup in blueprint.
- Easy to use: Setup your buckets once in project settings then define your data in separate blueprints called Optimization Defaults Definition and share them on the components. Each file created is stored only once for memory efficiency.
- Multiple Platforms: Buckets are stored in configuration files. Can easy be overwritten for different platforms.
- Server Significance Manager: This manager runs only on the server. Increase frame rate for your multiplayer games. Or you can use it to activate/deactivate gameplay elements. Very flexible!
- Unreal Insights & Stats support: Helps you identify bottlenecks!
- C++ & Blueprint: Events when a bucket is relevant for an actor. A Subsystem to control the system during runtime.
- Example Level: An example level on how to use the system.
Technical Details
Code Modules:
- SignificanceBucketSystem, Runtime
Number of Blueprints: 5 (Examples)
Number of C++ Classes: 10+
Network Replicated: Yes
Supported Development Platforms: Windows, Mac, Linux, IOS, Android. (Only Windows tested, should work on other platforms)
Supported Target Build Platforms: Windows, Mac, Linux, IOS, Android. (Only Windows tested, should work on other platforms)