LobbyName
Shows the current R.E.P.O. lobby name in the lobby UI.
Screenshots 1 screenshots
About this mod Author’s original text
LobbyName
Document version: 1.0.7
Last changed: 2026-05-03
Project type: Applications
Author: Zenoyui
Game: R.E.P.O.
Loader: BepInEx 5
Scope
LobbyName shows the current lobby name on the R.E.P.O. lobby screen.
The mod changes only local UI. It does not change room membership, matchmaking, room props, player data, saves, network traffic, or game rules.
UI Image
System Boundaries
In scope:
- LobbyName.dll
- BepInEx plugin entry point ru.zenoyui.LobbyName
- Harmony postfix patches for MenuPageLobby
- One local TextMeshProUGUI object under the lobby UI
Out of scope:
- R.E.P.O. game binaries
- BepInEx runtime
- Photon server state
- Steam lobby state
- Other mods
Trust boundary:
- Game assemblies, BepInEx, Harmony, Photon, Unity, and TextMeshPro are external deps
- Lobby names are external data from Photon room props
Runtime Characteristics
Execution model:
- Unity main thread
- Harmony postfix calls on MenuPageLobby.Awake, MenuPageLobby.Start, and MenuPageLobby.UpdateChatPrompt
- Poll tick every 0.5 sec from a persistent Unity object
State:
- Cached reflection fields for MenuPageLobby
- Last logged lobby name string
- One UI text object per lobby page instance
Memory:
- Allocates one persistent loop object
- Allocates one TextMeshProUGUI object when the lobby UI exists
Shutdown:
- BepInEx unload is not used by the game runtime
- Unity scene unload removes scene UI objects
Mechanisms
- Reads server_name from PhotonNetwork.CurrentRoom.CustomProperties
- Falls back to PhotonNetwork.CurrentRoom.Name
- Copies font, material, color, spacing, and sizing from the game lobby prompt
- Places text from rendered header bounds
- Uses TextMeshPro ellipsis for names longer than the UI slot
Risk And Failure Model
Operational risks:
- MenuPageLobby rename removes patch targets
- Lobby header layout change moves the text slot
- Missing server_name shows Photon room name
- Other UI mods can change parent RectTransform bounds
Mitigation:
- Scanner path finds active MenuPageLobby instances
- Reflection fields are cached and null-checked
- Text placement recalculates during refresh
- Log lines include target, src, err, and msg fields
Residual risks:
- Game update can rename UI fields
- Text can truncate when the header leaves little horizontal room
- Other mods can overwrite the same UI hierarchy
Limitations
- Requires MenuPageLobby
- Requires TextMeshPro UI components
- Does not publish room names to other players
- Does not rename Photon rooms
- Does not alter Steam lobby metadata
Performance
Runtime cost:
- Poll interval: 0.5 sec
- Expected UI object count: one lobby page
- Per tick work: active MenuPageLobby scan plus text bounds read
Measured cost is not included in this release.
Install
app:
- Install the package
- Start R.E.P.O. from the selected profile
Manual:
- Install BepInEx 5
- Copy BepInEx/plugins/LobbyName/LobbyName.dll into the game BepInEx plugins folder
Auth
Author: Zenoyui
Plugin GUID: ru.zenoyui.LobbyName
Assembly name: LobbyName
Use the SHA256 value below to compare DLL files.
Hash
LobbyName.dll
SHA256:
A53418F6B8F8E3E4D5B4E28810477307F7A2380CA0C71D788F98C5FA2FDE1F6B
Files
BepInEx/plugins/LobbyName/LobbyName.dll
Logs
BepInEx log lines:
mod: init (id=ru.zenoyui.LobbyName, ver=1.0.7)
text: set (src=scanner, value=LobbyName)
Change Log
See CHANGELOG.md.
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: