# 3. Command Console # Commands & Variables Information about general console commands and variables. # Commands (CMD)

Console Commands are unlocked by default after running the [Eternal Mod Injector](https://gamebanana.com/tools/download/7475).

### How to Use the Command Console - Press the [Grave Accent](https://en.wikipedia.org/wiki/Grave_accent) ( **`** ) key on your keyboard to open the console. - You may type any command in the terminal prompt, but you cannot control your character while the console is open. After you have typed your desired command, press **Enter** to execute it. - Press the ( **`** ) key again to exit the Command Console.

Opening the Command Console does **not** pause the game.

Commands are **not** case-sensitive.

### Common Console Commands

If you are having trouble finishing a command, select **TAB** and the console with display available parameters.

##### **Command** ##### **Information** ##### **Example**
**listcmds**Lists all of the available console commands.**`listcmds`**
**bind**Binds a command to a specific key.**`bind del killai`**
**unbind**Unbinds a command from a key.**`unbind del`**
**kill** Instantly kills the player once, consuming an Extra Life if one is present. **`kill`**
**god**Makes the player invulnerable to damage. This command is toggle-able by itself. **`god`**
**give** Gives the player resources in full capacity or adds an item to the player's inventory. `give health` `give armor` **`give ammo`**
**gibalicious** Instantly gibs all AI present in the level.`gibalicious`
**removeInventoryItem** Removes an item for the player's inventory. **`removeInventoryItem weapon/player/bfg`**
**disconnect** Automatically disconnects you from a multiplayer match. **`disconnect`**
**warning\_disable** Disables console warnings that are displayed in red text. **`warning_disable all`**

None of these commands require [**Meath00k**](https://github.com/brongo/m3337ho0o0ok/releases/latest). However, should you need **noclip** or **notarget** enabled, you must have **XINPUT1\_3.dll** downloaded and placed into your DOOM Eternal installation folder. ex: **C:\\Program Files (x86)\\Steam\\steamapps\\common\\DOOMEternal**

### See Also - [Console Variables (CVAR)](https://wiki.eternalmods.com/books/3-command-console/page/console-variables-cvar) - [Meath00k Commands](https://wiki.eternalmods.com/books/3-developer-console/page/meath00k-commands) - [How to Install Mods (Doom Eternal)](https://wiki.eternalmods.com/books/beginners-guide-how-to-install-mods/page/how-to-install-mods-doom-eternal) # Console Variables (CVAR)

Console Variables are like [Console Commands](https://wiki.eternalmods.com/books/3-command-console/page/commands-cmd) but require specific numeric variables following the command.

### Common Console Variables

If you are having trouble finishing a command, select **TAB** and the console with display available parameters.

##### **Command** ##### **Information** ##### **Example**
**listcvars** Lists all of the available console variables.**`listcvars`**
**g\_giveExtraLives**Gives the player extra lives. Up to 99.**`g_giveExtraLives 5`**
**g\_infiniteAmmo**Toggles infinite ammo. 0 = Finite Ammo (Default) 1 = Infinite Ammo **`g_infiniteAmmo 0`** `g_infiniteAmmo 1`
**g\_damageScaleAllToAI**Changes the amount of damage the player deals to AI. 1 = Default **`g_damageScaleAllToAI 0.5`** **`g_damageScaleAllToAI 1`** `g_damageScaleAllToAI 5`
**judgemeter\_Infinite** Toggles infinite Crucible ammo. `judgemeter_Infinite 0` `judgemeter_Infinite 1`
**timescale**Changes the speed of the world. 1 = Default `timescale 0.5` **`timescale 1`** **`timescale 5`**
**pm\_noclipspeed**Changes the movement speed of the player while in noclip. (requires [Meath00k](https://github.com/brongo/m3337ho0o0ok/releases/latest)) 50 = Default **`pm_noclipspeed 10`** **`pm_noclipspeed 50`** **`pm_noclipspeed 200`**
**pm\_disableNightmareGodMode** Toggles the health penalty the player receives when they type the **god** command in an Ultra Nightmare save. 0 = Penalty Active (Default) 1 = Penalty Inactive `pm_disableNightmareGodMode 0` `pm_disableNightmareGodMode 1`
**ai\_faction\_overrideEmotion\_ai** Changes the AI behavior of all AI in the map. -1 = DYNAMIC (Default) 0 = MIN `ai_faction_overrideEmotion_ai 0`
**hands\_fovscale** Changes the field of view scale for first person weapon models. **`hands_fovscale 1`**
### See Also - [Commands (CMD)](https://wiki.eternalmods.com/books/3-command-console/page/commands-cmd) - [Meath00k Commands](https://wiki.eternalmods.com/books/3-developer-console/page/meath00k-commands) - [How to Install Mods (Doom Eternal)](https://wiki.eternalmods.com/books/beginners-guide-how-to-install-mods/page/how-to-install-mods-doom-eternal) # Command Groups Information about commands that are specific for a given category. # Meath00k Commands

The Meathook tool is required to execute special commands like **noclip** and **notarget**.

### Meath00k Tool **Meath00k (aka M347h00k or Monkeyhook) *by Chrispy* - [Download](https://github.com/brongo/m3337ho0o0ok/releases/latest)** \- Meath00k unlocks developer commands and allows you to edit your level in-game. *To install: Download `XINPUT1_3.dll` and place it into the DOOM Eternal installation directory (like how you installed the Mod Injector).* ### Basic Meathook Commands
##### **Command** ##### **Information** ##### **Example**
**chrispy Spawns an entity at the position of your cross-hair. See [EntityDefs](https://wiki.eternalmods.com/books/7-miscellaneous/chapter/entitydefs) for more possible spawns.`chrispy ai/heavy/hellknight` `chrispy pickup/powerup/berserk`
**noclip**Allows the player to pass through geometer unhindered. This command is toggle-able by itself.`noclip`
**notarget**Prevents the player from being target-able, which makes the AI idle. This command is toggle-able by itself.`notarget`
### All Meathook Commands
##### **Command** ##### **Information** ##### **Example**
**mh\_active\_encounter**Get the list of active encounter managers.`mh_active_encounter`
**mh\_ang2mat**mh\_ang2mat pitch yaw roll : converts the pitch, yaw and roll values for idAngles to a decl - formatted matrix, copying the result to your clipboard.
**mh\_angleincr**<double> amount to inc/dec by with angle editing.
**mh\_cpuinfo**Takes no args, dumps info about your cpu for dev purposes.
**mh\_current\_checkpoint**Get the current checkpoint name.`mh_current_checkpoint`
**mh\_dump\_bmodel**<name> <output path> <skip\_compression> Finds a staticmodel and then executes writestaticbmodel to the provided path.
**mh\_dumpeventdefs**mh\_dumpeventdefs <as enum = 0/1>
**mh\_dumpmap**Dump current idMapLocal to a .map file.
**mh\_dumppropidxinfo**Debug command for dumping the corresponding addresses/rvas for property indices.
**mh\_editor**Sets up the editor session.
**mh\_editor\_keys**Tells you editor stuff.
**mh\_editor\_spawn**Spawns an entity, saving it to the map and grabbing it for manipulation.
**mh\_end\_spawnrec**No args, closes current spawnfile.
**mh\_force\_reload**Force reload current level.`mh_force_reload`
**mh\_gencvarset**Regenerate doom\_eternal\_cvars\_generated.cpp/hpp for mh build.
**mh\_genpropset**Regenerated doom\_eternal\_properties\_generated.cpp/hpp for use in mh builds. Not for users.
**mh\_grab**Grab an object.**`mh_grab` (while facing an object)**
**mh\_justforme**The password is: **inut4splenda** This unlocks advanced commands that are only useful for the developer of the meathook tool.`mh_justforme`
**mh\_killAi**Kills all living AI.**`mh_killai`**
**mh\_kw**Searches all types, enums, typedefs, their comments, field names, typename, template args,eventdefs,vtbl names, cvar names, cvar descriptions for the provided keywords.
**mh\_list\_entity\_types**<filter> lists the names of all subclasses of idEntity with optional filter.
**mh\_list\_resource\_lists**Lists all resource lists by classname/typename, copying the result to the clipboard (the clipboard might not be helpful here).`mh_list_resource_lists`
**mh\_list\_resources\_of\_class**<resourcelist classname> lists all resources in a given list, copying result to clipboard.
**mh\_locate\_fspec\_char\_uses**<char> Finds all usages of a provided char in event formatspecs/rettypes.
**mh\_optimize**Patches the engine to make stuff run faster. Do not use online, might result in slightly different floating point results (probably not though).
**mh\_printentitydef**Print the entitydef of the entity with the provided name to the console.
**mh\_randomact**<distance> <scalar> uses scalar + random values to randomly change the color, scale, and velocity of all entities within distance from player.
**mh\_reload\_decl**mh\_reload\_decl <classname(ex:idDeclWeapon)> <decl path>`mh_reload_decl idDeclEntitydef ai/heavy/hellknight`
**mh\_removeAi**Removes all living AI.
**mh\_ScriptCmd**<event> <args> ai\_ScriptCmd resurrected, now copies the results of the eventcall to your clipboard for chaining commands together.
**mh\_ScriptCmdEnt**<entity> <event> <args> ai\_ScriptCmdEnt resurrected, now copies the results of the eventcall to your clipboard for chaining commands together.
**mh\_set\_charscaling**<w> <h> smallchar w/h override
**mh\_spawnfile**<spawn file path> spawns the entities at the positions from the file.
**mh\_spawninfo**Copy your current position and orientation, formatted as spawnPosition and spawnOrientation to the clipboard.`mh_spawninfo`
**mh\_spmap**<map name> shortcut for map maps/game/sp/<map name>/<map name>
**mh\_start\_spawnrec**<spawn file path> starts recording all chrispy/rechrispy spawns/spawn positions to a file for later exec by mh\_spawnfile.
**mh\_test\_genbmodel**<obj path> <output path> (YOU MUST BE ON V1 WITH RANDOMBASEADDR FLAG OFF ON EXE FOR THIS RIGHT NOW) generate bmodel in standalone resource from .obj
**mh\_testgui**Displays a test GUI. This does not go away until you quit the game`mh_testgui`
**mh\_testmaterial**Takes one arg, a material name. Renders the material to the test window. Passing no args clears the test window.
**mh\_type**Dump fields for provided class.
### See Also - [Commands (CMD)](https://wiki.eternalmods.com/books/3-command-console/page/commands-cmd) - [Console Variables (CVAR)](https://wiki.eternalmods.com/books/3-command-console/page/console-variables-cvar) - [Entities](https://wiki.eternalmods.com/books/5-level-modding/chapter/entities) # Performance Commands ### Where to find Performance Commands Go to the Developer Console, you can find all the needed commands with **`find cvar `**
##### **Command** ##### **Information**
**find cvar**Displays information about cvar and the commands that include cvar.
**find cvar r\_**Displays ALL performance commands.
**find cvar r\_ shadow**Displays commands that affect shadows.
**find cvar r\_ texture**Displays commands that affect textures.
**find cvar r\_ water**Displays commands that affect water.

The space after **r\_** is important for finding all the performance-based commands that includes the word after it.

### Recommended Performance Commands Reduce the values of the following (lower value = better performance): - **r\_antialiasing** - **r\_dof** - **r\_hdrBloom** - **r\_shadowAtlasWidth** - **r\_textureLodBias** - **r\_waterReflections** - **r\_waterReflectionsTAA** Set the following to 1: - **r\_skipDecals** - **r\_skipMaterialBlending** ### See Also - [Console Variables (CVAR)](https://wiki.eternalmods.com/books/3-command-console/page/console-variables-cvar) # Load Battlemode Maps

See [Commands (CMD)](https://wiki.eternalmods.com/books/3-command-console/page/commands-cmd) for additional help.

### Skip BATTLEMODE Intro Load the following command from the Main Menu. It automatically skips the intro podium event. Replace **1** with 0 (or restart DOOM Eternal) to revert the change. ``` pvp_skipreadyup 1 ``` ### BATTLEMODE Maps The `loaddevmenuoption` command allows the host player (and their party of 2 or 3) to immediately load into a BATTLEMODE map with their currently selected character and loadout in the lobby. #### Load Dev Menu Option
**Map Name****Console Command**
Forsaken (Sentinel City)`loaddevmenuoption devmenuoption/pvp 0 1`
Tundra (Cultist Base)`loaddevmenuoption devmenuoption/pvp 2 1`
Armageddon (Super Gore Nest)`loaddevmenuoption devmenuoption/pvp 3 1`
Extraction (Mars)`loaddevmenuoption devmenuoption/pvp 4 1`
Celestial (Urdak)`loaddevmenuoption devmenuoption/pvp 5 1`
Torment (UAC Facility)`loaddevmenuoption devmenuoption/pvp 7 1`
Penance (Hell)`loaddevmenuoption devmenuoption/pvp 8 1`
Corrosion (Blood Swamps)`loaddevmenuoption devmenuoption/pvp 9 1`
Stronghold (Immora)`loaddevmenuoption devmenuoption/pvp 10 1`

Options 1 and 6 do not load a map.

#### Map (Single Player Only) Alternatively, the `map` command can be used to quickly load into any map as a Slayer while in the main menu. However, this does not load party members into the same map.
**Map Name****Console Command**
Celestial (Urdak)`map game/pvp/pvp_bronco/pvp_bronco`
Corrosion (Blood Swamps)`map game/pvp/pvp_darkmetal/pvp_darkmetal`
Penance (Hell)`map game/pvp/pvp_deathvalley/pvp_deathvalley`
Tundra (Cultist Base)`map game/pvp/pvp_inferno/pvp_inferno`
Forsaken (Sentinel City)`map game/pvp/pvp_laser/pvp_laser`
Torment (UAC Facility)`map game/pvp/pvp_shrapnel/pvp_shrapnel`
Stronghold (Immora)`map game/pvp/pvp_sideswipe/pvp_sideswipe`
Armageddon (Super Gore Nest)`map game/pvp/pvp_thunder/pvp_thunder`
Extraction (Mars)`map game/pvp/pvp_zap/pvp_zap`

Hostile fodder will indefinitely spawn in all arenas.

To exit a map, simply leave the game.

### See Also - [How to Play Multiplayer Mods](https://wiki.eternalmods.com/books/9-multiplayer-modding/page/how-to-play-multiplayer-mods-legacy) # Swap Crucible & Hammer

See [Commands (CMD)](https://wiki.eternalmods.com/books/3-command-console/page/commands-cmd) for additional help.

### Swap Crucible -> Hammer ``` removeinventoryitem weapon/player/crucible give weapon/player/hammer ``` ### Swap Hammer -> Crucible ``` removeinventoryitem weapon/player/hammer give weapon/player/crucible ```

You cannot give yourself the **Sentinel Hammer** from **Horde Mode**. While it is a separate weapon file, it will not save if you enter a menu.

#### **Full Crucible Charges** ``` judgementMeter_Set 3 ```

There are no known commands that restore **Sentinel Hammer** or **Blood Punch** charges.

### See Also - [Player Weapons](https://wiki.eternalmods.com/books/3-command-console/page/player-weapons) # Player Weapons

See [Commands (CMD)](https://wiki.eternalmods.com/books/3-command-console/page/commands-cmd) for additional help.

### All Slayer Weapons You can use the `give` command to add weapons to your inventory, or the `removeInventoryItem` command to remove them. ``` weapon/player/bfg weapon/player/bfg_base weapon/player/bfg_charge_beam weapon/player/bfg_charge_beam_arc weapon/player/bfg_charge_beam_burn weapon/player/bfg_charge_sphere weapon/player/bfg_charge_sphere_arc weapon/player/bfg_charge_sphere_beam weapon/player/bfg_rapid_fire_beam weapon/player/bfg_rapid_fire_beam_arc weapon/player/bfg_rapid_fire_beam_burn weapon/player/bfg_rapid_fire_sphere weapon/player/bfg_rapid_fire_sphere_arc weapon/player/bfg_rapid_fire_shpere_burn weapon/player/chaingun weapon/player/chaingun_energy_shell weapon/player/chaingun_energy_shell_primary weapon/player/chaingun_turret_primary weapon/player/chaingun_turret_secondary weapon/player/chainsaw weapon/player/crucible weapon/player/doomblade weapon/player/double_barrel weapon/player/double_barrel_meat_hook weapon/player/double_barrel_primary_lockon weapon/player/equipment_flame_belch weapon/player/equipment_flame_belch_right weapon/player/fists weapon/player/fists_berserk weapon/player/fists_doom5melee weapon/player/fists_swim weapon/player/gauss_rifle weapon/player/gauss_rifle_ballista weapon/player/gauss_rifle_destroyer weapon/player/hammer weapon/player/hammer_horde weapon/player/hammer_slam weapon/player/heavy_cannon weapon/player/heavy_cannon_bolt_action weapon/player/heavy_cannon_burst_detonate weapon/player/heavy_cannon_burst_detonate_faster_recharge weapon/player/heavy_cannon_burst_detonate_mastery weapon/player/plasma_rifle weapon/player/plasma_rifle_secondary_aoe weapon/player/plasma_rifle_secondary_aoe_mastery_primary_supercharge weapon/player/plasma_rifle_secondary_microwave weapon/player/pointing_arm weapon/player/rocket_launcher weapon/player/rocket_launcher_detonate weapon/player/rocket_launcher_lock_mod weapon/player/rocket_launcher_lock_mod_mastery weapon/player/shotgun weapon/player/shotgun_secondary_full_auto weapon/player/shotgun_secondary_pop_rockets weapon/player/shotgun_secondary_pop_rockets_mastery weapon/player/unmaykr ```

Some weapons listed, like the BFG variations, are unused and may not work.

#### Examples `give weapon/player/bfg` - Adds the BFG to the player's arsenal `removeInventoryItem weapon/player/bfg` - Removes the BFG from the player's arsenal ### See Also - [Swap Crucible & Hammer](https://wiki.eternalmods.com/books/3-command-console/page/swap-crucible-hammer) # SnapHak/Bubblebear commands ### Overview Bubblebear (also known as SnapHak) is a tool by chrispy that adds additional functionality to Doom 2016, including extending the capabilities of SnapMap beyond the in-game editor, adding loose file (re)loading, new superscripts, and unlocking/adding other console commands, which are listed down below. Note that latter versions of Bubblebear have mod loading functionality, conflicting with emoose's mod loader, which is the currently widely used mod loader. Bubblebear's mod loading method does not require devmode, but does not support the addition of new assets, and is incompatible with mods that do so. - [Download link (latest)](https://cdn.discordapp.com/attachments/696423960169939054/816460282318684180/Snaphak1.3.7z) - [Download link (latest without mod loader)](https://cdn.discordapp.com/attachments/595157080025858049/825478183854800906/sh2_beta.7z) ### List of commands
##### **Command** ##### **Information** ##### **Usage** ##### **Example**
**sh\_spawn**Spawns an entity at the player's position. Note that `god` or `noclip` should be enabled, or the spawned entity may collide with and kill the player. `sh_spawn `sh\_spawn ai/demon/mancubus randomname1

This article is currently incomplete