UOverAnimComponent: Installation and Runtime State
Header: OverAnimation/Runtime/OverAnimComponent.h
Blueprint class: UOverAnimComponent
Details Properties
Setup
| UI name |
C++ property |
Default |
Effect / visibility condition |
| Target Skeletal Mesh |
TargetMesh |
nullptr |
The USkeletalMeshComponent that receives OverAnim. If empty during application, it uses the Character Mesh when the Owner is an ACharacter; otherwise it finds the Owner's first valid Skeletal Mesh Component. Explicit assignment is required when source, retarget, and cosmetic meshes coexist. |
| Motion Source Actor Override |
MotionSourceActorOverride |
nullptr |
Actor from which movement speed and grounded state are read. If empty, searches for the attached Character or an Actor implementing the movement interface. |
| OverAnim Deformer Asset |
DeformerAsset |
empty |
Soft reference to the UOverAnimMeshDeformer to apply. The target mesh's Skeleton must match the asset's Target Skeleton. |
| Apply on Begin Play |
bApplyOnBeginPlay |
true |
Calls ApplyOverAnim() from BeginPlay. Writes an error log on failure. |
| Restore Previous Deformer on Clear |
bRestorePreviousMeshDeformer |
true |
If the Component directly replaced the mesh deformer, restores the previous deformer on Clear OverAnim/shutdown. If there was no previous deformer or this is disabled, clears the mesh deformer. |
Runtime Master Switch
| UI name |
C++ property |
Default |
Effect |
| Master per-character switch |
bRuntimeEffectsEnabled |
true |
Component-level master switch. Read-only in Details and changed through Set OverAnim Effects Enabled. Disabling keeps the deformer installed, clears active responses, pending signals, impact history, and motion state, and returns to the source pose. |
Installation, Removal, and State API
| Blueprint name |
C++ declaration |
Input |
Return |
Preconditions, rejection, and state changes |
| Apply OverAnim |
bool ApplyOverAnim() |
none |
bool |
Returns true when already ready. Otherwise resolves the Target Mesh and synchronously loads the asset. Returns false for a non-Skeletal Mesh, Skeleton mismatch, missing asset TargetSkeleton, failed asset contract validation, or when another UOverAnimComponent owns the same Target Mesh. On success, acquires mesh ownership and, when necessary, preserves the current mesh deformer; then configures the OverAnim deformer, animation scope, pose snapshot source, lifecycle binding, tick prerequisite, and dynamic bounds. |
| Clear OverAnim |
void ClearOverAnim() |
none |
none |
Releases animation lifecycle, pose snapshot, scope notification, and Target Mesh ownership. Restores/clears only the mesh deformer and dynamic Bounds Scale override owned by the Component. Resets the instance-manager reference, pending Signals, impact history, motion-analyzer state, and runtime-effect state. Safe to call when already cleared. |
| Is OverAnim Ready |
bool IsOverAnimReady() const |
none |
bool |
Returns true only when the cached instance manager is valid, the Target Mesh actually uses AppliedDeformer as its component deformer, and that mesh's deformer instance equals the cached manager. Does not change state. |
| Reset OverAnim Simulation |
bool ResetOverAnimSimulation() |
none |
bool |
Returns false if a valid runtime instance manager cannot be resolved. On success, resets the manager's runtime state. Does not apply the asset automatically. |
Component and Process Master-Switch API
| Blueprint name |
C++ declaration |
Input |
Return |
Preconditions, rejection, and state changes |
| Set OverAnim Effects Enabled |
void SetRuntimeEffectsEnabled(bool bEnabled) |
bEnabled: Component master switch |
none |
Immediately synchronizes runtime state when the value changes. false removes active responses and returns to the source pose without uninstalling the deformer. |
| Get OverAnim Effects Enabled |
bool GetRuntimeEffectsEnabled() const |
none |
bool |
Returns only the master-switch value stored on the Component. Does not account for the global switch, slow-motion suppression, or pause suppression. |
| Are OverAnim Effects Active |
bool AreRuntimeEffectsActive() const |
none |
bool |
Resolved result combining the Component switch, process-global switch, slow-motion suppression, and the Return to Source Pose pause condition. Does not change state. |
| Set All OverAnim Effects Enabled |
static void SetGlobalRuntimeEffectsEnabled(bool bEnabled) |
bEnabled: process-wide master switch |
none |
Changes the console variable shared by every OverAnim Component in the current process. Each Component picks up the value on its next synchronization. |
| Get All OverAnim Effects Enabled |
static bool GetGlobalRuntimeEffectsEnabled() |
none |
bool |
Returns the current process-wide master-switch value on the game thread. |
C++-Only Lifecycle Boundary
| C++ declaration |
Input / return |
Behavior |
void SetAutomaticPoseSnapshotSubmissionEnabled(bool bEnabled) |
bEnabled |
Enables or disables automatic bone-transforms-finalized pose-snapshot submission. When enabled with an asset applied, binds the snapshot source; disabling unbinds it. Also communicates the external-pose-snapshot requirement to the runtime manager. |
GetOverAnimInstanceManager(), ResolveOverAnimInstanceManager(), and HoldsAnimationScope() expose internal manager and scoped-Notify implementation, so they are outside the supported scope of this user API reference.