EXO Recoil Workshop

The Recoil Workshop builds a recoil-control Smart Action for one gun, on mouse or controller. Mouse players trace the gun's real pattern; controller players tune a live stick pull while they shoot. The result is saved on Fire in your current config.

What it is

The Recoil Workshop is the EXO's version of XIM's Recoil Modeling, made friendlier. It produces an ordinary Smart Action on your Fire button. While you hold Fire, that action pulls your aim against the gun's climb.

Path Used for What you do What it saves
Mouse Mouse and keyboard configs Fire a magazine at a wall and trace the bullet marks MOVE steps in mouse counts, named "Recoil control"
Controller Controller configs Shoot while the EXO pulls the right stick, and adjust the pull A wait, then right-stick AIM steps, named "Anti-recoil"

The workshop picks the path from your config's input type.

Where to open it

  • The Recoil Workshop button in Scripts (Smart mappings).
  • The Fire button's own panel.
  • The wrench icon on any action the workshop made. It re-opens the workshop with the saved values.

While the workshop is open, the EXO pauses every other Smart Action and stops scripts, so nothing else fires during tracing.

Scripts list: (A) the purple Recoil Workshop button, (B) an existing recoil action (Anti-recoil).
Scripts list: (A) the purple Recoil Workshop button, (B) an existing recoil action (Anti-recoil).

Mouse path, step by step

The mouse workshop is five pages in one sheet.

  1. Check. Confirm your DPI, aim-down-sights setting and in-game settings, then turn on I've checked my game settings. Turn on Only while aiming down sights if you want the recoil control to work only while ADS.
  2. Fire rate. Type the gun's RPM, or tap Measure, fire a full magazine, and let the EXO time your fire button. Then tap Use N RPM.
  3. Fire. Shoot a full magazine at a wall without fighting the recoil. If the shots land on top of each other, set Shots landing on top of each other? to Small, Medium or Large. That spreads the marks out, and the model removes the spread again later.
  4. Trace. Put the reticle on the first mark and press Trace. Move to each next mark and click Fire. These clicks are used for tracing and never shoot. Press Done. You can Trace another magazine; up to 8 are averaged.
  5. Tune. The model is drawn as dots over your trace. Set Fewer moves, Scale X, Scale Y and Wait scale, turn on Test it with the gun and shoot, then tap Accept.
Recoil Workshop Tune page with the model dots over the trace: (B) Test it with the gun, (A) Scale X / Scale Y steppers, (C) Accept.
Recoil Workshop Tune page with the model dots over the trace: (B) Test it with the gun, (A) Scale X / Scale Y steppers, (C) Accept.

The math

  1. From each traced magazine, the spread aid is removed: shot i's height minus spread × i.
  2. The magazines are averaged shot by shot. If only some magazines reached a shot, that shot is the average of those.
  3. The compensation path is the average pattern turned upside down (negated) and multiplied by Scale X and Scale Y.
  4. Shot i lands at i × 60000 ÷ RPM × Wait scale milliseconds. Movement is spread evenly between shots, so the pull is smooth, not a jerk per shot.
  5. Fewer moves merges neighbouring shots into one longer move as long as every skipped shot stays within level × 0.6% of the pattern's size (never less than 0.25 counts). The workshop reports the worst actual difference.

The moves are fed in before the mouse translator, so your config's curve, DPI and ADS sensitivity convert them exactly as they convert your hand. They arrive one tick (1–4 ms) later than your own movement.

Note The workshop model adds no randomness of its own. Random recoil is handled by averaging several magazines. Guns with heavily random or changing patterns give an approximate model.

Mouse path controls

Control Range Step Default Meaning
I've checked my game settings on / off — off (on when editing a saved action) Must be on before tracing
Only while aiming down sights on / off — off, or the saved setting Recoil control only while ADS
Fire rate 60–3000 RPM 10 600 Sets the time between shots
Rounds in the magazine (Measure) 2–100 1 30 Magazine size for timing and tracing
Shots landing on top of each other? Off / Small / Medium / Large (0 / 4 / 8 / 14 counts per shot) — Off Spreads overlapping marks so you can trace them
Samples up to 8 magazines — — More magazines give a steadier average
Fewer moves 0–10 1 3 Higher merges more shots into fewer moves
Scale X 0–400% 5 100% Sideways correction strength
Scale Y 0–400% 5 100% Up/down correction strength
Wait scale 25–400% 5 100% Stretches or squeezes the timing between shots
Test it with the gun on / off — off Runs the model while you hold Fire

Limits: 100 shots, 148 steps, 30 s of playback, 10 s per step.

Controller path, step by step

The controller workshop is "tune it while you shoot". There is no DPI, sensitivity or calibration step.

  1. Open the workshop from a controller config. Turn on Only while aiming down sights if you want it.
  2. Fire at a wall. The EXO pulls the right stick on top of your own stick, so you can still aim while it pulls.
  3. Use the D-pad while you shoot: up / down change Pull down by 1%, left / right change Pull sideways by 1%. The game does not see these D-pad presses.
  4. If the gun kicks harder later in the magazine, set Strength Start / Middle / End and Spray lasts. Use Start delay if the first shots barely move.
  5. Tap Accept.

The math

  • Strength is 0 during the start delay.
  • It then moves in straight lines from Start to Middle (at half of Spray lasts) to End (at Spray lasts), and holds at End after that.
  • The stick push is (Pull sideways × strength, Pull down × strength), limited to full deflection.
  • When saved, the curve becomes a wait for the delay, then AIM steps in 100 ms slices at each slice's middle strength (identical neighbours merge), then End strength held to the 30 s ceiling. Stick variance stays at the action default of ±1 point.

Controller path controls

Control Range Step Default Meaning
Pull down 0–100% 1 25% How hard the stick pulls down
Pull sideways -100 to +100% (minus = left) 1 0 Sideways drift correction
Start delay 0–2000 ms 10 0 Time before the pull starts
Strength Start / Middle / End 0–200% each 5 100 / 100 / 100% Pull strength through the spray
Spray lasts 0.5–10 s 0.5 3 s Where Middle and End fall
D-pad nudges ±1 per press 1 — Live adjustment while shooting
Only while aiming down sights on / off — off Pull only while ADS
Tip The controller path makes a smooth average line, not a traced zig-zag. If a small pull does nothing, your game's stick deadzone may be swallowing it: raise Pull down or lower the in-game deadzone.

How patterns are saved

  • Accept saves a normal Smart Action on Fire, set to run while held with no cooldown, gated to ADS or always.
  • It goes into the current config. Each game's config keeps its own recoil actions, so make one config per game.
  • The mouse action is named "Recoil control", with a note such as "Made in the Recoil Workshop at 800 DPI, 600 RPM".
  • The settings you used are stored with the action, so the wrench re-opens the workshop exactly where you left it.
  • Patterns travel with the config when you share or back up the config.

The workshop keeps a session open with the EXO. If the connection drops for 20 seconds, the EXO closes the workshop and un-pauses your other actions.

Tuning walkthrough (mouse)

  1. Load the gun in a private match or training area. Stand still facing a flat wall.
  2. Open the workshop, check your settings, and set the fire rate (Measure is easiest).
  3. Fire a full magazine without correcting. Trace it. Trace 2–3 more magazines for a steadier model.
  4. On Tune, turn on Test it with the gun and fire at the wall.
  5. Still climbing? Raise Scale Y by 5–10%. Dragging down? Lower it.
  6. Drifting sideways? Adjust Scale X the same way.
  7. Correction too early or late through the magazine? Adjust Wait scale.
  8. Pull feels steppy? Lower Fewer moves.
  9. Tap Accept.
Note Check each game's and platform's rules before you use scripts online.

Related: Smart Actions · Script timing · Aim settings