TheMGLegends - SmartPool

SmartPool is a utility plugin designed to minimise performance costs associated with frequent actor creation and destruction. The plugin is built with the user in mind, providing a highly customizable pooling solution that requires minimal setup and offers a wide range of supporting tools.

Key Features:

  • Multiple Pooling Solutions:

    • PoolSubsystem - Primary pooling solution comprised of a global & local pool, accessible by any entity part of the current world.

    • ActorPoolComponent - Secondary pooling solution pooling actors for the exclusive use of the actor that the component is attached to.

  • Complete Pool Control - Users have complete control over pooled actors, as well as additional utility functionality and events relating to actor pooling that they can bind to.

  • Pool Profile Assets - Actor pooling configurations are created and stored as DataAssets, allowing for ease of interchangeability and editing of data.

  • Full Support for Any Actor Type - Any actor derived entity can be pooled by plugin, the Poolable interface grants users additional control over how their actors are Activated & Deactivated.

  • Quality of Life Improvements Provided - The PooledActor provides users with the necessary boilerplate needed for compatibility with the ActorPoolComponent and multiplayer support.

  • Supporting Tools - A range of in and out of editor tools is provided to aid user development:

    • Pool Profile Editor - Centralized tool for finding and editing Pool Profiles.

    • Pool Profiler - Tool for profiling data regarding actor pooling.

    • External Analysis Files - Text files containing pool data & recommendations saved externally for later viewing and analysis.

    • Console Commands - Tool for debugging actor pooling in built projects where editor tools are no longer available.

  • Multiplayer Compatible - The plugin follows a server-authoritative model when pooling actors, these are then replicated to clients.

  • Blueprint & C++ Friendly - All features provided by the plugin are equally available in both blueprint & C++.

  • Unreal Style Workflow - Plugin functionality follows Unreal Engine practices, as well as behaviours when it comes to systems like actor spawning.

Documentation

Dependencies:

  • EditorScriptingUtilities - This plugin requires the following engine plugin to be enabled to work properly. Please ensure this plugin is active in your project settings (Edit > Plugins).