Settings Guide

Every hzRecoil setting explained in plain language, and for those who want to go deep, what it actually does in the algorithm. Configure with intent, not by guesswork.

On this page

Overview

On every shot, hzRecoil applies the inverse of the weapon's recoil. The parameters below decide how much of that correction is applied and how human it looks. They fall into five groups: Sensitivity sets the scale, Precision decides fidelity to the pattern, and the two Humanization layers plus Aim Return add natural imperfection.

Humanization ≠ perfection

The more 'perfect' the movement, the more robotic it looks. hzRecoil injects imperfection on purpose: the Perfect preset reads 99.9%, never 100%, because no human hand is exact. The parameters below control how much imperfection, and what kind, enters your spray.

01 / 05

Sensitivity

Before correcting any recoil, the macro has to speak the same 'movement language' as your CS2. This group makes sure every pixel of correction is the right size.

Sensitivity

Game Sensitivity

Tells hzRecoil your CS2 sensitivity so the compensation is scaled correctly.

Scale · 2.45 / sens interactive
Aim pointrecoil✓ 2.27×
What it does

Imagine pushing the mouse 1 cm. With high sensitivity the crosshair travels far; with low, barely at all. hzRecoil needs to know this 'exchange rate' to move the crosshair by exactly the right amount and cancel the recoil, not too little, not too much.

How it works

Every pattern point is multiplied by a scale factor of 2.45 / sensitivity before becoming mouse movement. At the default sensitivity of 1.08, the factor is ~2.27. If this value doesn't match your in-game sens, the whole pattern is mis-scaled. The app also auto-detects sensitivity by reading the CS2 config when you switch Steam accounts.

Range
> 0
Default
1.08
Higher vs. lower

Higher than your real sens → the macro pulls too much (overcompensates) and the crosshair drops past the target. Lower → it pulls too little and recoil leaks upward. The right value isn't 'high' or 'low': it's identical to the game's.

When to use

Keep it equal to your CS2 sensitivity (the sensitivity cvar). Changed your in-game sens? Update it here too, or trust auto-detection.

Interactions

It's the foundation of everything: if it's wrong, no amount of precision or humanization tuning will fix the scale. Get this right first.

02 / 05

Precision

How faithful the compensation stays to the ideal pattern. This is the dial that balances effectiveness (correct everything) against disguise (let a few shots slip the way a human would).

Precision

Precision

How faithful the compensation stays to the ideal pattern, from casual to surgical.

Compensation · 90% interactive
22 ✓ 2 skip
What it does

It's how much the macro 'nails' the correction. 100% corrects every shot; lower values let some shots through uncorrected, like a player who isn't 100% locked in all the time.

How it works

On each shot the system rolls a number from 0 to 100; if it's greater than or equal to precision, that shot is skipped (no correction, but timing is preserved). So precision 90 ≈ 10% of shots uncompensated; at 100 it never skips. The presets only set this value: Casual 70, Balanced 80, Competitive 90 (recommended) and Perfect 100. Perfect shows as 99.9% to remind you that a true 100% isn't human.

Range
50-100
Default
90
Unit
%
Higher vs. lower

Higher → a more faithful, lethal spray, but 'cleaner' and more predictable. Lower → more shots escape, looks more human, but you lose real spray control. It's the trade-off between effectiveness and disguise.

When to use

90 (Competitive) is the sweet spot for most. Push to 100 on training/aim maps; drop to 70-80 for a very conservative profile.

Interactions

Pairs with humanization: precision controls whether a shot is corrected; the humanization parameters control how the corrected movement is executed.

03 / 05

Basic Humanization

The simple imperfection settings, used when Advanced Humanization is off. They add light variation in space and time, and protect your opening shots.

Basic Humanization Basic mode

Random Deviation

A small random nudge on some shots, used when Advanced Humanization is off.

Deviation · ±2px interactive
What it does

Like a hand that never repeats a motion exactly, it jostles the correction on some shots by a few pixels, enough that the pattern isn't 'stamped' the same way each time.

How it works

Only active in basic mode (Advanced off). Each shot has a 30% chance to add a random integer between -d and +d px on X and Y. At 0 it's OFF.

Range
0-10
Default
2
Unit
px
Higher vs. lower

Higher → more visible variation, less precise but less robotic. Lower / 0 → raw, exact correction (easier to look mechanical).

When to use

In basic mode, 2 px is a subtle, safe disguise. If you use Advanced Humanization, this value is ignored.

Interactions

It's the 'simple' counterpart of the advanced Base Deviation. Turning on Advanced Humanization replaces this parameter with the Bézier / panic / degradation set.

Basic Humanization Basic mode

Timing Variation

Jitter in the time between movements, so the spray's rhythm isn't metronomic.

Burst (shot by shot) · 0-5ms interactive
Normal
What it does

Humans don't move the mouse at perfectly even intervals. This slightly shuffles the time between each micro-movement.

How it works

On each pause between movements, a random value between -t and +t ms is added (with a 0.1 ms floor). It's also passed to the movement send. At 0, timing is fixed.

Range
0-15
Default
5
Unit
ms
Higher vs. lower

Higher → more unpredictable, human rhythm, but too much can delay the correction and let recoil leak. Lower → precise but regular timing.

When to use

5 ms is a good middle ground. Above ~10 ms it starts to hurt spray fidelity.

Interactions

Acts on the time axis; the deviations (base / jitter / random) act on the space axis. Together they break both the 'where' and the 'when'.

Basic Humanization Basic mode

Clean Initial Shots

The first N shots fire without degradation; full humanization kicks in afterward.

Burst (shot by shot) interactive
Clean phaseDegradation
What it does

The start of a spray is where you most need precision: the opening shots decide the duel. So they fire 'clean' and imperfection only grows later.

How it works

For shots with an index below this value, deviation and jitter use the base level without the degradation multiplier; from there on, degradation grows each shot. Important: 'clean' means no degradation. Base Deviation and Jitter are still applied on these shots. They aren't perfect, they just don't get worse yet.

Range
1-30
Default
15
Unit
shots
Higher vs. lower

Higher → more consistent opening shots (good for short bursts), but the 'human signature' takes longer to appear. Lower → humanization starts early, more organic sprays but less reliable right off the bat.

When to use

15 covers the decisive phase of the AK/M4. For short-mag weapons, use a lower value; for long bursts (LMGs), you can raise it.

Interactions

Sets the point where the Degradation Factor starts acting. With degradation at 0, this parameter barely changes anything after the opening.

04 / 05

Advanced Humanization

With Advanced on, the mouse path is built from Bézier curves and sine easing, and gains three human behaviors: base deviation, panic mode and degradation across the burst. It replaces the basic Random Deviation.

Advanced Humanization Advanced

Base Deviation

The base random deviation of each shot in Advanced Humanization.

Deviation · ±1px interactive
What it does

It's the baseline 'shaky hand': each shot lands a little off the ideal point, at random.

How it works

For each shot, a uniform value between -d and +d px is added independently on X and Y, on top of the pattern point. After the initial shots this value is multiplied by degradation; during the opening phase it uses the full value, unmultiplied.

Range
0-5
Default
1.0
Unit
px
Higher vs. lower

Higher → less precise and more human (the spray 'opens up'). Lower / 0 → more locked onto the pattern, more effective but more mechanical.

When to use

~1.0 is a balanced disguise. Raise it for maximum realism; lower it for duels where raw precision matters most.

Interactions

Works alongside Jitter (Base = where the shot lands; Jitter = the tremor on the way there) and is amplified by Degradation and Panic.

Advanced Humanization Advanced

Jitter Magnitude

Micro-tremors that accumulate across the burst and feed the Bézier curve.

Mouse path · Bézier interactive
Control points · Drag to test
What it does

It's the fine, continuous tremor of the hand: small, but 'drifting' as the burst goes on.

How it works

On each micro-step, a random tremor step is added (an accumulated walk, clamped to the magnitude). And that magnitude grows within the burst: jitter × (1 + shot_number × 0.1). The same magnitude also generates, on each spray, the Bézier curve that waves the movement path.

Range
0-1
Default
0.10
Higher vs. lower

Higher → more noticeable tremor and a wavier, more human path; overdo it and fidelity suffers. Lower / 0 → an almost straight, stable path.

When to use

0.10 gives a subtle tremor. Small changes have a big effect, move in steps of 0.01.

Interactions

Adds to Base Deviation and is multiplied in Panic Mode and by Degradation. Technical note: in the app's current configuration, micro-steps are generated with subdivision 1 (the pattern is already subdivided), so the Bézier curve's offset at the endpoint is zero. What actually lands per shot is one accumulated jitter step.

Advanced Humanization Advanced

Panic Threshold

Per-shot chance of entering 'panic mode', a momentary loss of control.

Panic · 8% · 2.0× interactive
NormalPanic
What it does

Every now and then a real player gets startled and the hand jerks. This sets the chance of that happening.

How it works

On each shot, with probability equal to this value, the system enters panic. In panic, deviation and jitter are multiplied (see Panic Multiplier) and, on each following shot, there's a 20% chance to recover. Shown as a %.

Range
0-50
Default
2
Unit
%
Higher vs. lower

Higher → more frequent bursts of inaccuracy (very human, but costs control). Lower / 0 → a stable spray, no jolts.

When to use

~2% is rare and subtle. Above ~10% panic starts to genuinely get in the way.

Interactions

On its own it does nothing: it's the Panic Multiplier that sets the intensity when it fires. Threshold = frequency; Multiplier = strength.

Advanced Humanization Advanced

Panic Multiplier

How much deviation and jitter grow when panic fires.

Panic · 8% · 2.0× interactive
NormalPanic
What it does

When the 'hand jerks', how far it jerks. 1× = panic with no effect; 3× = strong jolts.

How it works

While panic is active, the current deviation and jitter are multiplied by this factor. Panic persists for a few shots (20% chance to exit each shot).

Range
1-3
Default
1.0
Unit
×
Higher vs. lower

Higher → when panic hits, the error is large and visible. → panic has no practical effect, even when it fires.

When to use

At the default 1.0× panic is neutral. To simulate real jolts, ~1.5-2.0× combined with a low threshold.

Interactions

Pairs with the Panic Threshold: low threshold + high multiplier = rare but intense jolts; high threshold + low multiplier = constant, mild instability.

Advanced Humanization Advanced

Degradation Factor

Makes inaccuracy grow each shot after the opening phase: muscle fatigue across the burst.

Burst (shot by shot) interactive
Clean phaseDegradation
What it does

The longer the burst, the more the hand tires and control slips. This controls how fast that wear sets in.

How it works

After the initial shots, deviation and jitter are multiplied by 1 + shot_index × factor. With factor 0.02 and 25 shots, deviation is ~1.5× the base by the end of the burst. The index used is the absolute position in the pattern, so there's a small jump right at the end of the opening phase.

Range
0-0.3
Default
0.02
Higher vs. lower

Higher → the spray 'opens up' fast on long bursts (very human on LMGs). Lower / 0 → constant precision from start to finish.

When to use

0.02 is a subtle wear. For very long bursts, slightly higher values accentuate the effect.

Interactions

Ties directly to Initial Shots (sets where it begins) and amplifies Base Deviation and Jitter over time.

05 / 05

Aim Return

After the spray, your crosshair is way down low. This group brings it back near the original point, with configurable speed, delay and accuracy.

Aim Return

Aim Return

After the burst, the mouse moves back on its own toward the original aim point.

Aim point · 400ms · 40ms · ±15px interactive
Aim point
What it does

While compensating for recoil, your crosshair drops a lot. The return brings it back near where you were aiming, ready for the next target, like a player repositioning after the spray.

How it works

When you release the button (or the mag runs out), the system undoes the total accumulated displacement with a smooth movement (ease-out). The three settings below control the speed, delay and accuracy of that return.

Range
On / Off
Default
Off
Higher vs. lower

On → automatic repositioning, great for switching targets. Off → the crosshair stays where compensation left it.

When to use

Turn it on if you tend to spray and want to snap back to center fast. Then tune the three parameters below to your style.

Interactions

Encompasses Speed, Delay and Point variation. The return only happens if there was accumulated displacement.

Aim Return

Return Speed

How long the move back takes.

What it does

Sets whether the crosshair snaps back or drifts back smoothly.

How it works

The total displacement is undone over this duration, decelerating at the end (ease-out). Lower values = faster return.

Range
50-500
Default
400
Unit
ms
Higher vs. lower

Higher → slow, smooth return (natural, but takes longer to be ready). Lower → near-instant return (snappy, but more abrupt and robotic).

When to use

400 ms is smooth and natural. For aggressive play, 150-250 ms returns faster.

Interactions

Combines with Delay: total time until ready = delay + speed.

Aim Return

Return Delay

How long the system waits before starting to move back.

What it does

A little pause before the crosshair starts coming back up, like the fraction of a second you'd take to react.

How it works

After the burst ends, this time is waited out and only then does the return movement begin.

Range
0-200
Default
40
Unit
ms
Higher vs. lower

Higher → a more noticeable pause before returning (more human, less immediate). Lower / 0 → starts coming back right away.

When to use

40 ms gives a natural breath. Raise it if the return feels too rushed.

Interactions

Adds to Speed in the total time. High delay + high speed = a sharp but late return.

Aim Return

Return Point Variation

How exact the crosshair's stopping point is. 0 = exact, higher = more human.

What it does

No player returns to exactly the same pixel. This randomly scatters where the crosshair stops at the end of the return.

How it works

A point is drawn inside a circle whose radius equals this value (uniform over the area) and added to the return destination. At 0, the return is exact and shows as PERFECT.

Range
0-50
Default
15
Unit
px
Higher vs. lower

Higher → a more scattered, human ending, but less exact. 0 → return locked onto the point (precise, but mechanical).

When to use

15 px is a natural inaccuracy. Use 0 only if you want a surgical return (less disguised).

Interactions

It's the return-side equivalent of the spray's Base Deviation: it trades exactness for a human look.