Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
SharedUpgradesPlus compatibilitytweaks
Keeps supported upgrades in sync using the host’s compatibility settings. Shows team levels, preserves one team benefit per purchase, and protects spent life charges.
| Date uploaded | a week ago |
| Version | 1.4.0 |
| Download link | ByteSizeMetal-SharedUpgradesPlus_compatibilitytweaks-1.4.0.zip |
| Downloads | 1041 |
| Dependency string | ByteSizeMetal-SharedUpgradesPlus_compatibilitytweaks-1.4.0 |
This mod requires the following mods to function
BepInEx-BepInExPack
BepInEx pack for Mono Unity games. Preconfigured and ready to use.
Preferred version: 5.4.2305Vippy-SharedUpgradesPlus
Host-only shared upgrades for R.E.P.O. Chance-based sharing, late join sync, modded upgrade support. Alternative to SharedUpgrades and BetterTeamUpgrades.
Preferred version: 1.6.2README
SharedUpgradesPlus-compatibilitytweaks
Author: ByteSizeMetal
Helps SharedUpgradesPlus keep supported upgrades consistent across the lobby. It catches up players who fall behind, shows the team's level for shared world effects, and prevents those effects from being multiplied for every player.
What it does
- Brings ordinary permanent upgrades up to the highest level held by a connected teammate, when the relevant sharing options allow it.
- Keeps one team benefit per purchase for supported world upgrades, rather than giving everyone a separate copy that multiplies the effect.
- Shows those shared levels as (Team) in the upgrade panel, even if someone else bought the upgrade.
- Avoids counting the same purchase twice or treating a mod's background stat updates as new purchases.
- Protects Extra Life and Second Chance: buying a charge can share it, but spending one does not cause the catch-up system to refill it.
Host settings
The current host controls this mod's sharing rules, named per-upgrade choices, compatibility adjustments, source-level caps, check interval and team-level labels. Clients receive these automatically when joining and when the host changes them. A host change clears the previous host's policy. Local config files are never overwritten; leaving the lobby restores your saved choices.
Pop-up visibility/duration and debug logging stay personal. While waiting for a compatible host, clients pause compatibility catch-up instead of guessing from their local settings. Use version 1.4.0 or later on everyone; older versions do not send host policy.
This synchronizes this compatibility mod's rules, not every setting of the underlying upgrade mods. Keep their versions and gameplay/balance configs matched too: different native stamina scaling or cached startup settings can still calculate different effects from the same level.
Supported team effects
| Mod | Upgrades |
|---|---|
| SLRUpgradePack | Valuable Density, Object Value, Object Durability |
| Nikki's Upgrades | Investor |
| MoreUpgrades | Item Value, Item Resist |
These supported upgrades use the appropriate team handling automatically. Valuable Density affects the next level's generation; it cannot add valuables to a level that has already been generated. MoreUpgrades' Valuable Count is a personal HUD counter and follows ordinary permanent-upgrade sharing.
The mod keeps existing saved levels. It cannot reliably undo extra levels created by an older sharing setup.
Installation
Install this mod on the host and every client, using the same version. The host needs SharedUpgradesPlus for purchase sharing. Keep the upgrade mods you want to use; this package does not include them. Team compatibility activates when the relevant mods and supported APIs are present.
This replaces SharedUpgradesFix and the older SharedUpgrades_SLRPatch. Disable or remove those older packages first, then install this one and restart normally. Keep only one copy of the compatibility mod enabled.
For manual installation, the DLL belongs here:
BepInEx/plugins/SharedUpgradesPlus.CompatibilityTweaks/SharedUpgradesPlus.CompatibilityTweaks.dll
Configuration
Your existing settings are retained in:
BepInEx/config/nakeem.SharedUpgradesFix.cfg
That filename is kept for compatibility with existing installations. The mod appears under its new name in game and in the mod manager.
Upgrades have named entries grouped by their source mod. Use Allow sharing to enable or disable an upgrade and Handling to choose its behavior. You do not need to type upgrade IDs or exception lists.
| Handling | Meaning |
|---|---|
| Automatic | Recommended. Selects the supported behavior for that upgrade. |
| SharedPermanent | Keeps everyone at the highest connected permanent level. |
| TeamPooled | Keeps one contribution per purchase and shows the team total. |
| Consumable | Shares purchases without refilling spent charges. |
Leave the supported world upgrades on Automatic or TeamPooled to avoid multiplying their effects. Extra Life and Second Chance stay protected as consumables. SharedUpgradesPlus' own sharing switches and chances still apply; highest-level catch-up requires 100% sharing chance. Per-upgrade controls and level caps remain respected.
The Team effects section lets you disable individual compatibility adjustments. Display / ShowTeamPooledLevels controls the team-level display.
Compatibility and reporting
Checked against R.E.P.O. 0.5.0, SharedUpgradesPlus 1.6.2, REPOLib 4.3.0, MoreUpgrades 1.7.3 and SLRUpgradePack 0.6.0. Newer versions may need another compatibility check. Live multiplayer testing remains important.
If an upgrade still disagrees between players, report the upgrade name, who bought it, the mod versions and the affected players' logs. Include whether the mismatch is in the upgrade panel or in the effect itself.
Original mods remain credited to their creators. This package contains compatibility code, not their content.
CHANGELOG
1.7.1
- SharedUpgradesPlus is now listed as a dependency, so mod managers install it alongside this mod. No code changes.
1.7.0
- New
HideFinishedUpgradessetting, on by default. Upgrades stop appearing in the shop and in upgrade stand rerolls once another copy would do nothing for anyone connected. - Covers one-and-done upgrades: Map Player Count, Map Player Tracker, Map Enemy Tracker, Map Cosmetics Tracker and Valuable Count.
- Also covers upgrades at their own limit, such as Max Purchase Amount in MoreUpgrades or Maximum Level in SLR Inventory Slot.
- Until then, the shop carries no more copies than the team can use, even when a shop mod raises the limit.
- New
ExtraOneAndDoneUpgradessetting for adding other upgrades by name. - Only the host needs this version for the shop change.
1.6.0
- New plugin ID:
ByteSizeMetal.SharedUpgradesPlusCompatibilityTweaks. Everyone in a lobby should update together. - Existing settings move to the new settings file automatically the first time this version starts.
- Remove old references to mods that no longer exist under those IDs. Nothing about upgrades, sharing or the panel changes.
- Boot-time warnings from other mods that listed the old ID no longer match this mod.
1.5.6
- Move two-column upgrade lists closer to the left edge of the screen. The gap beside the column is 75% smaller.
- Line the UPGRADES header up with the rows in two-column lists, so it stays on screen.
- Single-column lists stay where the game puts them.
1.5.5
- Keep two-column upgrade lists off the map. The whole section now lands just inside the left edge of the screen, and the gap between columns is half what it was.
- Single-column lists stay where the game puts them.
- Measure from the real screen edge when hiding the list too, since the game's HUD area sits slightly inside it.
1.5.4
- Fix External Map upgrades also appearing under Personal for players who had bought them, such as Object Durability on the host. SLRUpgradePack renames the upgrade list before the panel reads it, so the panel could not match a player's own level to the team total. The panel now reads the saved upgrade names directly.
- This should also fix Second Chance showing twice, and a spent charge staying in the list, since both came from the same mismatch.
- Some Personal rows may change wording or order: they now use the names the game and each mod give their upgrades.
- Nothing about levels, sharing or charges changes. This only affects what the list shows.
1.5.3
- Fix the two-column upgrade list staying on screen when you are not holding the map button. The game hides the panel by moving it a fixed distance, which was only enough for a narrow list. It now moves far enough to clear the screen for the current list width, then slides back to the same spot.
- Short lists keep the original hide distance, and it is restored if the list shrinks or fitting is turned off.
- If two upgrade rows ever show the same name, the log now names the saved upgrades behind them and their levels. Nothing about those upgrades is changed.
1.5.2
- Fix the upgrade list rendering far too small: it was being fitted into the game's 50-unit text rectangle, which the native list always overflows. It now keeps the game's original font size and measures the free HUD space instead.
- Make two columns actually appear. The numbers field is a child of the names field, so the previous check always failed. Lists too long for one column now split into two with a wider gap, and text shrinks only if two columns still would not fit.
- Keep each count on the same line as its name, and stop moving the panel's rectangles so the layout cannot fight the panel's slide and bounce animations.
- Treat MoreUpgrades Item Resist as a Personal upgrade. It again protects only items held by players who own it, or last grabbed by one, instead of using the team total. Levels are shared like other personal upgrades. Explicit TeamPooled handling still works.
1.5.1
- Aim for the original upgrade font size instead of starting from an already-shrunk TextUpgradesUIScale result.
- Compare one- and two-column grouped layouts and choose two columns when they allow larger text within the existing upgrade area.
- Keep both section headers, aligned per-column counts and all upgrade names. Restore the original rectangles/style before each refresh so the layout cannot progressively shrink or drift.
- Leave the optional UI fitter in control when this mod's FitUpgradePanel option is off. Sharing and charge bookkeeping are unchanged.
1.5.0
- Group the upgrade panel into External Map and Personal, with indented entries instead of Team suffixes.
- Add automatic panel fitting that also works with TextUpgradesUIScale, including its aligned columns.
- Let the host record consumable purchases and each player's spending separately in the run save. A pickup grants everyone immediately; spending affects only that player's balance and panel.
- Catch up new and returning players from purchase history without restoring used charges. Hide exhausted charge upgrades and discard grants blocked by level caps.
- Add host options for the charge ledger, historical grants on join and panel fitting. Preserve cooldown-based Second Chance behavior.
- Refresh permanent sharing and team totals after purchases. Guard competing purchase handlers and stale charge updates against duplicate grants or refills.
- Update the host protocol: install 1.5.0 on every player.
1.4.0
- Use the current host's compatibility settings, per-upgrade handling/sharing and source-level caps throughout the lobby.
- Send rules on late join, host changes and live configuration changes without overwriting clients' saved settings.
- Pause compatibility catch-up while host rules are unavailable, and reject malformed or non-host policy messages.
- Make supported team-effect adapters follow the host even when a client's local toggle was disabled at startup.
- Keep personal popup preferences local and retain spent-life protection.
1.3.1
- Renamed the mod to SharedUpgradesPlus-compatibilitytweaks and the DLL to SharedUpgradesPlus.CompatibilityTweaks.dll.
- Rewrote the package description and instructions for easier setup.
- Kept existing settings, upgrade choices and sharing behavior.
1.3.0
- Improved synchronization and team-level display for supported SLRUpgradePack, Nikki's Upgrades and MoreUpgrades world effects.
- Kept one team benefit per purchase instead of multiplying the effect across players.
- Added named compatibility options and retained protection against refilling spent Extra Life or Second Chance charges.