RimStack

Up in 0.2 seconds.
Sorts by what is inside your mods.

A free, native RimWorld mod manager that stays live: what changes on disk shows up by itself, with nothing to refresh. It reads the mods' compiled code instead of trusting whatever rules their authors wrote down.

Download Read the guide View on GitHub
0.2 sRimStack to your mod list
7.0 sRimSort 1.15.0, same install
~35×faster
RimStack's Mods screen: the load order in categories, with Sort ready to move three mods

Same machine, same install (1,853 mods, 101 active), launch to mod list on screen. RimSort is the average of three runs. Native, not a script. Run both on your own install.

Guide Every panel, every button, explained. Mods · Sort · Problems · Texture conflicts · Downloads · Textures · Saves · Logs · Settings · Keyboard Open the guide →

Live, always

You never press Refresh. While the window is open, RimStack looks at your mods, saves and the game every two seconds and updates what it shows by itself, without moving the list you are working on.

Steam downloads and updates

Subscribe, unsubscribe or let Steam update a mod: it appears, goes, or shows its new version in the lists.

Mods changed by hand

A folder copied into Mods, an About.xml edited, a Git checkout pulled: read again at once.

The game's own list

If the game or another tool rewrites ModsConfig.xml, RimStack offers that list. It never takes it over yours on its own.

Saves and logs

A new save appears in Saves. When the game stops, its log is read and its errors grouped in Logs.

The game running

Play turns into Running while RimWorld is open, and comes back when it closes.

Every setting

Theme, language, text size, font, your own colours and translations apply the moment you change them.

Sorts by what is inside

Most managers sort with the rules mod authors wrote down. Plenty of mods never wrote any, so you sort by hand and guess. RimStack opens the compiled DLLs and reads them. It never runs anything. It sees which game methods each mod patches with Harmony (prefix, postfix, transpiler, finalizer) and uses that to find load order rules nobody declared. Every move Sort makes comes with its reason, and nothing is applied until you say so.

Reads the code

Harmony patches and XML patches become load order rules, shown as "Detected from files".

Automatic categories

Loaders, game and DLC, libraries, content, patches, textures, interface, performance. From what is in the mod, never its name. Override any of them.

Only changes your mod order

The one file it writes is your mod list, and the old one is kept beside it. It does not touch the game.

What else

Guide

Every part of the window, what it does, and what it writes. Nothing here needs reading before you start: RimStack explains itself as you go.

Getting started

RimStack manages one thing, the order and choice of your RimWorld mods, and explains every step. This guide walks through each part of the window.

The first run

RimStack finds RimWorld, your config folder and your Workshop mods through Steam. If it can't, it asks for the folder. The first run is one short page in five steps: what was found, the community data to fetch, how Sort should work, the look, and Start. Your current mod list is kept as it is.

First run, Community data step: four community databases, each with a checkbox
Community data: player-kept rules and lists, fetched from GitHub when you press Start, and after that only when you ask.

If you used RimSort before, the first run offers to import your own rules, tags and notes. RimSort's files are only read.

First run, Sorting step: each mod's own rules always, community rules, patch and def hints
Sorting: each mod's own rules always count. Community rules and hints read from the files are your choice, and you can change them in Settings later.

The window

  • Top bar. The six sections, the search box (Ctrl K), the Lists menu and Play. A badge on Play counts what is in the way of a good launch, such as errors or unsaved changes. Pressing Play then lists them, with the fix for each, or lets you play anyway.
  • Status bar. When the game was last started and how many different errors its log shows. Click it to open Logs. History lists what RimStack changed, and Keys lists every shortcut.
  • Sections. Ctrl 1 to 6 switch between Mods, Downloads, Textures, Saves, Logs and Settings.

What RimStack writes

Nothing reaches the game before Save. Moving, activating, sorting and loading a list all change the list in RimStack only, and each step can be undone.

Save writes one file, the game's ModsConfig.xml. The file as it was is copied beside it first, as .rimstack-backup. The very first time, it is also copied as .rimstack-original, and Settings can bring that list back.

Three other things write, and only when you ask:

  • Texture conversion writes a .dds beside each .png. Every file is recorded, and only those are ever removed. See Textures.
  • Choosing a texture when two mods ship the same one renames the losing file inside its mod so the game skips it, and records it so it can be put back. See texture conflicts.
  • Play copies your newest save to RimStack's own folder before it starts the game.

Ctrl K opens one box for everything: type part of a mod's name, a command such as Sort, Find the broken mod or Copy the load order as text, or the name of a setting. Commands that do nothing right now are left out.

Inside the Mods screen, Ctrl F filters the load order instead. See filters.

The search box listing commands, each with its group

Keyboard

Press ? anywhere for this sheet. The ones worth learning first:

Ctrl SSave the load order
Ctrl Z · Ctrl Shift ZUndo · Redo
EnterActivate or deactivate the selected mod
Alt Up · Alt DownMove the mod one place
T · NType the mod's tags · its note
EscClose, cancel, clear the selection
The keyboard sheet: everywhere, load order, a list of mods, texture comparison

Live, with nothing to refresh

RimStack looks at your mod folders, saves, the game's log and its ModsConfig.xml every two seconds while the window is open. A mod Steam just downloaded or updated shows up by itself, a new save appears in Saves, and the log of a game that just closed is read in Logs. If something outside RimStack rewrites the game's mod list, you are offered it, never forced.

Language and look

English, Deutsch, Español, Français, Italiano, Polski and Português. A language, theme, text size or font chosen in Settings applies at once, with the window open.

Mods

Your load order, the mods you are not using, and what RimStack knows about each one.

Two lists

Inactive holds every installed mod you are not using. Active is the load order, top to bottom, under category headings. Click a heading to fold it.

  • Activate: double-click a mod or press Enter. RimStack places it where its rules allow. Do the same on an active mod to deactivate it.
  • Place it yourself: drag it. A line shows where it lands. Alt Up and Alt Down move the selected mod one place.
  • Select several: Ctrl-click and Shift-click, then act on them together. See several mods.
  • Hide folds the Inactive list to a rail at the left edge, where one button opens it over the load order. Pin puts it back.

The View menu chooses the columns. Settings has row sizes: Compact, Roomy, and With pictures, which shows each mod's preview.

Categories

RimStack files every mod under one category from what is inside it, never from its name: loaders, game and DLC, libraries, content, patches, textures, interface, performance. Categories load in a fixed order, which is a large part of a sensible load order with no rules at all. Choose another one for any mod under Filed under in its About tab, and your choice stands over RimStack's.

Save, Undo, Redo

Every change happens in RimStack first. Save (Ctrl S) lights up when the list differs from the game's file, and writes it. Ctrl Z and Ctrl Shift Z undo and redo every list change. If the game's file changes outside RimStack, you are offered its list instead of having it taken for you.

Sort

Sort never changes the list by itself. It shows the order your rules ask for, with every move and the rule behind it, and you choose Apply or Discard.

The Mods screen with Sort · 6 moves waiting above the load order
Sort · 6 moves says six mods are out of place. Pressing it shows each move and its reason first, and nothing changes until you choose Apply.

The rules come from four places, strongest first:

  1. Your own rules, such as "load after" or "load before", added in a mod's Load order tab.
  2. Community rules kept by players, for mods whose files don't say enough (optional, from Settings).
  3. Each mod's own rules from its About.xml. A required mod is also loaded first, which the game itself doesn't insist on.
  4. Hints read from the files: a mod whose patches or defs point at another mod's defs, and the game code each mod patches with Harmony. RimStack reads the compiled DLLs and runs nothing. A hint gives way to every other rule.

Among the orders that keep every rule, Sort picks the one closest to your current list, so nothing moves without a reason. When rules contradict each other, the weakest one is dropped and named.

Problems

The count above the load order covers errors (the game will trip on them) and warnings (it runs, but something may not work). The arrows beside it step from one mod with a problem to the next, and All problems opens the whole list, grouped by kind.

RimStack checks for:

  • a missing requirement, with Download beside it
  • two mods that don't go together
  • a mod made for another game version
  • a mod installed twice
  • a broken rule, or a mod above the game or a DLC it needs
  • textures provided twice

Any warning can be ignored from the mod's menu or its details. "Made for another game version" can be ignored for every mod at once, until the game updates.

The problems panel: 45 warnings for mods made for another game version, with Ignore all and Find the broken mod

A mod's details

Select a mod to see its picture, author, source, version and size, with Deactivate, Open folder and its Workshop page. Three tabs:

  • About starts with what needs your attention before you play, then texture conflicts, tags and note, and the description.
  • Load order gives its position, what it loads after and before and which rule says so, and buttons to add your own rule.
  • Files lists what the mod contains and any files RimStack hid in it.

With nothing selected, this side shows the whole list: whether it is playable, what is worth reviewing, and what is kept.

The Load order tab: position 2 of 101 in Loaders, Load after and Load before buttons, and what it loads before

Right-click a row (or press the Menu key) for the mod's menu: copy its name or package id, open its pages, add a tag, ignore a warning, copy a Workshop mod to the game's own Mods folder to freeze it, unsubscribe, or move it to the bin.

Filters

Ctrl F filters both lists. Type part of a name, or one of these. The box suggests them as you type:

FilterShows the mods
is:error · is:warningwith a problem
is:conflictsharing textures with another
is:changedmoved or activated since the last save
is:newinstalled since the game was last started
is:recentupdated by Steam in the last week
is:updatedwith a newer version, after checking for updates
is:localnot from the Workshop
is:duplicateinstalled more than once
is:notinsaveactive, and not in the newest save
has:codethat ship compiled code
patches:that patch this method of the game
tag: · author:with this tag · by this author

Texture conflicts

When two active mods ship the same texture, the one lower in the load order wins all of them. To choose texture by texture, open Compare from either mod's About tab.

The texture comparison: the shared texture list on the left, both versions side by side, Keep this one under each
Side by side, as a slider, or as the difference between the two. 1 and 2 keep the left or the right one, and Up and Down go through the list.
  • Win all adds one of your rules so this mod loads after the other and wins everything.
  • Keep this one against the load order hides the other mod's file by renaming it to .rimstack-hidden inside its folder, so the game skips it. Nothing is deleted. History and the mod's Files tab bring it back.
  • If Steam restores a hidden file when it updates the mod, RimStack hides it again.

Several mods at once

Four mods selected: the side shows them, and a bar below offers Deactivate, Tag, Group, Ignore version warning, To top and To bottom
With several mods selected, the bar below the list acts on all of them.

Tags, notes, groups

Press T to type tags for the selected mod, and N for a note. A mod's first tag groups it: inside a category, mods with the same first tag stay side by side under its name. Group in the mod's menu, or in the bar for several mods, sets that first tag.

Saved lists and the clipboard

The Lists menu at the top keeps named copies of your load order. Use one to bring it back, or Update it with the current list. Copy the load order puts it on the clipboard as text, one mod a line. Use the copied list turns a list someone pasted to you, as names or Workshop links, into your load order. Nothing is written before Save.

History

History, in the status bar, lists what RimStack changed: the load order as it was before each change, and textures it hid. Each can be brought back, and a load order brought back is written only on Save.

Find the broken mod

When something breaks and you don't know which mod causes it, RimStack can halve the list until one mod is left:

  1. Start Find the broken mod from the problems panel, Logs, or Ctrl K. Your newest save is copied first.
  2. Half of the suspects are switched off. Press Save and play, and check in the main menu or a test colony. Don't load or save your real colony during a round.
  3. Come back and say Works now or Still broken. Repeat until one mod remains.
  4. Keep My list without it, or go back to My list as it was.

Downloads

Adding mods, keeping them current, and seeing what changed.

The Downloads screen: the Add mods field, cards for Updates, Missing and SteamCMD, and the mods changed since the game last started

Add mods

Paste Workshop links, a collection link, mod ids or Git links into Add mods, several at once, and press Look up. Each one found is listed with its name, and you choose how to get it:

  • Subscribe in Steam. Steam must be running. It downloads the mods and keeps them up to date afterwards.
  • Download with SteamCMD. Into the game's own Mods folder, without subscribing, so Steam won't update them.
  • Clone a Git link into the game's Mods folder. Checking for updates then asks its repository.

Updates

Check now asks Steam for the current version of each installed Workshop mod. Only their Workshop ids are sent. It also asks Git for new commits on each mod kept as a Git checkout. What it finds shows under Newer versions. Update in Steam has Steam download them right away; left alone, Steam does it the next time it starts.

A Git checkout has its own Update, which moves it forward to the remote and stops if the folder has changes of its own.

Missing

Mods the load order needs and that are not installed, each with its fix. These are the same requirements the Mods screen counts as errors.

SteamCMD

Valve's own downloader, for getting a mod without subscribing. Install fetches it from Valve into RimStack's data folder. It runs with a home folder of its own, so it can't touch Steam's settings.

Changed since the game last started

Every mod Steam updated or installed since your last launch, newest first, for active mods, inactive ones or all. Fetch change notes brings in what each author wrote about the update. The button beside a mod opens its notes on the Workshop. If the game breaks after an update, this is the list to read first.

Textures

The game loads a DDS texture faster than a PNG, and with less memory. RimStack converts them for you, with no extra tool.

The Textures screen: 15 177 of 16 005 textures have a DDS, three mods to convert, a table of mods with texture counts and sizes

Converting

The top line counts how many of your active mods' textures already have a DDS, and what converting costs and saves on disk. Convert remaining writes a .dds beside every .png that has none, inside each mod's own folder. The PNG files are not changed. Each row can also be converted on its own, or skipped.

  • Textures with transparency are written as BC7, the others as DXT1, with mipmaps.
  • Stopping finishes the mod it is on. What is done stays done.
  • Rebuild out of date converts again where a PNG changed after its DDS was made.
  • Steam may delete the DDS files when it updates a mod. They then show as not converted again.

Removing

Only what RimStack made. Every file it writes is recorded. Remove converted deletes only those files, and only if they haven't changed since. A DDS the mod author shipped is never touched.

Check all mods

Reads the header of every DDS file of your installed mods, including the author's own, and finds the ones the game would refuse: not really a DDS, cut short, a format the game has no reader for, or compressed at a size that isn't a multiple of four. Each one it finds can be renamed to .dds.rimstack-bad, so the game loads the PNG beside it instead.

Two mods, one texture

Choosing between two mods that ship the same texture is done on the Mods screen. See texture conflicts.

Saves

Every save, compared with your load order before you load it.

The Saves screen: three saves with their mod counts and differences, the selected one detailed on the right

The list

Each save shows when it was played, the game version, how many mods it used, and short marks for how it differs from your load order now: mods not active, another game version, mods added, a different order. Marks that can break a save are coloured. Mods added or moved are not.

A save's details

  • The colony: name, colonists, settlements, storyteller, difficulty, scenario and seed.
  • Differences from the current list: mods the save was played with that are not installed, or not active now, mods active now that it was not played with, and whether the shared mods are in another order.
  • Use this save's mod list makes it your load order on the Mods screen. Save writes it.
  • Save its list as… keeps it under saved lists.

Backups

When you press Play, the newest save is copied to RimStack's own folder first. The last five are kept. Open the backups folder, on this screen, shows them.

Logs

The game's log can run to thousands of lines. RimStack groups it into the errors that matter and names the mod behind each one.

The Errors view: five distinct errors, each with how often it was logged and the mod it points at
One error that repeats counts once, with how many times it was logged.

Three views

  • Errors. Each distinct error, how often it was logged, and the mod its stack trace points at. Click the mod to go to it. The details show the stack trace, Show in log, and Copy report, which copies the error, its stack trace, the game version and the likely mod as text for asking for help.
  • Mods. The mods the errors point at, with how many errors each and how often.
  • Log. The whole log, searchable, with an E or W in the margin for each error or warning.
The Mods view of Logs: four mods with the number of errors each and how often they were logged

Launches

The game keeps the logs of its last two launches. RimStack also records each launch it starts: its load order and how it went. Settings decides how many logs to keep. For a recorded launch you can see whether its load order is the same as now, and Use its list to make it your load order again.

Since the last clean launch lists what changed between the last launch without errors and now.

When no mod is named

Some errors name no mod, and no active mod's code is in their stack trace. For those, Find the broken mod halves your list until one mod is left. See how it works.

Settings

Every setting applies as soon as you change it, without a restart. Find a setting at the top of the list searches them all.

Game and folders

  • Folders. The game, its config and saves, and Workshop mods, found through Steam. Type another folder to use it. RimStack checks it after a pause and refuses one that isn't right. Empty the box to have it found again.
  • Play starts the game through Steam, or directly from its folder for a copy that isn't Steam's. Launch arguments are passed to the game, as in Steam's own launch options.
  • Load order. The file Save writes, and the copies kept beside it.
  • Git. Whether Git is installed, and whether Workshop mods kept as Git checkouts are checked for updates too.

Appearance

Settings, Appearance: theme, language, colours, font, text size, mod rows, motion, contrast, first-run hints and links
  • Theme: Rim, Dark, OLED or Light. Colours reads your own colours for a theme from theme.json.
  • Language, and Edit translations to change any text in your language.
  • Font and Text size. Rows, buttons and bars grow with the text.
  • Mod rows: Compact, Roomy, or With pictures.
  • Motion Reduced: nothing slides, fades or spins. Contrast High: grey text and thin lines get stronger, and panels get an outline.
  • Workshop pages open in your browser or in Steam.

Sorting

Settings, Sorting: community rules, patch and def hints, community databases and game version mismatch
  • Community rules on or off, and whether patch and def hints are used by Sort or only shown.
  • Community databases, fetched from GitHub when you ask: the Community Rules Database, No Version Warning (mods that work on this game version without saying so), Use This Instead (maintained replacements for abandoned mods) and the Steam Workshop Database (names of mods that are not installed). Each can be switched off.
  • Game version mismatch: warn, ignore for this game version, or ignore.

RimStack

  • When the game misbehaves: Verify with Steam has Steam compare every game file with its own copy. Set aside moves every mod's settings file out of the game's Config folder into a dated folder of RimStack's, so mods start from their defaults. Moving the files back restores them.
  • List from before RimStack: brings back the load order the game had before RimStack first saved.
  • Logs kept, and the folders RimStack keeps its records, settings and diagnostics in.
  • Updates of RimStack itself: look for a new version at each start, Stable or Nightly. It only tells you; it installs nothing by itself.

Install

Grab the file for your system from the Releases page. RimStack finds RimWorld through Steam, and asks for the folder if it can't.

SystemFile
WindowsInstaller (-setup.exe) or zip
macOSdmg, Apple silicon only
LinuxAppImage
Arch (AUR)Coming soon

The apps are not signed yet

Signing costs money, so for now Windows and macOS will warn you. The files are fine, here is how to get past it once.

Windows

SmartScreen says "Windows protected your PC". Click More info, then Run anyway. For the zip, right-click it, choose Properties, tick Unblock, then extract. If Smart App Control is on (Windows 11), it blocks unsigned programs with no way past it except turning Smart App Control off.

macOS

Drag RimStack to Applications and open it once. Then open System Settings, Privacy & Security, scroll down and click Open Anyway next to RimStack. If macOS says the app is damaged, run this in Terminal: xattr -dr com.apple.quarantine /Applications/RimStack.app

Linux

Make the AppImage executable and run it: chmod +x RimStack-*.AppImage.