Reaction Profiles
ReactionProfile(Updated 1.1)
A Reaction Profile is a ScriptableObject asset that defines how a hit should look and feel. By separating reaction data into profiles, you can easily reuse setups like Light Hit, Heavy Hit, or Explosion across multiple characters or objects.
Where is it? Create ▸ HitReactions ▸ ReactionProfile in the Project window, then select the asset to open this inspector.
Inspector Reference
In version 1.1, all main reaction settings have been centralized into the Reaction Profile, allowing for maximum reusability and cleaner setups. The BodyPartReactor now only references the Reaction Profile, along with Bone Reference, Follow Objects, and the new Per-Bone Multiplier, which allows fine-tuning intensity and duration per bone.
Where is it?
Create your profile via:
Create ▸ HitReactions ▸ ReactionProfile
Select the asset to open its inspector and configure your settings.
Inspector Reference (Updated 1.1)
Category
Property
Description
Timing
reactionDuration
Total duration of the hit reaction (in seconds).
blendInSpeed
Speed for blending in (0→1 weight).
blendOutSpeed
Speed for blending out (weight→0).
Blend Curve
blendCurve
Controls the weight curve over time.
Rotation
useRotation
Enables rotation reactions.
rotationStrength
Max random rotation per axis.
rotationMode
RandomOnly, DirectionOnly, or RandomAndDirection.
directionRotationMultiplier
Mix factor between random and direction-based rotation (0 = random only, 1 = direction only).
Translation
useTranslation
Enables translation (position) reactions.
translationStrength
Max random translation per axis.
translationMode
RandomOnly, DirectionOnly, or RandomAndDirection.
directionTranslationMultiplier
Units moved along hit direction.
Hit Behaviour
useContactPointDirection
Uses contact point vector for hit direction.
useLocalHitDirection
Convert incoming vector into bone local space for more intuitive direction locking. Disable if you want world‑space comparison (rare).
autoInvertBackHits
If forward local Z is negative, flip hit direction so reactions always push backwards. Handy when character faces away from camera in 2D sidescrollers etc.
Blend Behaviour
additive
Add offsets on top of the animation pose. Disable to fully replace animation (useful on props without an Animator).
blendResetMode
HardReset or ScaledCarryOver modes for blending.
carryOverScale
How much weight to preserve when using ScaledCarryOver.
slowBlendFactor
Multiplies Blend‑In Speed by Slow Blend Multiplier—simulate sluggish reactions on heavy impacts. (0 = off)
offsetsFromCurrentPose
Calculate offsets relative to current pose instead of bind pose—prevents drift when base animation is already rotated (e.g., leaning).
Hit Acceptance
hitAcceptance
Off (default): ignore new hits while weight > 0 (prevents jitter on rapid fire). On: every hit resets timer even if still reacting.
Axis Locks
rotationAxisMask
Per-axis lock for rotation (1 = allowed, 0 = blocked).
translationAxisMask
Per-axis lock for translation (1 = allowed, 0 = blocked).
Practical Tips
Heavy impacts: Increase Reaction Duration to ~0.7 s and lower Blend‑In Speed slightly for a sluggish recoil.
Subtle upper‑body hits: Disable Translation, keep Rotation Strength around
(5,5,2)
.Explosions: Set Rotation Mode = DirectionOnly, Direction Rotation Multiplier = 2, and enable Translation with a 0.5 m push.
Networked games: Store profile GUIDs and sync only the hit parameters to other clients—every rig will reproduce the same offsets deterministically.
Creating Variants
Right‑click an existing profile → Duplicate to branch a new variant. You can then swap profiles at runtime or per weapon via code:
reactor.profile = heavyHitProfile; // on shotgun pellets
Next Up
Head to BodyPartReactor Inspector to see how profiles plug into each bone and which runtime toggles affect blending.
Last updated