Developer knowledge network ยท moderated exchange

UnreliableCode Community

Developer Research, Reverse Engineering & Coding Community

Knowledge indexLive
4Categories
919Threads
2.8KPosts
Guide

Sub-Tick UserCmd Protobuf Angle Modification for Silent Aim in CS2 [v2.4 Technical Discussion]

hook_doctor
Hooking Specialist
MEMBER
Rep: 181
Join Date: Jul 2019
Posts: 21
Thanks: 50
1 months ago ยท Jul 12, 2026 3:06 AM
#1

In Counter-Strike 2, user commands use Protobuf serialization (CSGOUserCmdPB / CBaseUserCmdPB).

To alter aim angles without jittering the local first-person camera view:

  1. Hook CreateMove in client.dll.
  2. Access the active CUserCmdBase pointer.
  3. Modify pUserCmd->pSubTickContainer->pMessages->view_angles to target head bone angles.
  4. Preserve local camera angles in C_CSPlayerPawn->m_angEyeAngles.

The server receives the exact bullet vector while the local client screen remains butter-smooth and jitter-free!

netvar_ninja
Schema Master
MEMBER
Rep: 145
Join Date: Nov 2018
Posts: 16
Thanks: 89
1 months ago ยท Jul 12, 2026 8:32 AM
#2

Protobuf sub-tick usercmd manipulation is so much cleaner than the old CS:GO CUserCmd struct patching.

ptr_arithmetic
C++ Wizard
MEMBER
Rep: 162
Join Date: May 2018
Posts: 73
Thanks: 42
1 months ago ยท Jul 12, 2026 9:53 PM
#3

Just remember to normalize angles (-180 <= yaw <= 180 and -89 <= pitch <= 89) to prevent untrusted angle kicks.