Page 1 of 1

CS2 screen shake: the four effects behind it, the commands that work, and the one that cannot be removed

Posted: Thu Oct 22, 2026 5:05 am
by ice
Quick summary
  • Most of what players call screen shake in CS2 is four separate effects, and three of them can be reduced.
  • cl_usenewbob 0 is the one command confirmed working in the current build, and it is the biggest single change.
  • The camera jerk you get when someone shoots you is server controlled and cannot be removed in matchmaking.
  • Everything below is visual only. None of it changes recoil, spread, or hit registration.
The four effects
  • Weapon bob: the gun and your view sway while you run. Fixed with cl_usenewbob 0.
  • Visual recoil kick: the weapon model jumps around during a spray. Fixed with viewmodel_recoil 0.
  • Aim punch: your camera jerks when you take damage. Server side in matchmaking, so no command fixes it. Armor reduces how far it moves you.
  • Landing thud: the brief dip when you fall. Softened by the bob settings rather than removed.
The command that matters

Code: Select all

cl_usenewbob 0
This restores the older, flatter bob animation. It is client side and legal everywhere, including Premier and competitive. It does not touch accuracy; it only changes the animation you see. CSDB.gg lists it as the one lever confirmed working in current CS2, and notes that the other bob variables have been added, removed, and re-added across updates.

The rest of the bob family

Code: Select all

cl_bobamt_lat 0.4
cl_bobamt_vert 0.25
cl_bob_lower_amt 5
cl_bobcycle 0.98
cl_bobamt_lat and cl_bobamt_vert set the side to side and up and down sway, and 0.4 and 0.25 are their minimums. cl_bob_lower_amt controls how far the weapon drops while sprinting, with 5 as the floor and 21 as the default. cl_bobcycle sets the rhythm of the sway. If one of these returns Unknown command after a patch, the others still apply.

The weapon model during a spray

Code: Select all

viewmodel_recoil 0
With this at 0 the weapon model stays planted while you spray, which makes it easier to keep your eyes on the crosshair. Your actual recoil pattern is identical; this is visual only. The same page notes this is a legacy variable whose presence in current builds is unverified, so an unknown command error means it is simply doing nothing.

Pushing the viewmodel out

Code: Select all

viewmodel_fov 68
viewmodel_offset_x 2.5
viewmodel_offset_y 2
viewmodel_offset_z -2
A wider viewmodel FOV and a larger offset make whatever movement remains less intrusive. These are the same variables documented on the Valve Developer Community list of CS2 console commands, which gives the current defaults and flags.

The one you cannot fix

The camera punch from taking damage is server controlled and part of the balance of the game. On your own practice server you can neutralise it with sv_cheats 1 and view_punch_decay 999, but that is not available on Valve matchmaking servers. Armor reduces the effect heavily, which is one more reason to buy the vest.

Will these survive a restart?

Console entered settings usually persist, but updates can reset them. Put the commands in your autoexec.cfg so they load every launch.

Sources
CSDB.gg: How to remove screen shake in CS2
Skin.Club: CS2 bob command and recommended values
Valve Developer Community: List of Counter-Strike 2 console commands and variables