Add responsive, customizable camera and weapon recoil to any firearm by calling one simple Kick() method.The optional demo uses Unity’s URP, Input System, and uGUI packages, but these are Unity Package Manager dependencies not Asset Store packages.RecoilSense is a lightweight, weapon-independent recoil system designed to make firearm feedback feel more responsive and impactful with minimal setup.Add the RecoilSense component to a weapon, assign optional camera and weapon transforms, select a settings asset, and call Kick() whenever a shot succeeds. RecoilSense remains separate from firing, ammunition, projectile, input, and weapon-selection systems, making it easy to integrate into existing FPS, third-person shooter, action, survival, sci-fi, and virtual-reality projects.Camera and weapon recoil can be configured independently using position, pitch, yaw, and roll. Each channel includes its own kick speed, recovery delay, recovery speed, recovery behavior, randomness, and accumulation limits.Repeated shots can build recoil during automatic fire. If another shot interrupts camera recovery, the current pitch and yaw can become the new resting aim, producing persistent weapon climb that players can counter through normal aim input. Camera roll always remains temporary and fully recovers.Settings are stored as reusable ScriptableObject assets, allowing every weapon to have a distinct recoil profile. Seven example profiles are included: Pistol, SMG, Rifle, Shotgun, Hand Cannon, Sci-Fi, and Sniper.An optional URP demonstration includes simple weapon prefabs, multiple firing behaviors, projectiles, impact markers, a reticle, weapon switching, and preset-selection UI. The core runtime remains independent of URP, Input System, and uGUI.Simple public Kick() and Kick(float strength) APISeparate camera and weapon recoil channelsLocal position kick and randomnessCamera and weapon pitch, yaw, and rollIndependent kick speed and recovery timingSmooth, linear, or disabled recoveryInterrupted-recovery camera climbExplicit authoritative aim-controller integrationCamera roll always recoversRepeated-shot and automatic-fire accumulationConfigurable accumulation timeout, gain, and maximum strengthPer-axis randomized recoilOptional deterministic recoil sequencesPrivate random state that does not modify UnityEngine.RandomOptional backward Rigidbody forceRuntime recoil enable/disable controlRuntime settings switchingReusable ScriptableObject weapon profilesPreset profiles for seven weapon categoriesPreserves external look, sway, and animation changesAllocation-free kick and recovery updatesPipeline-independent runtime assemblySeparate demo and editor assembliesRuntime has no Input System, uGUI, or render-pipeline dependencyDemo uses Input System, uGUI, and URPIncludes documented authoritative pitch/yaw handoffIncludes demonstration scene and source codeNamespace: RecoilSenseSDKCompatible with Unity 2022.3 or newerAI was used for brainstorming, code structure suggestions, code commenting, and polishing documentation. All code was implemented, reviewed, and tested by a developer.




