This optional package contains compatibility hooks for RimWorld mods that need extra handling when ClashOfRim projects, transfers, or settles multiplayer state. It is distributed separately from the main mod so compatibility patches can be enabled only when the corresponding third-party mods are present.
The compatibility package has two parts:
- a RimWorld mod that registers client-side compatibility hooks;
- optional server plugins that extend save indexing, baseline collection, and raid settlement logic.
Use this package after the main ClashOfRim mod and after the supported mods it needs to patch:
- Harmony
- ClashOfRim
- Supported third-party mods according to their own load-order rules
- ClashOfRim Third-Party Compatibility
The package detects supported mods at runtime. If a supported mod is not loaded, its compatibility hooks are skipped.
A third-party mod usually needs a ClashOfRim compatibility hook only when it changes data that must survive multiplayer projection, transfer, or server-side settlement. Prefer leaving a mod alone unless one of these conditions applies.
Add client compatibility when the mod:
- stores runtime state on pawns, things, maps, lords, world objects, or comps that is valid only in the original local game session;
- adds custom containers, inventories, linked storage, vehicles, shuttles, or other holders where contents must not be flattened into loose map items;
- adds custom transfer-sensitive metadata to tradable things, gifts, shop listings, pawn packages, corpses, sculptures, trophies, weapons, books, genes, xenotypes, or similar objects;
- adds custom world-map entry, landing, caravan, vehicle, or shuttle behavior that can target a remote colony;
- changes AI or lord behavior on remote maps in a way that can make projected pawns attack, leave, steal, haul, repair, or clean up the wrong state;
- requires post-restore rebuilding after a pawn or thing is deserialized, such as cached verb managers, graphics, alien-race render state, or animation state.
Add a server plugin when the server must understand the mod without loading the RimWorld client mod itself. Common cases are:
- save-index extensions for custom containers, vehicles, pawn holders, or other nested data that the server must inspect;
- baseline requirements for custom hit point models, price inputs, terrain or world data, trap classifiers, or other authoritative values;
- raid settlement editors for custom damage models, vehicle parts, cargo loss, packed contents, or special objects that cannot be evaluated from vanilla thing fields alone;
- compatibility checks that depend on the active server plugin set or on the client's mod manifest.
Compatibility is normally not needed for mods that only add ordinary defs using vanilla save fields, translations, textures, sounds, UI-only tools, cosmetic effects, or local single-player behavior that never crosses remote maps, transfers, snapshots, or settlement.
Package id: adaptive.storage.framework
Adds remote-map projection handling for packed storage containers. The compatibility layer preserves the relationship between storage containers and their packed contents when another player's map is loaded as a remote map, and marks packed remote contents so local pawns do not treat them as ordinary loose items.
Package id: SmashPhil.VehicleFramework
Adds support for vehicle-aware remote maps and raids. Current hooks cover vehicle caravan entry into remote maps, aerial vehicle landing guards, vehicle defense-point behavior, and vehicle assault behavior during raids. The compatibility package also contributes server-side handling for vehicle save indexes, vehicle hit point baselines, vehicle cargo, and raid settlement damage.
Package id: co.uk.epicguru.meleeanimation
Removes transient melee-animation runtime state from projected remote maps and snapshot saves. This avoids loading remote maps with stale animation state that belongs to another client's runtime session.
Package id: oskarpotocki.vanillafactionsexpanded.core
Adds guards for framework-owned world authority/runtime state and restores MVCF pawn verb managers after pawn transfer or pawn preview restoration. This keeps transferred pawns closer to their original combat behavior when Vanilla Expanded Framework is active.
Package id: erdelf.HumanoidAlienRaces
Registers metadata support for statue-like objects that preserve alien-race pawn appearance state. This is used when those objects are listed, traded, gifted, or restored through ClashOfRim thing references.
Package id: Nals.FacialAnimation
Registers metadata support for statue-like objects that preserve facial animation state. This shares the statue transfer path used by Humanoid Alien Races compatibility.
Server plugins are built into Build\ServerPlugins and copied into the server
package Plugins/ directory by the main repository server packaging scripts.
Plugin id: AIRsLight.ClashOfRim.AdaptiveStorage
Adds a save-index extension for Adaptive Storage packed contents so the server can reason about container contents without flattening them into ordinary map items.
Plugin id: AIRsLight.ClashOfRim.VehicleFramework
Adds server-side vehicle indexing, vehicle hit point baseline requirements, and raid settlement snapshot editing for vehicles and vehicle cargo.
This compatibility package only handles behaviors that affect ClashOfRim multiplayer state, such as remote-map projection, pawn/thing transfer, save indexing, baseline validation, and raid settlement. Normal single-player behavior of the supported third-party mods is intentionally left to those mods.