Skip to content

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.