An Unreal Engine plugin that provides tools and methods to automatically manage various optimizations for Character actors and their components. It is primarily focused on optimizing entities with complex behavior and/or animations, with the main goal of alleviating CPU load. It was extensively used in the Nintendo Switch version of Xuan Yuan Sword VII.
Characters in video games are often the most resource-intensive entities in a system: AI, animations, complex movement methods, variable updates, and more. All of these require calculations during every tick. This can become very costly, especially when dealing with many entities in a scene or when working with limited hardware.
If your game’s GameThread cost is too high and CPU profiling points to Character-related calculations, this plugin can save you a significant amount of work.
The Auto Significance Manager allows for optimized Characters in your project with a simple implementation. Once the plugin is activated, all that remains is to reparent your desired Character class so that the plugin’s ASignificanceCharacter class sits between your class and the engine’s base class, injecting the necessary methods to manage all Characters in the game.

Diagram showing the placement of the intermediate class.
Anim Budget Allocator
One of the most critical parts of the system. This Unreal Engine subsystem allows for the dynamic adjustment of animation tick rates and keyframe interpolation calculations to stay below a specified frametime budget in milliseconds. You can add specific configurations for each platform in addition to the defaults.
Another highly useful feature is the Dynamic Budget, which adjusts the Animation Budget Allocator’s budget (a.Budget.BudgetMs) based on the current GameThread frametime. It attempts to hit a set target (Dynamic Budget Target) by utilizing spare resources; however, if the frametime exceeds the target, it will begin cutting animation updates to boost performance, down to the Dynamic Budget Min. The Dynamic Convergence Rate is a variable that allows us to adjust how quickly the Budget adapts to current game performance: higher values result in smoother adjustments. It is recommended to modify this only if CPU noise becomes an issue.

ABA configuration within the Plugin.

Dynamic Budget configuration.
Component Optimization
Another key utility offered by the plugin is Component Optimization, which allows us to reduce or even completely freeze the execution of a Character’s—usually numerous—components. This utility works by generating distance-based fields and a cutoff level to decide at which point the optimization operation (Reduce or Freeze) begins. This provides greater in-game control over the system and potentially allows for multiple “cutoff” levels.

Component optimizer configuration.
The following diagram visually explains how the fields work: the green radius represents ReductionDistanceGradient.X and the blue radius represents ReductionDistanceGradient.Y. The minimum and maximum points of the gradient are shown in red. The yellow line corresponds to the distance of the parameterized ReductionParameterLevel: 0 equals the minimum and 1 equals the maximum. Beyond this distance, the number of Ticks executed by the Character’s components is reduced.
The same logic applies to Freeze, but beyond that distance—and if they are not being rendered—the Characters are frozen, performing no calculations at all. For obvious reasons, it is recommended to set these distances sufficiently high. This should only be activated if strictly necessary, as it can sometimes introduce more issues than benefits.

Diagram visually explaining the field mechanics.