How to Observe Deadlock: Spectator Controls, Console Commands, and Overlay Setup
By Kris “Kashi” · Lead producer for College Deadlock, First Strike, and Death Slam Events
Spectating and observing Deadlock is simple at its core: you select the player you want to watch and the game shows you their point of view. It only gets more involved when you want to switch between players dynamically, hide the HUD for a clean broadcast feed, or fly the camera for a cinematic shot of a team fight. This guide covers the entry-level information for anyone who wants to observe tournament matches, or record their own content around the game. If you're new to the game itself, start with What Is Deadlock? and come back; if you want to see what a finished production looks like, every College Deadlock broadcast is built with exactly these tools.
The basics of observing Deadlock
When you first join a match as an observer, your camera is locked to a player. Moving the mouse rotates the camera, but it quickly snaps back to the player's view.
Freeing the cursor. Press J to enable the cursor. You can now move it without steering the camera, and click a hero portrait at the top of the screen or a position on the minimap to switch to someone else.
Cycling players. Left and right mouse clicks cycle through players, but only within the currently selected team. You cannot jump from Amber to Sapphire this way; use the portraits or the minimap for that. There are no default keybinds for jumping to a specific player, but see the console commands below for two ways to set that up.
Close and far cameras. The default view is the "close" camera, the same over-the-shoulder view you have when playing. The scroll wheel toggles between "close" and "far". The far view sits further back, centres the player on screen, moves the HP bar from the item panel on the left to a bar above the character, and shows player names above that bar. One caveat: the far view does not show where aimed abilities are pointed. Grey Talon's Charged Shot, for example, gives no aiming indication from the far camera.
Free cam. Press WASD or C while following a player to release the camera. You can now fly anywhere on the map and frame any angle, which is what you want during a chaotic fight. Shift raises the camera, Control lowers it. Pressing C again attaches the camera to the closest player in the close view, even if you left a far view to enter free cam.
Fog of war. F1 to F4 switch what the fog of war reveals: both teams, the selected target's view, Amber's view, or Sapphire's view.
These are the default spectator keybinds. All of them can be changed in settings if you prefer a different layout.
Console commands
The default bind to open the console is F7. If you already know your way around Source console commands, skip to the spectator-specific ones further down.
Prevent FPS drops when the game is not in focus
engine_no_focus_sleep 0
Essential on a production machine, where the game window is rarely the one in focus.
Hide or show the game UI
citadel_hud_visible false
citadel_hud_visible true
Hide or show the replay UI
citadel_hide_replay_hud true
citadel_hide_replay_hud false
Most useful when covering content from in-game replays: it hides the timeline controls at the bottom of the screen, so the UI looks exactly like a live match.
Note that this command hides clutter like the control keybinds, but also removes useful elements like the selected player's name in the top left and the team bar at the top. It works on live matches too, so it can be used for a cleaner game feed there as well.
Hide or show player outlines
citadel_player_glow_disabled true
citadel_player_glow_disabled false
Hide or show objective outlines
Guardians and Walkers:
citadel_boss_glow_disabled true
citadel_boss_glow_disabled false
Change the camera traverse speed
citadel_observer_roaming_speed 600
Sets the horizontal and vertical free-cam traverse speed. The default is 600, so 300 moves at half speed and 1200 at double. This only affects camera traverse; your mouse sensitivity is unchanged.
Bind commands to hotkeys
bind "[key]" [command]
Replace [key] with the key you want to bind, keeping the quotes, and [command] with the entire command exactly as you would type it in the console, including any values. Key names are listed on the Source 2 developer wiki.
For example, to bind numpad 5 to double your camera speed:
bind "kp_5" citadel_observer_roaming_speed 1200
Location binds for spectating
spec_goto [coordinates]
To get the camera's current coordinates, run spec_pos. It prints five numbers: X, Y, Z, pitch, and yaw. At the moment spec_goto only uses the coordinates; pitch and yaw stay whatever they were when the command ran.
Binding player selection
spec_target [1-12]
This should be the way to set player keybinds, but players are assigned their numbers at random when they load in. The player a given number selects will not be in the same slot from one game to the next: in one game it might be Amber player 1, in the next Sapphire player 4.
Recent updates have also shifted the range to somewhere between 0 and 13. Test which values work before you set any keybinds, and if the command does not trigger for all twelve players, extend the range to 14 and beyond.
spec_player [name]
Currently the more consistent way to select players, but it needs prep before a match and has limits. The command takes the player's exact Steam name. If a name uses Cyrillic characters, the command must use those exact characters. It will not work at all if the name contains a space, so for tournament play, tell players ahead of time to remove any spaces from their Steam names. (In College Deadlock, players' in-game names are on their team pages, so observers can build the bind list before match day.)
Offsetting the in-game UI for overlays with player names
This lets a broadcast overlay sit above the hero bar without covering it. This method only works with the replay UI hidden (see citadel_hide_replay_hud above).
- In Steam, open the game's properties and add
-devto the launch options. - Join any live game or replay and press F6 to open the developer console.
- Hover the hero bar in the UI. A light blue-green highlight should appear behind the hero icons, extending down to just below the ultimate status icon. Click it.
- Find
<CitadelHudTopBar...in the tree and click it. - On the right, add a line under
color. - Type
margin-top(press M and click to select the line), then set the offset followed bypx. For example,55pxshifts the bar down 55 pixels.
Fixing objective health clipping into the UI
After offsetting the hero bar, the objective health panel will overlap it. To fix that:
- Open the developer console.
- Search for
objective.<TeamObjectiveHealthPanel...should be highlighted and selected automatically. - Increase its
margin-topby the same amount you used for the hero bar. If the hero bar was offset by 55px, the margin goes from 130px to 185px.
I hope you found this guide useful. If you have feedback, recommendations, or requests, reach out on Discord at kashiwardian.
Interested in observing or producing for College Deadlock broadcasts? Get in touch, check the schedule for the next live match, or read about where collegiate Deadlock esports stands.