# Welcome

<figure><img src="/files/UK70wAnZyHnnujuLolDN" alt=""><figcaption><p><em>Make every impact matter—no key‑framed flinch animations required.</em></p></figcaption></figure>

## Welcome to **Procedural Hit Reactions**

Procedural Hit Reactions is a lightweight runtime layer that makes characters, creatures, and even rigid props **twist, recoil, and flinch** convincingly when struck by projectiles, melee weapons, or explosions. Because every pose offset is computed in real‑time, you can author *zero* hit‑reaction animations while still keeping full control over style, strength, and timing through intuitive ScriptableObject profiles.<br>

{% hint style="warning" %}
We're excited to announce that Procedural Hit Reactions 1.1 has been released! This update introduces a range of new features, including an overhauled profiles and body part reactor system, along with many additional customization options.

Please note that the documentation is currently being updated to reflect the changes in this release. We appreciate your patience during this process.
{% endhint %}

***

### Why another hit‑reaction system?

* **Zero authoring overhead** — reactions are generated on‑the‑fly so you can spend your animation budget elsewhere.
* **Modular by design** — drop a `BodyPartReactor` on any bone, reuse `ReactionProfiles` across rigs, and let the system auto‑wire everything for you.
* **Ultra‑cheap** — pure math & transforms, no physics ragdoll or heavyweight IK solvers.
* **Direction‑aware** — the punch always pushes back *from* the incoming hit.
* **Artist‑friendly** — tweak curves and axis locks in the Inspector; no code dive required.

***

### Package contents

* **Core runtime**
  * `HitReactionController.cs` — routes hits per character
  * `BodyPartReactor.cs` — drives offsets on a single bone
  * `ReactionProfile.cs` — ScriptableObject for timing/strength settings
  * `HitReactionTrigger.cs` — drag‑and‑go collider helper for bullets & blades
* **Sample assets**
  * Fully rigged demo character with ready‑made profiles
  * `FPSController.cs`, projectile prefab, and demo scene
* **Editor tooling**
  * Custom Inspectors & gizmos for faster setup (coming soon)

> Looking for the step‑by‑step setup? Head over to **Get Started → Running the Demo Scene** once you finish this page.

***

### Requirements

|                     | Minimum                                    |
| ------------------- | ------------------------------------------ |
| **Unity**           | 2020.3 LTS or newer (tested up to Unity 6) |
| **Render Pipeline** | Built‑in, URP, and HDRP supported          |
| **Platforms**       | PC/Mac/Linux, Consoles, Mobile, VR         |

> **Tip:** Reactions are pure transform offsets—no physics components are required—but Rigidbody colliders help if you need precise hit detection.

**Changelog**\
\&#xNAN;*Version 1.1 — May 2025*\
•**ReactionProfile Overhaul:** Moved all per-hit options (timing, blend behaviour, hit acceptance, axis-locks) from BodyPartReactor into ReactionProfile<br>

•**FollowObjects System:** Replaced legacy followTransforms with List\<FollowObject> to allow per-object rot/pos weights and also added the ability to have multiple followobjects with separate weights in the BodyPartReactor.<br>

• **Inspector Enhancements:** Migrate Legacy Settings button to convert v1.0 reactor fields into a new profile asset • Create New Profile button under the Profile header

• **Migration Utility:** Automatically duplicates and renames profiles when legacy values differ, preserving existing setups

• Added UnityPackages for each render pipeline (builtin,urp,hdrp) so the demois playable on any render pipeline.\
\
\&#xNAN;*Version 1.0 — Initial Release*

* Core procedural hit-reaction system
* Basic BodyPartReactor + HitReactionController
* HitReactionTrigger for auto-routing projectile impacts
* Sample FPSController and demo scene included

<br>

***

### Quick links

* **Discord (support & news):** <https://discord.com/invite/MapKXwNeDz>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://ironsami-studio.gitbook.io/proceduralhitreactions/welcome.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
