You are viewing a potentially older version of this package. View all versions.
Lodington-Aerolt-4.2.0 icon

Aerolt

RoRCheats ReWrite Aerolt! New UI, New Features! Best Debug Kit with UI!

Date uploaded 2 days ago
Version 4.2.0
Download link Lodington-Aerolt-4.2.0.zip
Downloads 4817
Dependency string Lodington-Aerolt-4.2.0

This mod requires the following mods to function

bbepis-BepInExPack-5.4.1905 icon
bbepis-BepInExPack

Unified BepInEx all-in-one modding pack - plugin framework, detour library

Preferred version: 5.4.1905
Bubbet-ZioRiskOfOptions-1.0.0 icon
Bubbet-ZioRiskOfOptions

Risk of Options support for Zio Config File

Preferred version: 1.0.0

README

Aerolt

A rebuilt, networked cheat menu for Risk of Rain 2

  • Press F1 (rebindable) or click the Aerolt logo in the top-left to open the menu.
  • Networked: actions work in multiplayer, with a host-only mode to lock clients out.
  • Select any player in your lobby from the bar at the top of the window; player- targeted tabs act on whoever is selected. Supports full 16-player lobbies.
  • Mods can add their own tabs via the Extension API (see below).

Host Only

A console command lets the host block clients from running Aerolt actions. There's also a toggle for it under the Settings tab.

aerolt_host_only        -> flips the current state
aerolt_host_only 1      -> force on   (also true/on)
aerolt_host_only 0      -> force off  (also false/off)

Player

Toggles and actions for the selected player:

  • God Mode
  • Noclip
  • Aimbot (with an aimbot weight slider)
  • Infinite Skills
  • Always Sprint
  • Disable Mob Spawns
  • Kill / Revive / Goto / Bring / Kick / Ban
  • Set Money, Lunar Coins, Void Coins, and Level
  • Switch team

Body Stats

Edit any float stat on the selected player's body (health, move speed, damage, etc.).

  • Live "Default" view of the body's current values
  • 3 saveable stat profiles you can apply with one click

Items

Searchable, scrollable item editor for the selected player.

  • Per-item count rows with +/- (hold Shift for ±5)
  • Give, Give All, Give Random, and Clear inventory

Equipment

Searchable equipment list; click an entry to give it to the selected player.

Buffs

Searchable buff editor; set per-buff counts and apply them to the selected player.

Spawn As

Change the selected player's character to any body in the game.

Monsters

Spawn any monster and tune it before spawning:

  • Braindead toggle (disables AI)
  • Team selection
  • Elite type

Interactables

Spawn any interactable that has a spawn card (chests, shrines, printers, etc.) at your aim point. Includes a Refresh button since the available cards depend on the stage.

Teleporter

  • Change to any selectable stage
  • Spawn Gold / Newt / Blue (Celestial) / Void / All portals at the teleporter
  • Instantly charge the teleporter
  • Skip the current stage
  • Add a Mountain shrine stack

World

Run and stage-wide controls:

  • Game speed slider (local) with reset
  • Charge Teleporter, Next Stage, Restart Stage
  • Set the run timer and stages-cleared count
  • Change difficulty
  • Combat Director: stop/resume spawns, start the boss, set monster credits
  • Toggle any artifact on or off

ESP

Highlights objects in the world. Toggle any of:

  • Teleporter
  • Chests
  • Multishops
  • Barrels
  • Scrappers
  • Secret Buttons
  • Duplicators
  • Drones
  • Shrines
  • Newt Altars
  • Advanced Info (expanded, non-collapsed labels)

ESP colors are configurable under Settings.

Settings

  • Host Only toggle
  • Rebind the menu keybind
  • Customize ESP colors (shared with the ESP tab and Risk of Options)

Privacy Policy – No Personal Data Collection

This app and/or service does not collect, store, or transmit any personal information. This mod only collects your Risk of Rain 2 profile name or your Steam name.

Support us

Support Lodington Buy Me A Coffee

Support Bubbet Buy Me a Coffee at ko-fi.com

A shout out to Voidsenight✨#0060 for helping make the icons!

Extension API (for mod developers)

Other BepInEx mods can add their own tabs (and windows) to the Aerolt menu without forking it. Everything lives in the Aerolt.API.AeroltAPI static class.

Setup

  1. Add a reference to Aerolt.dll in your project.
  2. Declare a dependency so Aerolt loads first:
[BepInPlugin("my.cool.mod", "My Cool Mod", "1.0.0")]
[BepInDependency("com.Lodington.Aerolt")]
public class MyMod : BaseUnityPlugin { /* ... */ }

Aerolt builds its UI the first time a run starts (not at the main menu), so the window may not exist when your plugin's Awake runs. The API handles this for you: RegisterSection queues your tab if the UI isn't ready yet and adds it as soon as the window is created.

Add a tab

Implement Aerolt.UI.IAeroltSection and register it:

using Aerolt.API;
using Aerolt.UI;
using UnityEngine;
using UniverseLib.UI;

public class MySection : IAeroltSection
{
    public string Title => "My Tab";          // nav button label
    public GameObject Root { get; private set; }

    public void Build(GameObject contentParent)
    {
        // Called once, when the tab is created. Build your controls under Root.
        Root = UIFactory.CreateVerticalGroup(contentParent, "MySection",
            false, false, true, true, 4, default, new Color(0.14f, 0.14f, 0.14f));
        UIFactory.SetLayoutElement(Root, flexibleWidth: 9999, flexibleHeight: 9999);

        var btn = UIFactory.CreateButton(Root, "Hello", "Say hi");
        btn.OnClick += () => Debug.Log("hi from my tab");
    }

    public void OnShown()
    {
        // Called every time this tab becomes active. Good place to refresh from the
        // currently targeted player.
        var user = AeroltAPI.SelectedPlayer;
    }
}
private void Awake()
{
    AeroltAPI.RegisterSection(new MySection());
}

The UI is built with UniverseLib; use its UIFactory to create controls so your tab matches the rest of the menu.

Targeting the selected player

The player bar at the top of the window picks which player actions apply to. Read and react to it from your tab:

NetworkUser target = AeroltAPI.SelectedPlayer;      // may be null
AeroltAPI.SelectPlayer(someUser);                   // change the target
AeroltAPI.SelectedPlayerChanged += () => { /* re-sync your UI */ };

Menu visibility

bool open = AeroltAPI.MenuOpen;
AeroltAPI.ToggleMenu();
AeroltAPI.SetMenuVisible(true);

Knowing when the UI exists

if (AeroltAPI.IsReady) { /* window exists now */ }

AeroltAPI.Ready += () => { /* fires when the UI is created; immediate if already ready */ };

Advanced: your own window

For a full separate window rather than a tab, create your own UniverseLib PanelBase against Aerolt's shared canvas so it inherits the same cursor handling:

AeroltAPI.Ready += () =>
{
    var uiBase = AeroltAPI.SharedUIBase;   // UniverseLib.UI.UIBase
    var myPanel = new MyPanel(uiBase);     // your PanelBase subclass
};

Prefer RegisterSection for simple extensions — it's less code and stays consistent with the rest of the menu.