

This mod adds various debugging commands to the console. See below for all commands plus explanation.
Harb, iDeathHD and 's reimplementation of Morris1927's RoR2Cheats. Derived with permission.
Also adds autocompletion for arguments and networked commands giving their information to the right people to the console. Read here to see how you can use the autocompletion feature for your own mod.
Track update progress, get support and suggest new features over at the DebugToolkit discord.
Some vanilla console functions you might not know:
ctrl+alt+~ or ctrl+alt+f2.
~ or f2 to toggle the window.Page Up as an alternative to the default key since the latter is language dependent. Configurable.help {command} may be used to get help for a specific command.find {term} can be used to find commands with that term.max_messages {nr} changes how much scroll back the console has. We auto change this to 100 for you if it's on default.You may contact us at any time through issues on GitHub, the dedicated discord server or through the Risk of Rain 2 modding Discord found at the top of the Thunderstore website.
Command Parsing:
;.._-: are allowed. Any other character requires being surrounded by quotes in order to be parsed literally. Both " and ' work, while \" and \' also work when nesting quotes.Verbiage:
{needed}, (choose one), and [optional].:. Any preceeding optional arguments from the one entered become necessary, but empty double quotes ("") can be used as a placeholder for the default value. If an optional argument is required from a dedicated server, it will be preceeded by *.list_ commands for options and which result would take precedence if there are multiple matches.Commands:
next_stage [specific_stage]. If no stage is entered, the next stage in progression is selected.force_family_eventlist_directorcards. next_boss {director_card} [count:1] [elite:None]fixed_time [time]. If no time is supplied, prints the current time to console.pause_timer [enable (0|1)]. If no argument is supplied, toggles the current state. Only works for "Stage" and "TimedIntermission" stages.next_waveforce_wave [wave_prefab]. If no input is supplied, prints all available options and clears any previous selection.set_run_waves_cleared {wave}add_portal {portal ('blue'|'celestial'|'gold'|'green'|'void'|'all')}.charge_zone {charge}. The value is a float between 0 and 100.seed [new_seed]. Use 0 to specify the game should generate its own seed. If used without argument, it's equivalent to the vanilla run_get_seed.set_artifact {artifact (artifact|'all')} [enable (0|1)]. If enable isn't supplied, it will toggle the artifact's current state. However, it is required when using "all".kill_all [team:Monster].true_kill *[player:<self>]respawn *[player:<self>]hurt {amount} *[target (player|'pinged'):<self>]*heal {amount} *[target (player|'pinged'):<self>]*teleport_on_cursortime_scale [time_scale]. If no argument is supplied, gives the current timescale.post_sound_event {sound_event (event_name|event_id)}delay {delay} {<consolecommands separated by ;>}List Commands:
list_ commands support filtering. A number for the unique index or any string for partial matching.next_boss command.Dump Commands:
dump_state *[target (player|'pinged'):<self>]Buff Commands:
give_buff {buff} [count:1] [duration:0] *[target (player|'pinged'):<self>]give_dot {dot} [count:1] *[target (player|'pinged'):<self>] *[attacker (player|'pinged'):<self>]remove_buff {buff} [count:1] [timed (0|1):0/false] *[target (player|'pinged'):<self>]remove_buff_stacks {buff} [timed (0|1):0/false] *[target (player|'pinged'):<self>]remove_all_buffs [timed (0|1):0/false] *[target (player|'pinged'):<self>]remove_dot {dot} [count:1] *[target (player|'pinged'):<self>]remove_dot_stacks {dot} *[target (player|'pinged'):<self>]remove_all_dot *[target (player|'pinged'):<self>]Item Commands:
remove_item: give_item {item} [count:1] [type ('permanent'|'temp'):'permanent'] *[target (player|'pinged'|'evolution'|'simulacrum'|'voidfields'|'devotion'):<self>]random_items {count} [droptable (droptable|'all'):'all'] [type ('permanent'|'temp'):'permanent'] *[target (player|'pinged'|'evolution'|'simulacrum'|'voidfields'|'devotion'):<self>]give_equip {(equip|'random')} *[target (player|'pinged'|'evolution'|'simulacrum'|'voidfields'|'devotion'):<self>]give_money {amount} [target ('all'|player):'all']give_lunar [amount:1]give_item: remove_item {item} [count:1] [type ('permanent'|'temp'):'permanent'] *[target (player|'pinged'|'evolution'|'simulacrum'|'voidfields'|'devotion'):<self>]remove_item_stacks {item} *[target (player|'pinged'|'evolution'|'simulacrum'|'voidfields'|'devotion'):<self>]remove_all_items *[target (player|'pinged'|'evolution'|'simulacrum'|'voidfields'|'devotion'):<self>]remove_equip *[target (player|'pinged'|'evolution'|'simulacrum'|'voidfields'|'devotion'):<self>]restock_equip [count:1] *[target (player|'pinged'|'evolution'|'simulacrum'|'voidfields'|'devotion'):<self>]create_pickup {object (item|equip|'lunarcoin'|'voidcoin')} [type ('permanent'|'temp'):'permanent'] [search ('item'|'equip'|'both'):'both'] *[player:<self>]create_potential [droptable (droptable|'all'):'all'] [count:3] *[player:<self>]Note: Some commands support a weighted item selection, referred to as droptable. The syntax for it is <itemtier:weight tokens separated by comma>. The weight should be a positive float and is an optional argument with a default value of 1.0. If a comma or decimal point is used, the whole argument must be surrounded in double quotes. The keyword all uses all available item tiers with a default weight. For example, any of the following are valid inputs: tier1, "tier1:5,tier2,tier3:0.4", all.
Spawn Commands:
(spawn_interactable|spawn_interactible) {interactable}spawn_portal {portal ('artifact'|'blue'|'celestial'|'deepvoid'|'gold'|'green'|'null'|'void')}.spawn_ai {ai} [count:1] [elite:None] [braindead (0|1):0/false] [team (team|'ally'):Monster].spawn_as {body} *[player:<self>]spawn_body {body}change_team {team} *[player:<self>].Profile Commands:
prevent_profile_writing [enable (0|1)]. If no argument is supplied, prints the current state. Disabled by default.Cheat Commands:
no_enemies [enable (0|1)]. If no argument is supplied, toggles the current state.god [enable (0|1)]. If no argument is supplied, toggles the current state.NonLethal for all players. AKA: you can't die. buddha [enable (0|1)]. If no argument is supplied, toggles the current state.lock_exp [enable (0|1)]. If no argument is supplied, toggles the current state.noclip [enable (0|1)]. If no argument is supplied, toggles the current state.Bind Commands:
dt_bind {key} [<consolecommands separated by ;>]. See here for a list of possible key names. Alt, Ctrl, and Shift can also be used for key combinations, e.g. "left shift+left ctrl+x". If no commands are provided, it prints information about the key.dt_bind_delete {key}dt_bind_reloadServer Related Commands:
kick - Kicks the specified Player Name/ID from the game.
ban - Session bans the specified Player Name/ID from the game.
perm_enable - Enable or disable the permission system.
perm_mod - Change the permission level of the specified PlayerID/Username with the specified Permission Level.
Reload Commands:
sv_time_transmit_interval [time]run_scene_override [scene]stage1_pod [(0|1)]run_set_stages_cleared {stage_count}. This obsoletes stage_clear_count from previous RoR2Cheats versions.team_set_level {team} {level}. This obsoletes give_exp from previous RoR2Cheats versions.loadout_set_skill_variant {body_name} {skill_slot_index} {skill_variant_index}. Note that this does not use the loose bodymatching from custom commands.next_stage, doesn't have our cool autocomplete features, and doesn't advance the stage count, but can advance menus. set_scene {scene}midgamelategame