Skip to content

Built-in Console Commands

Besides the native commands and variables that are compiled into the client or server binaries, the console framework ships with a set of built-in commands that are handled directly by the console input buffer. They are part of the base framework, exist on both client and server unless noted otherwise, and are listed by the find command as internal commands.

Available on client and server

echo

echo [input1, input2, ...]

Prints the given inputs joined with spaces to the console. Called without arguments it prints usage information.

wait

wait [milliseconds]

Delays the execution of further queued commands by the given amount of time. The maximum supported delay is 10 000 ms.

clear

clear

Clears the console output buffer. Only available when typed directly into the console, not from config files or scripts.

find

find [substring]

Searches all registered ConVars, ConCmds, and built-in commands whose name contains the given substring, and prints the results with their descriptions. Only available from the console.

exec

exec [config name]

Executes a config file from the cfg directory. See Config Files for syntax and lookup rules. Not available to UGC scripts.

vstr

vstr [groupname, "command1;command2;..."]

Creates a named command group that executes multiple commands under one name. Calling vstr with an existing group name and no command list removes the group. Registering an existing group with a new command list replaces it. Group names may not collide with registered ConVars, ConCmds, or other reserved names.

Client only

bind

bind [key, command, (optional) description]

Binds a console command to an input key. The valid key names are listed on the Input Keys page, for example:

bind IK_R "echo Hello World" "My Description"

The optional description is shown in the keybind UI.

unbind

unbind [key]

Removes the binding previously registered for the given key.

Server only

setr

setr [convar, value]

Defines a server-enforced value for a client-side ConVar. When clients connect, the variable is created and set on their side accordingly.

The target must not exist as a ConVar on the server itself; setr is meant for overriding client-side defaults, not for changing server variables.