ZenBlink Component
This document describes the user-facing properties and events on the ZenBlink component. The custom Details panel presents the main categories in this order: Preset, Character, Camera Focus, Mode, Body, Head, Face, Emotion, Idle, Breathing, Eyes, Blinking, and Global.
Percentage properties use a 0-100 user-facing range unless stated otherwise.
Properties can be keyed or animated where Unreal Engine supports the property type.
Preset
Preset: Reusable ZenBlink Preset asset containing the Emotion Pose and user-facing component settings, grouped to match the Details panel categories.- Load button: Applies the selected preset’s Emotion Pose and component settings.
- Save button: Writes the component’s current user-facing settings to the selected preset asset.
The asset picker supports creating a new ZenBlinkPreset asset. Load and Save are also available as Blueprint-callable component functions.
Preset assets store Camera Focus, Mode, Head, Face, Emotion, Idle, Breathing, Eyes, Blinking, and Global settings. CameraFocusTarget and TargetToFollow are live level-actor references and are intentionally excluded, so they must be assigned separately after loading when required.
Character
Metahuman: Actor controlled by this component. It is Blueprint read/write and exposed on spawn, but is normally assigned by the ZenBlink editor workflow rather than edited directly in the Details panel.
Camera Focus
Focus adjustment is available under Advanced.
AutoFocus: Enables automatic camera-focus updates. Default: enabled.CameraFocusTarget: Actor moved to the calculated focus position while Auto Focus is enabled.AutoFocusAdjustment: World-space offset added to the calculated focus position. Default:(0, 0, 0).
Mode
Random seed, movement smoothing, eye-focus compensation, and rear-target controls are available under Advanced.
LiveLinkMode: Selects the Live Link facial-animation mode. Default:MetahumanAnimator.MovementMode: SelectsNone,Random,FollowTarget, orFollowTag. Default:Random.MovementRandomSpeed: Average time between random target changes. Range:0.1-20seconds. Default:1.5seconds.MovementRandomSeed: Produces the same random target sequence while the seed is unchanged. Default:33.MovementRandomSmoothing: Smooths changes between random target locations. Default:35%.MovementRandomStrength: Controls the amount of generated target variation. Default:50%.RandomTransitionTime: Time used to return the target to character-forward before random movement. Default:0.4seconds.RandomHoldTime: Time the target remains character-forward before random movement begins. Default:1.5seconds.TargetToFollow: Actor used in Follow Target mode.FollowRange: Maximum actor-to-actor distance for Follow Target tracking. Beyond this range, ZenBlink temporarily uses random movement and resumes tracking when the assigned actor returns. Set to0for unlimited range. Default:1000 cm.TargetTag: Target name used to find the closest registered target in Follow Tag mode. Default:ZenBlink_Target.FollowTagRange: Maximum actor-to-actor distance for Follow Tag tracking. Beyond this range, ZenBlink temporarily uses random movement and resumes tracking when the target returns. Set to0for unlimited range. Default:1000 cm.FollowTransitionTime: Time used to blend from random movement back to Follow Target or Follow Tag tracking. Default:0.4seconds.FollowSmoothing: Smooths moving target locations during Follow Target and Follow Tag tracking.0%responds immediately; higher values produce gentler movement. Default:15%.bEnableRearExclusion: Stops head tracking when the target enters the exclusion area behind the character. Available in Follow Target and Follow Tag modes. Default: enabled.RearExclusionAngle: Half-angle of the exclusion area centered behind the character. Default:90degrees.RearExclusionHysteresis: Additional angle the target must clear before tracking resumes, preventing rapid switching at the boundary. Default:5degrees.bReturnForwardDuringRearExclusion: Gently returns the head toward its forward pose while the target remains behind the character. Default: enabled.RearReacquisitionTime: Time used to return forward and ease back onto a valid target. Default:0.6seconds.RearReacquisitionMaxSpeed: Maximum rotation speed while returning or reacquiring. Set to0to remove the speed limit. Default:180degrees per second.
Changing Movement Mode synchronizes Eye Mode to None, Random, or Follow Target. Follow Target and Follow Tag use Follow Target while their target is in range and Random while it is outside the configured range.
Random targets are independent, center-weighted fixations around character-forward. Larger direction changes receive more travel time, and every completed move includes a visible fixation hold, avoiding cumulative drift and instant direction changes.
See ZenBlink Target Component for complete Follow Tag and target-component setup.
Body
Body movement is not included in this release.
Head
Mesh-name configuration is available under Advanced.
UseHeadMovement: Enables procedural head rotation. Default: enabled.HeadOverrideRotation: Lets ZenBlink replace incoming head rotation. Disable it to retain some movement from the incoming animation. Default: enabled.HeadMovementStrength: Procedural head-animation weight. Default:50%.HeadRotationLimit: Maximum procedural head and neck rotation. Default:10degrees.HeadMovementBlend: Blends procedural head output with the incoming pose. Default:100%.HeadSmoothing: Smooths procedural head movement. Default:15%.bEnableOvershoot: Enables a soft overshoot and return when head rotation reaches its limit. Default: enabled.OvershootTransitionTime: Time used to reach the overshoot peak. Default:0.15seconds.OvershootHoldTime: Time spent at the overshoot peak. Default:0.09seconds.OvershootReturnTime: Time used to return to the rotation limit. Default:0.85seconds.HorizontalDampingStrength: Percentage of horizontal overshoot applied. Default:100%.HorizontalResponsiveness: Shapes how promptly horizontal movement enters the overshoot. Default:65%.HorizontalMaximumOvershoot: Maximum horizontal rotation beyond the limit. Default:8degrees.VerticalDampingStrength: Percentage of vertical overshoot applied. Default:100%.VerticalResponsiveness: Shapes how promptly vertical movement enters the overshoot. Default:65%.VerticalMaximumOvershoot: Maximum vertical rotation beyond the limit. Default:8degrees.FaceMeshName: Name of the skeletal mesh component used for facial animation. Default:Face.
Use Head Movement Blend at
100%when the character must remain fully directed toward the selected target. Lower values retain more movement from the incoming animation.
Face
FaceEnable: Enables ZenBlink facial animation. Default: enabled.FaceBlendMode: Blend by Weight preserves the strongest incoming or generated value for each facial channel. Override replaces incoming facial expression animation completely at100%. Default: Blend by Weight.FaceMovementStrength: User-facing facial-animation weight passed through the settings structure. Default:100%.FaceMovementBlend: Controls the transition between the incoming facial pose and the ZenBlink result. Default:100%.
Emotion
Seed, blend mode, and regional weights are available under Advanced.
EmotionEnable: Enables emotion-pose processing. Default: enabled.EmotionSeed: Seed used for deterministic emotion variation. Default:33.EmotionRandomizationScale: Amount of bounded deterministic variation added while preserving the authored pose’s regional and left/right relationships. Default:25%.EmotionBlendMode: Selects Blend by Weight or Override. Default: Blend by Weight.EmotionUpperFaceWeight: Emotion strength across brows, eyes, and eyelashes. Default:100%.EmotionMouthWeight: Emotion strength around the mouth and lips. Keep this low when dialogue or lip-sync must retain authority. Default:50%.EmotionJawWeight: Emotion strength across the jaw and chin. Default:2%.EmotionTongueWeight: Emotion strength across the tongue. Default:0%.EmotionOtherFaceWeight: Emotion strength for controls outside the named regions. Default:100%.EmotionBlend: Controls how much the emotion affects incoming facial animation. Default:100%.EmotionBlendTime: Transition time when changing emotions. Range:0.1-10seconds. Default:0.5seconds.EmotionAlpha: Final emotion strength. Default:100%.
Idle
Blend type, seed, smoothing, and regional weights are available under Advanced.
Facial idle uses coordinated, low-amplitude adjustments that stay close to the current expression instead of generating unrelated facial noise.
FacialIdleEnable: Enables procedural facial idle movement. Default: enabled.FacialIdleBlendType: Selects weighted layering over the input pose or overriding the mapped controls. Default: Blend by Weight.FacialIdleRandomSeed: Produces the same idle pattern while the seed is unchanged. Default:33.FacialIdleSpeed: Controls procedural idle speed. Default:1.FacialIdleRandomStrength: Controls natural variation in coordinated idle motion. Default:60%.FacialIdleAmplitudeScale: Multiplies generated idle amplitude. Default:4.FacialIdleUpperFaceWeight: Idle strength across the upper face. Default:100%.FacialIdleMouthWeight: Idle strength around the mouth and lips. Default:47.15%.FacialIdleJawWeight: Idle strength across the jaw and chin. Default:1%.FacialIdleTongueWeight: Idle strength across the tongue. Default:0%.FacialIdleOtherFaceWeight: Idle strength for remaining facial regions. Default:100%.FacialIdleBlend: Controls how much facial idle affects incoming animation. Default:50%.FacialIdleSmoothing: Smooths changes in the final idle result. Default:15%.FacialIdleAlpha: Final facial-idle strength. Default:100%.
Breathing
Signal generation, variation, smoothing, sigh, and regional controls are available under Advanced.
Generated breathing includes natural inhale, exhale, and resting timing. Nose, throat, jaw, and mouth responses follow the selected breathing mode and effort.
BreathingEnable: Enables procedural facial breathing. Default: enabled.BreathingStrength: Overall breathing strength across the face and throat. Default:90%.BreathingSpeed: Controls the breathing-cycle speed. Default:1.345.BreathingUseZenBreathCurve: Uses an incomingZenBreathcurve instead of generating the breathing signal. Default: disabled.BreathingRandomSeed: Produces the same breathing variation while the seed is unchanged. Default:33.BreathingVariation: Controls natural breath-to-breath changes in speed and depth. Default:15%.BreathingInhaleRatio: Percentage of each cycle used to inhale before transition, exhale, and rest. Default:36.5%.BreathingMode: Selects nasal, mouth, or mixed breathing. Default:Mixed.BreathingEffort: Adds stronger facial and neck signs of breathing. Default:25%.BreathingEnableSighs: Enables deterministic occasional deeper breaths that reset the breathing rhythm. Default: enabled.BreathingSighsPerMinute: Average number of generated sighs per minute. Default:0.35.BreathingSighStrength: Additional depth of generated sighs. Default:51.75%.BreathingAsymmetry: Adds subtle, slowly changing left/right variation. Default:4%.BreathingDriveNose: Applies breathing motion to nose controls. Default: enabled.BreathingDriveThroat: Applies breathing motion to throat and neck controls. Default: enabled.BreathingDriveJaw: Applies breathing motion to jaw and chin controls. Default: enabled.BreathingDriveMouth: Applies breathing motion to mouth and lip controls. Default: enabled.BreathingNoseStrength: Nose-region breathing strength. Default:100%.BreathingThroatStrength: Throat-region breathing strength. Default:80%.BreathingJawStrength: Jaw and chin breathing strength. Default:30%.BreathingMouthStrength: Mouth and lip breathing strength. Default:60%.BreathingSmoothing: Smooths the breathing signal before facial movement is generated. Default:1%.BreathingAlpha: Final facial-breathing strength. Default:100%.
Eyes
Blend type, seed, per-eye corrections, attention saccades, and micro-saccades are available under Advanced.
EyeMode: SelectsNone,Random, orFollowTarget. Default:Random.EyeAimOffsetLeftRight: Horizontal offset applied after the random or LookAt direction is selected. Range:-20to20. Default:0.EyeAimOffsetUpDown: Vertical offset applied after the random or LookAt direction is selected. Range:-20to20. Default:0.EyeConverge: Blends independent left and right eye movement toward a shared direction.0%preserves independent movement;100%moves both eyes together. Default:5%.- Follow Target gaze returns forward while a nearby target is inside the head at or behind the nose-tip depth. When rear exclusion activates, the eyes also return forward and resume tracking smoothly after the target leaves the excluded area.
LeftEyeCorrectionLeftRight: Additional horizontal correction for the left eye. Default:0degrees.RightEyeCorrectionLeftRight: Additional horizontal correction for the right eye. Default:0degrees.LeftEyeCorrectionUpDown: Additional vertical correction for the left eye. Default:0degrees.RightEyeCorrectionUpDown: Additional vertical correction for the right eye. Default:0degrees.EyeBlendType: Selects Blend by Weight or Override. Default: Override.EyeRandomSeed: Produces the same random eye pattern while the seed is unchanged. Default:33.EyeRandomSpeed: Average time between generated gaze targets. Range:0.1-20seconds. Default:1.5seconds.EyeRandomStrength: Amount of generated eye variation. Default:80%.EyeAttentionSaccadeEnable: Enables occasional brief glances away from the current gaze. Default: enabled.EyeAttentionSaccadeMinInterval: Shortest time between attention saccades. Default:1.5seconds.EyeAttentionSaccadeMaxInterval: Longest time between attention saccades. Default:3.5seconds.EyeAttentionSaccadeStrength: Distance of attention saccades from the current gaze. Default:80%.EyeAttentionSaccadeMoveDuration: Time used to move into an attention saccade. Default:0.1215seconds.EyeAttentionSaccadeHoldDuration: Time spent holding the redirected gaze. Default:0.3345seconds.EyeAttentionSaccadeReturnDuration: Time used to return to the original gaze. Default:0.2625seconds.EyeMicroSaccadicEnable: Enables continuous small eye adjustments. Default: enabled.EyeMicroSaccadicHorizontalSpeed: Horizontal micro-saccadic movement speed. Default:2.0.EyeMicroSaccadicVerticalSpeed: Vertical micro-saccadic movement speed. Default:1.5.EyeMicroSaccadicHorizontalStrength: Horizontal micro-saccadic movement strength. Default:20.EyeMicroSaccadicVerticalStrength: Vertical micro-saccadic movement strength. Default:10.EyeSmoothing: Smooths raw random or LookAt movement before attention and micro-saccades are added. Default:2%.EyeBlend: Controls how much generated eye animation affects incoming animation. Default:100%.EyeAlpha: Final procedural eye-animation strength. Default:100%.
Blinking
Blend mechanics, seed, blink shape, compatibility, pupil response, eye-widen response, and gaze-shift controls are available under Advanced. Gaze-shift tuning is grouped under Advanced > Gaze Shift.
BlinkEnable: Enables generated blinking. Default: enabled.BlinkResetOnDisable: Resets blink state and opens the eyelids when blinking is disabled. Default: enabled.BlinkBlendType: Selects Blend by Weight or Override. Default: Override.BlinkCombineMode: Selects how generated values combine with existing blink values. Default: Max.BlinkRandomSeed: Produces the same blink sequence while the seed is unchanged. Default:33.BlinkEnableGazeShiftBlinks: Allows large, rapid gaze shifts to request a blink. Default: enabled.BlinkGazeShiftSensitivity: Controls how easily a gaze shift requests a blink. Default:60%.BlinkGazeShiftProbability: Controls the chance that a qualifying gaze shift produces a blink. Default:85%.BlinkGazeShiftCooldown: Minimum time between blinks requested by gaze shifts. Default:0.6seconds.BlinkGazeShiftMinimumAngle: Smallest gaze direction change that can request a blink. Default:8degrees.BlinkGazeShiftFullAngle: Gaze direction change that produces full detector intensity. Default:35degrees.BlinkGazeShiftMinimumAngularSpeed: Slowest angular movement that can request a blink. Default:45degrees per second.BlinkGazeShiftFullAngularSpeed: Angular speed that produces full detector intensity. Default:180degrees per second.BlinkGazeShiftSettleAngularSpeed: Angular speed below which the gaze is considered settled. Default:20degrees per second.BlinkGazeShiftSettleTime: Time the gaze must remain settled before another request. Default:0.08seconds.BlinkMinInterval: Shortest interval between blinks. Default:2.3seconds.BlinkMaxInterval: Longest interval between blinks. Default:5.6seconds.BlinkDuration: Total close-and-reopen time. Default:0.27seconds.BlinkCloseRatio: Part of the blink duration used to close the eyelids. Default:0.33.BlinkClosedHoldRatio: Part of the blink held closed. Default:0.0345.BlinkReopenTailRatio: Final gentle release portion of reopening. Default:0.178.BlinkMinAmplitude: Smallest generated closure. Default:90%.BlinkMaxAmplitude: Largest generated closure. Default:100%.BlinkAsymmetryAmount: Maximum strength difference between eyelids. Default:0.042.BlinkMaxEyeTimeOffset: Maximum timing difference between eyelids. Default:0.0124seconds.BlinkDriveLegacyBlinkCurves: Writes legacyEyeBlinkLeftandEyeBlinkRightcurves. Default: enabled.BlinkDrivePupilNarrow: Narrows the pupils during eyelid closure. Default: enabled.BlinkPupilNarrowStrength: Strength of pupil narrowing. Default:90%.BlinkPupilRecoveryTime: Time used to restore pupils after a blink. Range:0.01-1second. Default:0.3555seconds.BlinkDriveEyeWiden: Suppresses eye widening during closure. Default: enabled.BlinkEyeWidenSuppression: Strength of eye-widen suppression. Default:80%.BlinkStrength: Overall generated blink strength. Default:100%.BlinkBlend: Controls how much blinking affects incoming animation. Default:100%.BlinkAlpha: Final blinking strength. Default:100%.
Global
Editor-preview and debug controls are available under Advanced.
ZenBlinkEnabled: Enables or disables ZenBlink. Default: enabled.bEnableZenBlinkEditorPreviewTick: Enables ZenBlink updates in the editor viewport while not playing. Default: enabled.bIncludeAttachedChildActorsInEditorPreview: Includes skeletal meshes owned by attached child actors in editor preview updates. Default: disabled.GlobalWeight: Overall ZenBlink animation weight. Default:100%.Debug: Enables additional animation-instance logging. Default: disabled.
Component Events
OnZenBlinkPlay/ZenBlink Play: Fired when ZenBlink updates begin.OnZenBlinkTick/ZenBlink Tick: Fired during ZenBlink updates and supplies Delta Time.OnZenBlinkStop/ZenBlink Stop: Fired when ZenBlink updates stop.RefreshSkeletalMeshComponents: Refreshes the skeletal meshes used by ZenBlink editor preview.
ZenBlink captures the face mesh’s original post-process Anim Blueprint before applying its own. The original class is restored when ZenBlink is disabled, deactivated, unregistered, destroyed, or play ends, and ZenBlink is reapplied when an active component resumes.
Sequencer Baking
When a Sequencer Skeletal Mesh binding resolves to an actor with a ZenBlink component, its context menu includes the Bake ZenBlink Animations command.
The command evaluates the active Level Sequence and creates two synchronized animation sequences:
_Face: Records the evaluated face mesh, including facial curves._Body: Records the evaluated body mesh, including the final ZenBlink head and neck movement.
The component’s Face Mesh and Body Mesh references must both be valid. The ordinary Unreal Bake Animation Sequence command remains available for non-ZenBlink baking.
Directly baking ZenBlink procedural animation to Epic’s stock MetaHuman Control Rig tracks is experimental and unsupported at this time. The supported workflow is to create the synchronized face and body animation sequences with Bake ZenBlink Animations, then bake those completed sequences to the stock MetaHuman Control Rigs when editable Control Rig keys are needed.