RimWorld: Best Prefs.xml for High Colony UPS (Updates Per Second)

The objective is to minimize the background “noise” that the engine processes every frame, allowing your CPU to focus entirely on the Pawn Tick Rate (Rpawn​).

Setup & File Navigation

  1. Directory Path: Press Win + R, type %APPDATA%\..\LocalLow\Ludeon Studios\RimWorld by Ludeon Studios\Config\, and hit Enter.
  2. The Target: Open Prefs.xml.
  3. Pro Tip: After making these changes, do not use the in-game options menu to change resolution or volume, as it may overwrite your custom performance tags.

Optimized “Simulation Stability” Configuration Block

<PrefsData>
  <uiScale>1.0</uiScale>
  <customCursorEnabled>false</customCursorEnabled>
  <verticalSync>false</verticalSync>
  <resourceReadoutCategorized>true</resourceReadoutCategorized>
  <showPlantWindSway>false</showPlantWindSway>
  <showShadows>false</showShadows>
  <maxSimulatedTicksPerFrame>10</maxSimulatedTicksPerFrame>
  <smoothCamera>false</smoothCamera>
</PrefsData>

Configuration Breakdown & Technical Purpose

ParameterRecommended ValueTechnical Purpose
customCursorEnabledfalseThe Interrupt Fix. Reduces the CPU overhead of custom software cursors.
showPlantWindSwayfalseDisables vertex math for thousands of plants, saving GPU/CPU cycles.
resourceReadoutCategorizedtruePrevents the UI from drawing a massive, unorganized list of every item.
maxSimulatedTicksPerFrame10Forces the engine to prioritize simulation catch-up over frame rendering.
showShadowsfalseSignificantly reduces draw calls for high-pawn count raids.

HowTo: Engineering the UPS Recovery Pipeline

Follow these GameEngineer.net technical steps to maintain a 360+ TPS average:

  1. The “Ghost” Pawn Protocol: RimWorld’s biggest UPS killer is the World Pawn Cache. The game remembers every visitor and raider that ever left your map alive. Use the RocketMan mod or a manual cleanup to “mothball” these pawns, reducing the $E_{count}$ (Entity Count) the engine checks every tick.
  2. Pathfinding Grid Density: In your Prefs.xml, keeping showShadows at false is vital because shadows are recalculated during pathing updates. For late-game colonies, use “Pathfinding Burn” mods to prevent pawns from constantly recalculating routes through complex furniture layouts.
  3. The “Categorized Readout” Secret: When you have 100,000 corn and 50,000 wood, the standard resource list in the top left causes a UI thread hang. Enabling resourceReadoutCategorized in your XML groups these into single entries, dramatically lowering UI draw latency ($L_{ui}$).
  4. Affinity Masking: Open Task Manager > Details > RimWorldWin64.exe > Set Affinity. In 2026, unchecking CPU 0 and CPU 1 (the OS’s preferred cores) and assigning the game to your highest-frequency $P-Core$ can yield a $10-15\%$ UPS boost.
  5. Wind Sway & Vertex Shaders: Every blade of grass in RimWorld “sways.” In a large colony, this translates to millions of unnecessary calculations per second ($S_{vertex}$). Setting showPlantWindSway to false is the most effective way to stabilize FPS during heavy weather events like toxic fallout.

Technical Explanation: Ticks vs. Frames ($TPS$ vs. $FPS$)

In RimWorld, the game logic runs in “Ticks.” Standard speed is 60 TPS ($1 \times$), 180 TPS ($2 \times$), and 360 TPS ($3 \times$).

$$UPS \approx \frac{Available\_Single\_Thread\_Speed}{Simulation\_Complexity}$$

By engineering the maxSimulatedTicksPerFrame to 10, you allow the game to process up to 10 logic steps before it bothers to draw a single frame. If your CPU falls behind, the game will sacrifice visual smoothness (FPS) to ensure the simulation (UPS/TPS) stays on schedule. For a competitive or massive colony player, a “choppy” game that runs at full speed is always superior to a “smooth” slide-show.

Leave a Comment