LoadingWidgetREPO
Loading-screen panel for every player: live load states with stuck detection, talking bars, local voice volume; kick/ban and stuck-load lobby rescue for moderators. Works standalone; full SharePermiss
About this mod Author’s original text
LoadingWidget
A panel on the R.E.P.O. loading screen — the one place the normal menus can't reach. Every
player running the mod sees it while a multiplayer level load is in flight — between levels in
the game itself, including through the scene-swap gap where even the game's own UI is gone; never
on the boot/menu loads or in singleplayer. Works on its own;
SharePermissions is an optional companion that
unlocks its full moderation stack.
Everyone sees:
- every connected player with their live load state — LOADING / BUILDING / LOADED / READY — so
the one player hanging the load is visible at a glance. When a load is genuinely stuck (the
game's own ~25s verdict, or the panel's own backstop for the Start/reload phases it misses), the
header flags STUCK and the blocking rows burn red
- a talking-volume bar per player
- a per-player local voice volume slider (0–200%, this machine only, resets on room leave)
Moderators (the host — plus SharePermissions moderators when it's installed) additionally get:
- Kick / Ban for stuck or misbehaving players
- a Lobby button that brings the whole room back to the lobby even when a load is stuck — with
the host-side QUEUED / FORCE rescue escalation for a wedged transition (the vanilla stuck
prompt only offers leaving the room; this bail keeps the room intact)
Standalone vs. with SharePermissions
The mod detects SharePermissions at startup and uses all of it when found:
| | Standalone | With SharePermissions v1.17.0+ |
|---|---|---|
| Who sees the panel | Everyone in the room running the mod | Everyone in the room running the mod |
| Who gets moderation actions | Host only | Host and SharePermissions moderators |
| Kick / Ban | The game's own kick & ban (host) | SharePermissions rules & wire protocol — moderators can kick remotely, bans are audited |
| Role icons | Host crown only | Full tiers: host / moderator / mod user / no mod |
| Lobby + QUEUED/FORCE rescue | Yes (host) | Yes, plus moderator-initiated via wire command |
| Load states, talking bars, local volume | Yes | Yes |
| Panel on/off toggle | This mod's config: UI / ShowLoadingPanel in BepInEx/config/RED.LoadingWidget.cfg | SharePermissions' Settings tab "Loading panel" (config: UI / ShowLoadingPanel in SharePermissions' config file) — live, mid-load included |
Note on older SharePermissions (≤ 1.16.x): those versions ship this panel inside
SharePermissions itself, so LoadingWidget stays dormant (one log line, no double panel). Update
SharePermissions to 1.17.0+ — or uninstall it — to activate LoadingWidget.
Quick start
- Install this mod. That's it — the panel appears on multiplayer loading screens for everyone
running it; the kick/ban and lobby controls light up for the host.
- Optional: install SharePermissions v1.17.0+ (and set it up as usual, secret code etc.) to get
moderator access, role tiers, and its kick/ban machinery on the panel.
For developers
This mod is the panel UI plus the native FORCE lobby rescue, talking to a backend picked once
at startup (Plugin.ResolveBackend, soft [BepInDependency] so SharePermissions loads first when
present):
- Bridged — SharePermissions v1.17.0+ installed: moderation goes through its public facade
SharePermissions.Api.LoadingWidgetBridge (additive-only stability contract).
- Standalone — SharePermissions absent: host-only moderation fallbacks on the game's own
machinery (native kick/ban wire events, replicated lobby-return, own PlayerVoiceChat postfix
for talking bars and local volume — applied only in this mode so the two mods never double-apply
volume factors).
- FORCE is native in both modes (src/StandaloneLobby.cs): the wedged-transition restart acts
on the game's pipeline, not on backend state, so it lives here; the backend that owns the queued
return finishes the trip after the reboot.
src/SharePermissionsBackend.cs is the only file allowed to reference SharePermissions.*
types (JIT isolation is what lets the mod run without the assembly on disk — keep it that
Install & use Install: BepInEx plugin
- The archive from playbuff is the mod itself — usually a BepInEx plugin (a .dll or a plugin folder once unzipped).
- Recommended: use a community mod manager (such as r2modman) — pick this game, import the mod, and the manager sets up BepInEx and its dependencies for you.
- Manual route: install the BepInEx loader in the game folder, then drop the unzipped .dll or plugin folder into BepInEx/plugins/.
- Launch the game — the BepInEx console logs every plugin it loads; seeing this mod in the log means it is installed.
Mods with listed dependencies need those installed too, or they will not load. Options are usually changed in-game or in the plugin's config file.
Install these first, or the mod will not work: