Autoexec is best for settings you trust enough to load every time CS2 starts. Crosshair commands belong there only after you have tested the shape in real rounds.
Keep comments short and separate experimental codes from stable ones. A clean config is easier to debug when a bind or launch option stops working.
Selection notes
Autoexec is for stable settings
Autoexec loads commands when CS2 starts or when you run exec autoexec. Put crosshair commands there only after you trust the setup.
- Use the cfg folder under the CS2 game directory.
- Add +exec autoexec.cfg in launch options if needed.
- Run exec autoexec from console to verify immediately.
Separate stable and experimental codes
Keep your main crosshair commands clean. Store experiments in separate cfg files so a failed test does not pollute the launch config.
Troubleshoot load failures methodically
If autoexec does not load, check the file extension, folder, launch option, console errors, and whether another cfg overwrites the same crosshair variables.
Workflow
1. Convert the code to commands
Open a crosshair preview and copy the console command block.
2. Create or open autoexec.cfg
Use your CS2 cfg directory and keep a backup of the original file.
3. Paste stable commands
Add only the crosshair commands you want to load every launch.
cl_crosshairstyle 4; cl_crosshairsize 2; cl_crosshairgap -3
4. Exec and verify
Run exec autoexec in the console and verify the crosshair before joining a match.