Zenoyui-LobbyName icon

LobbyName

Shows the current R.E.P.O. lobby name in the lobby UI.

By Zenoyui
Last updated 7 hours ago
Total downloads 66
Total rating 1 
Categories Mods Client-side
Dependency string Zenoyui-LobbyName-1.0.7
Dependants 0 other packages depend on this package

This mod requires the following mods to function

BepInEx-BepInExPack-5.4.2305 icon
BepInEx-BepInExPack

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

Preferred version: 5.4.2305

README

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

LobbyName text in the R.E.P.O. lobby UI

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

Thunderstore 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.