Risk of Rain 2
Install with App

Details

Latest version
1.0.0
Last Updated
First Uploaded
Downloads
107
Likes
0
Size
82KB
Dependants

CommandQueueExtended Icon Fix

A small, client-side compatibility patch for CommandQueueExtended in Risk of Rain 2.

CommandQueueExtended lets you choose and queue items while using the Artifact of Command. On newer game builds, its item-selection grid can show white or empty squares instead of item icons. This plugin restores the icons without replacing CommandQueueExtended or changing the queue itself.

Features

  • Restores the missing item pictures in the Command Queue item-selection grid.
  • Uses the game's built-in RoR2.UI.ItemIcon component rather than obsolete direct sprite fields.
  • Keeps the existing item buttons and their click behavior.
  • Leaves queue ordering, automatic selection, save slots, and saved queue data to CommandQueueExtended.
  • Runs as a separate BepInEx plugin; it does not modify CommandQueue.dll.

Requirements and compatibility

Component Version / notes
Risk of Rain 2 Tested on 1.5.0#1210
CommandQueueExtended 2.0.0 (required)
BepInEx Version 5; install the dependencies required by CommandQueueExtended
r2modman Recommended for profile management, but not required

The fix is intended for CommandQueueExtended 2.0.0. Other game and mod versions have not been verified. It only changes local UI rendering; multiplayer compatibility has not been separately verified.

Installation with r2modman

  1. Install CommandQueueExtended through r2modman and let r2modman install its required dependencies.

  2. Download the compiled CommandQueueIconFix.dll from a GitHub Release, or build it using the instructions below.

  3. Open your Risk of Rain 2 profile folder in r2modman and place the DLL at:

    BepInEx/plugins/CommandQueueExtendedIconFix/CommandQueueIconFix.dll
    
  4. Ensure there is only one copy of CommandQueueIconFix.dll anywhere under the active profile's BepInEx/plugins directory.

  5. Launch the game with Start modded.

If you distribute a packaged mod ZIP containing manifest.json and the compiled DLL, you can also use Settings → Profile → Import local mod (menu wording may vary by r2modman version).

Do not remove or overwrite CommandQueue.dll. This is an addon, not a replacement for CommandQueueExtended.

How it works

CommandQueueExtended 2.0.0 creates the available-item choice grid by assigning PickupDef.iconSprite to a UnityEngine.UI.Image. On Risk of Rain 2 1.5.0, that sprite field can be empty, producing blank buttons.

The fix uses a targeted Harmony transpiler on the callbacks generated by CommandQueue.UIManager.CreateQueueContainer():

  1. Intercepts the legacy sprite assignment for an item-choice button.
  2. Gets the game's existing ItemIcon prefab from HUDSimple / ItemInventoryDisplay.
  3. Creates a child icon using the prefab and assigns the item's ItemIndex with ItemIcon.SetItemIndex().
  4. Hides the obsolete image, prevents the child graphics from blocking button clicks, and rebinds the item after the next Unity frame.
  5. Falls back to the original image assignment if the new icon cannot be created.

This patches only how the item choices are drawn. It does not rewrite the command queue, affect item drops, or change CommandQueueExtended's save format.

Building from source

You need a .NET SDK (8 or newer), a Risk of Rain 2 installation, and an r2modman profile with BepInEx installed. The project targets .NET Standard 2.1 and compiles against the game and BepInEx assemblies. The Unity Editor is not required.

In PowerShell, set the two local paths (examples below; replace them with your actual paths):

$env:ROR2_GAME_DIR = 'C:\Program Files (x86)\Steam\steamapps\common\Risk of Rain 2'
$env:ROR2_PROFILE_DIR = Join-Path $env:APPDATA 'r2modmanPlus-local\RiskOfRain2\profiles\CommandQueue'
dotnet build -c Release

Alternatively, supply MSBuild properties GameDir and ProfileDir when building. Any BepInEx architecture warning (MSB3270) should be reviewed separately, but it did not prevent building the tested mod.

Packaging and releases

This repository contains two different manifest formats:

  • manifest.json is the Thunderstore-style package manifest for distributing an installable ZIP (the ZIP must also contain a compiled CommandQueueIconFix.dll).
  • mm_v2_manifest.json is r2modman's local profile metadata. It is provided for reference or local profile use, not as a substitute for manifest.json in a mod release.

For manual r2modman imports, use the archive such as CommandQueueExtendedIconFix-1.0.0.zip and add the mod over Settings > Profile > Import local mod.

Known limitations

  • This addon targets CommandQueueExtended 2.0.0 and relies on its current generated UI callback structure. Updates to CommandQueueExtended or Risk of Rain 2 may require changes.
  • Only normal item-choice icons are handled by the fix; it does not introduce new queue features or modify equipment-selection logic.
  • Instantiating the game's ItemIcon prefab adds child UI objects for the item grid. The performance impact on larger mod lists has not been independently benchmarked.

Credits

  • gabrielgad — CommandQueueExtended.
  • KubeRoot — original CommandQueue concept and implementation.

This is an independent compatibility addon and is not affiliated with or endorsed by the game's developers or the CommandQueueExtended author.

Release

1.0.0 — First stable release of the item-selection icon compatibility fix, tested on Risk of Rain 2 1.5.0#1210 with CommandQueueExtended 2.0.0.

Thunderstore development is made possible with ads. Please consider making an exception to your adblock.