You are viewing a potentially older version of this package. View all versions.
MrBytesized-BetterTeamUpgrades-2.2.0 icon

BetterTeamUpgrades

A host-only, better alternative to shared upgrade mods like SharedUpgrades or TeamUpgrades. This mod implements a robust and maintainable shared upgrade system supporting vanilla and modded upgrades, plus late join upgrade syncing.

Date uploaded a day ago
Version 2.2.0
Download link MrBytesized-BetterTeamUpgrades-2.2.0.zip
Downloads 5685
Dependency string MrBytesized-BetterTeamUpgrades-2.2.0

This mod requires the following mods to function

BepInEx-BepInExPack-5.4.2304 icon
BepInEx-BepInExPack

BepInEx pack for Mono Unity games. Preconfigured and ready to use.

Preferred version: 5.4.2304

README

BetterTeamUpgrades

A host only and better alternative to shared upgrade mods such as SharedUpgrades or TeamUpgrades. This mod implements a robus and maintainable shared upgrade system that supports both vanilla upgrades and modded upgrades, as well as late join upgrade syncing.

Thank you for 100,000+ downloads!!

Check out my other mod for all things health and healing quality of life improvements BetterHeals!

Features

Host Only

  • ONLY the game host needs to have this mod installed!

Say bye to having to checking if your friends have the right mods or getting your friends to use install mods XD.

Shared Upgrades

  • ALL upgrades used are shared between all players in the game. This includes both all vanilla upgrades and all modded upgrades!

  • The mod is written in a way that it will never be out of date when new vanilla upgrades are added (hopfully).

  • This feature can be turned off in config and supports REPOConfig for live ingame config editing without needing to restart.

    (this means you can have late join player upgrade syncing on without needing shared upgrades on and vice versa)

  • In config you can change the random chance that a player will recieve the shared upgrades. Default is 100% meaning they are always shared.

Note: I have only tested the upgrade sharing for modded upgrades with the MoreUpgrades mod and all players are still required to have the modded upgrades mod(s), so keep that in mind and use those with your own risk. If your modded upgrades cause problems with this mod there is a setting in this mods config to turn off custom upgrade syncing.

Late join player upgrade syncing

  • ALL uogrades are synced with any late joining player. This includes both all vanilla upgrades and all modded upgrades! No more friends complaining they are so far behind in upgrades XD.

  • This feature can be turned off in config and supports REPOConfig for live ingame config editing without needing to restart.

    (this means you can have shared upgrades on without needing late join player upgrade syncing on and vice versa)

  • In config you can change the random chance that a late joining player will recieve each upgrade level. Default is 100% meaning late joining players get the max upgrades.

Note: I have only tested the late join player upgrade syncing for modded upgrades with the MoreUpgrades mod and all players are still required to have the modded upgrades mod(s), so keep that in mind and use those with your own risk. If your modded upgrades cause problems with this mod there is a setting in this mods config to turn off custom upgrade syncing.

Future Plans

  • Currently none other then testing and making sure it works.
  • If you have any suggestions on additions feel free to open an issue on the GitHub repository or message me on discord (@mrbyte.exe) and i will look into adding any new features!

Issues

  • If i have missed any upgrades or you find any bugs feel free to open an issue on the GitHub repository or message me on discord (@mrbyte.exe) and i will try my best to fix any issues or update the mod for future updates.

Credits

  • Cat Icon by my friend Molly266 based on her cat called archie :D!

CHANGELOG

[2.2.0] - 2025-12-15

Added

  • Chance Upgrade Syncing:

    • In the config you can change the chance that a player will get each upgrade that is shared.

    • In the config you can change the chance that each upgrade level which gets synced for late joining player.

  • Dynamic Upgrade Type Config Toggles:

    • Upon loading the mod automatically detects all vanilla upgrades and all modded upgrades and add them to the config to be disabled or enabled by the host. This adds granular control of which mods get shared or synced.

Fixed

  • Fixed bug causing late join syncing to sync modded upgrades even when that config setting is off.

  • Fixed bug causing crash with last rolled back update.

[2.1.2] - 2025-12-02

Rollback to version 2.0.0

[2.1.0] - 2025-12-02

Added

  • Configrable chance for upgrade sharing.
  • Configrable chance for late join upgrade sync.
  • Extra clarity in logging for exact player name.

Fixed

  • No longer attempts to sync late joining players in the menu lobby.

[2.0.0] - 2025-11-29

Added

  • Host-Only Authority: The mod is now fully server-side. Only the host needs to install the mod for upgrades to be shared and synced with all clients (even vanilla clients).

  • Smart Upgrade Syncing:

    • Implemented an intelligent system that distinguishes between Vanilla and Modded upgrades automatically.

    • Vanilla upgrades use native game commands (TesterUpgradeCommandRPC) to ensure immediate upgrade syncing and visual feedback.

    • Custom/Modded upgrades use a "Safe Sync" method (UpdateStatRPC) to sync values without crashing clients that do not have the custom mod installed.

  • Dynamic Vanilla Discovery: The mod now uses reflection to automatically identify valid vanilla upgrades at runtime. This makes the mod highly compatible with future game updates without needing constant patches.

  • Improved Late Join System:

    • Refactored late-join logic to hook into PlayerAvatar.Start, ensuring reliable syncing regardless of when a player joins.

    • Added specific safety checks to prevent sync logic from running in non-game scenes like the Main Menu or Splash Screen.

Changed

  • Rewrote Shared Upgrades Logic: Moved from a hardcoded list of components to a dynamic stat-monitoring system. This allows the mod to support almost any custom upgrade mod out of the box.

  • Since the mod has now been completely rewritten from the ground up since the original fork the mod has now moved to its own standalone Github repository.

[1.3.5] - 2025-11-11

Fixed

  • Added credits to README.md.

[1.3.4] - 2025-11-11

Fixed

  • Fixed incorrect dll filename

[1.3.3] - 2025-11-11

Added

  • Only the host is now in charge of syncing the upgrades for late joining players.

Fixed

  • Only attempts to sync upgrades for new players when actually in game.
  • Small tweak to config file to make it more readable.

[1.3.2] - 2025-11-09

Fixed

  • Small tweak to README.md

[1.3.1] - 2025-11-07

Fixed

  • Small tweak to mod icon.

[1.3.0] - 2025-11-07

Added

  • Implemented native late joining system that supports upgrade syncing like the currently broken LateJoinSharedUpgradesByNastyPablo mod.
  • Added late join upgrade syncing to config so it can be enabled and disabled.

Known Issues

  • With late join upgrade syncing enabled it only updates upon moving to another level. However, the upgrades will correctly sync at that point and with it disabled the upgrades will be shared instantly. (needs more looking into and testing - been a bit busy)

[1.2.1] - 2025-11-07

Fixed

  • Fixed CHANGELOG.md file to fix spelling mistakes.

[1.2.0] - 2025-11-07

Added

  • Player Crouch Rest Upgrade support.
  • Player Tumble Wings Upgrade support.
  • Player Tumble Climb Upgrade support.
  • Death Head Battery Upgrade support.
  • Better info logging for each upgrade and each player it syncs with to aid in debugging and consistency.
  • Better README.md file for the mod front page.

Fixed

  • Fixed error causing original mod to not be able to find method to upgrade the stats of the players.
  • Updated all DLLs to be current versions.

Changed

  • Upgrade dependencies: BepInEx v5.4.2304