A Free and Customizable Spectator HUD for Your Counter-Strike 2 (and CS:GO) Streams.
The easiest way is to use the pre-packaged binaries, but other options will be available in the future.
cs-hud-win.exe
if you're on Windows, or cs-hud-linux
if you're on Linux. You can find more details on the Releases tab.gamestate_integration_drweissbrot_hud.cfg
.game/csgo/cfg
subdirectory, by default on Windows that is C:\Program Files (x86)\Steam\steamapps\common\Counter-Strike Global Offensive\game\csgo\cfg
. You can also find it by opening your Steam library, right-clicking CS2, Properties...
, Installed Files
, Browse...
, and then heading into the game
directory, then into csgo
, then cfg
.gamestate_integration_drweissbrot_hud.cfg
there.cs-hud-win.exe
or cs-hud-linux
.There's also the config page available at http://localhost:31982/config, and a separate radar for observing at http://localhost:31982/radar.
There are also some console commands you may want to use.
Depending on how you actually want to use the HUD, you've now got two options:
This is a good choice if you're fine with not seeing the HUD on top of the game yourself, or you can't or don't want to run the game in Fullscreen Windowed. It'll likely work similarly in alternatives to OBS.
URL
to http://localhost:31982/hud?transparent
, the Width
, Height
, and FPS
to the values you want, and make sure that Custom CSS
is empty.Alternatively, you can use a separate executable to overlay the HUD on top of CS.
cs-hud-win32-x64.zip
on Windows, or cs-hud-linux-x64.tar.gz
on Linux. Extract all files.cs-hud.exe
on Windows, or cs-hud
on Linux.Video
, and set the Display Mode
to Fullscreen Windowed
.Win
+Shift
+Arrow keys to move it to the correct monitor.Yes.
Everything should work with both CS:GO and CS2. If you spot anything weird, please open an issue.
Yes.
Attribution is not required, but if possible, please include a link to this GitHub project somewhere.
Counter-Strike's in-game spectator HUD isn't designed for video.
In a stream you can't, for example, just press Tab when you want to know how many kills someone has.
Since CS2 it doesn't even show player names!
Custom HUDs like this one are designed for video: They show you everything, are more readable on a big TV, and just look a bit nicer than the game.
Why would you use this HUD specificially? It's pretty easy to use, easy to extend and customize to your needs, and free. (Please do note that this is a passion project, so if you're a big TO that needs support SLAs, you might want to look elsewhere :D)
For simple visual changes like colors and fonts, open the HUD config page at http://localhost:31982/config and scroll down to Style Overrides
:
To change a color, select the color you want to use, then press Save
and Force HUD Refresh
.
Most surfaces use the css.terrorists-fill-rgb
color (and it's CT counterpart), most text uses css.terrorists-text-rgb
, etc.
Note that color changes are only applied after refreshing the HUD.
To change the font, type in the name of the font you want to use in the css.primary-font-family
textbox, then press Save
and Force HUD Refresh
.
The font needs to be installed on your PC.
Note that font changes are only applied after refreshing the HUD.
If you want everything to be a bit more zoomed in or zoomed out, type something into the css.base-scale-factor
textbox, then press Save
and Force HUD Refresh
.
By default this is roughly equivalent to 10px
, so if you want things to be twice as big, type in 20px
.
Things will likely break if you go too small or too big.
Note that changes to the scale factor are only applied after refreshing the HUD.
If you want to change something else, have a look at the docs.
Please have a look at the docs folder first. If nothing in there helps you, please open an issue. Please don't send me emails asking for help (emails about other things are fine).
Special Thanks to readtldr.gg for providing Simple Radar, the clean and readable minimaps included in this project. (You can also use them in the game, they're pretty great!)
Big shoutout to u/Bkid for documenting most of Game State Integration. This project wouldn't have happened without that post.