A rough and tumble version of hitbox / hurtbox traces for animations in unreal.
- Put the plugin into your plugins folder
- Implement the
SVAnimAvatarinterface in your pawn Blueprint or C++ class- it contains a single event
HandleAnimTraceHitwhich will report the trace hits from any animations playing on any skeletal meshes attached to the pawn
- it contains a single event
- Open any animation you'd like to have hit / hurt boxes, and add a
SVAnimNotifyState_TraceAnim Notify State to the animation. And configure the traces inside.
Montages are strange and complicated things. If you scrub within Montages it does not tick AnimNotifyStates but it does in the animation sequence editor.
There for, to edit traces within persona, use the bAlwaysDrawInPersona variable to place the traces where you want. And uncheck it when you're done.
The notify state can hold two categories of traces,
- Shared Traces: that take their definitions from a
SVSharedAnimTracedata asset. - Inline Traces: defined within the Notify State.
The inline trace definitions and the shared trace definitions use the same structs.
There are 3 inline traces:
- Box
- Sphere
- Capsule
- Use
RelativeTransformto move the traces relative to the mesh / bones / sockets - Use the
bRelativeToSocketto attach the traces to bones / sockets - Use
CollisionChannelto set the channel the trace uses - The
TagsandDataIdfields are passed to theSVAnimAvatarupon hit. You can use this to identify hit vs hurt boxes or to lookup damage types and values via data assets.- The
DataIdcan be anyPrimaryDataAsset
- The
bTriggerRepeatedly(false by default) can be used to trigger the hit every frame of the animation, instead of just the first time the overlap happens.
A PrimaryDataAsset to define traces once, and share them across notify states / animations. Create them and make sure they are loaded in game / editor, then use the Shared Anim Trace option in the notify states and select the definition you want to use. Updating the SVSharedAnimTrace will reflect it's changes in the animation editor instantly.
- Use the plugin settings or the connected
SV.Anim.DrawDebugcvar to toggle debug drawing across the entire plugin



