You accidentally brought habits from another world into SULFUR.
Now you have to Arms Race your way out.
Arms Race is a BepInEx mod for SULFUR that turns weapon progression into a chaotic run-based weapon rotation system. Entering a level gives you a randomized weapon, and killing enemies can grant a new randomized weapon after a short cooldown.
Generated weapons use the game’s existing weapon systems: random vanilla weapons, random oils, random scrolls, compatible attachments, rank adjustment, and durability safety.
Generated weapons can include:
This mod does not directly modify WeaponSO base weapon assets.
That means it does not globally alter the original weapon definitions, and it does not permanently change all copies of the same weapon.
By default:
The intended experience is:
Get a random weapon.
Fight with it.
Kill enemies.
Get another random weapon.
Keep adapting.
Generated weapons are designed for the current run/level flow.
To keep the game safe and avoid save issues:
This is intentional. Generated weapons are not meant to be stored permanently.
After launching the game once with the mod installed, a config file will be created:
BepInEx/config/kumo.sulfur.arms_race.cfg
Main options include:
[General]
EnableMod = true
RandomizeOnLevelStart = true
PreferredWeaponSlot = FirstAvailable
ForceSelectGeneratedWeapon = true
CleanupOldGeneratedWeapons = true
[Kill Reward]
EnableRandomWeaponOnKill = true
RandomWeaponOnKillCooldown = 1
KillRewardRequiresPlayableLevel = true
KillRewardRequireExperienceOnKill = true
[Random Upgrades]
EnableRandomOils = true
MinOilCount = 1
MaxOilCount = 5
EnableRandomScrolls = true
ScrollChance = 0.5
EnableRandomAttachments = true
AttachmentChance = 0.6
GrantRankForAppliedOils = true
RespectEnchantmentSlots = false
[Safety]
CleanupGeneratedWeaponsBeforeLevelTransition = true
DestroyGeneratedWeaponsOnDrop = true
FixLowDurability = true
MinimumDurabilityNormalized = 0.5
[Debug]
DebugKeyEnabled = false
DebugKey = K
The default configuration is intended to be chaotic but still playable:
Debug spawning is disabled by default.
To enable it:
[Debug]
DebugKeyEnabled = true
DebugKey = K
When enabled, pressing the configured key generates a new random weapon using the same mod logic.
Install through Thunderstore Mod Manager or r2modman.
Make sure BepInEx is installed.
BepInEx/plugins/
This mod should be compatible with most mods that do not heavily rewrite the player inventory, weapon slot, weapon generation, or level transition systems.
Potential conflict areas:
This mod does not edit original game files.
Remove the mod DLL from:
BepInEx/plugins/
Optionally remove the config file:
BepInEx/config/kumo.sulfur.arms_race.cfg
The mod does not require custom save data to function. Removing the mod should not prevent the game from loading.
The source code for this mod is available in my GitHub repository.
It is shared for learning, reference, and transparency. The repository only contains my original mod source code and packaging text. It does not include SULFUR game files, Unity assemblies, BepInEx binaries, paid assets, or decompiled game source.
If you are another modder, feel free to study how the mod works or use it as a reference for your own implementation.
This mod includes localization files for SULFUR Config.
This localization support is only for the in-game configuration page provided by SULFUR Config. It localizes the mod name, config sections, setting names, and setting descriptions shown in the config UI.
It does not change the game’s own text, item names, dialogue, or gameplay content.
Supported SULFUR Config languages: