Arma 3 Scripting

Arma 3: Debug Console

  • Also known as Arma 3 Debug Console, Mission Editor: Debug Console (Arma 3)

Topic · Markdown · JSON · original wiki page

Arma 3 v0.54

The Debug Console is an editing tool that provides scenario designers with the ability to observe variables and to execute code on the fly.

Access

While playing a mission from the editor, the console is immediately available in pause menu. In the old 2D Editor map screen, you can open it by clicking the "Debug Console" button or with Ctrl + D. In Eden editor it is available under Tools > Debug Console.

In multiplayer the debug console is available by default only when MP preview is started from Eden Editor, and is only available to the host who started it. In all other cases debug console needs to be explicitly enabled with either editor attribute or enableDebugConsole param (see below). It is worth noting that when debug console is configured for admin access, it is only available for logged in admin, voted in admin is treated just like any other user in this respect.

Configuration

The console is automatically available in missions running from editor. If mission designer wishes to enable it elsewhere, he can achieve it in one of the three ways:

Whitelisting Multiple Users (Arma 3 v1.72)

It is possible to let more than one person access debug console in Multiplayer. This is done by defining enableDebugConsole param as Array and adding UIDs of whitelisted users to this array, for example:

enableDebugConsole[] = { "81273982178973213", "3749832749732749", "7492374983274234" };

All users with UIDs matching the added UIDs will be able to access debug console in Multiplayer. Additionally, server host will also be able to use debug console, as well as any logged in admin on dedicated server.

Mod support

Since Arma 3 v1.72 it is possible to configure debug console availability with a mod param enableDebugConsole. This param is checked if no debug console option is set in the mission. If a server admin would like to make debug console available for a group of trusted people, he can create a custom mod, for example with enableDebugConsole = 2; then sign it and distribute it amongst trusted people. This way anyone who has this custom mod signed with correct signature, will be able to connect to the server and use debug console. Array of UIDs is also supported here.

To whitelist (multiple) users with a mod, if enableDebugConsole has already been defined, use the delete keyword:

delete enableDebugConsole;
enableDebugConsole[] = { "81273982178973213" };

Order of Precedence

  1. Mission param is checked. If it is not defined then...
  2. description.ext param enableDebugConsole is checked. If is not defined then...
  3. Eden attribute option is checked. If not defined then...
  4. Global/mod param enableDebugConsole is checked.

BattlEye Filters

Debug Console uses Remote Execution. If you wish to exclude Debug Console execution from BE Filters, add this to your remoteexec.txt

!="BIS_fnc_debugConsoleExec \[[0-2],\{.*\}\]"

Features

Note

You can clear large amounts of text from the expression field or a watch field by selecting the field and pressing Ctrl + A and then Del.

Expression field

4x Watch field

Execution result field (Arma 3 v1.74)

Expression History

The debug console will keep track of the last ten expressions which were executed. One can use ↟ PgUp and ↡ PgDown to cycle through them.

Buttons

All of the following buttons close the pause menu and open another window.

Profile Saving

The debug console automatically saves each field as you go, even after game restart. These can also be access using profileNamespace getVariable with the following code:

Using the same variables you can also clear or change the fields.

Utilities

In order to access Arma 3: Utilities from debug console, type utils in the debug console and press local exec. To go directly to the utility of your choice use utils n, where n is the number of the utility in the list. For example utils 2 will take you to config browser.

See Also