khalil-GlowNames icon

GlowNames

Permanently reveal nearby visible player names with readable configurable text and wall occlusion.

By khalil
Last updated 18 hours ago
Total downloads 181
Total rating 0 
Categories Mods Misc Client-side AI Generated Quality Of Life
Dependency string khalil-GlowNames-1.1.0
Dependants 0 other packages depend on this package

This mod requires the following mods to function

BepInEx-BepInExPack-5.4.2100 icon
BepInEx-BepInExPack

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

Preferred version: 5.4.2100

README

GlowNames

GlowNames is a lightweight BepInEx mod for R.E.P.O. that permanently reveals nearby player names with readable text, distance-based sizing, and line-of-sight checks.

The base game only shows player names in limited situations, and the text can be faint. GlowNames reuses the game's existing nameplate system so you can identify teammates more reliably without adding a separate UI layer.

Features

  • Permanently reveals valid nearby non-local player names.
  • Default reveal range is 20.
  • Configurable text color, plain white by default.
  • Optional outline color, also configured with English color names.
  • Configurable distance-based name size: BaseFontSize - camera distance; farther names get smaller.
  • Wall occlusion support: names blocked by walls or large physics objects are not revealed.
  • Dead players are included by default and use the real death-head position. Non-death disabled avatars are skipped to avoid stale or ground-level nameplates.
  • Optional TMP outline settings if you want extra contrast.

How it works

  1. Every frame, GlowNames reads the game's player list and skips the local player.
  2. It filters other players by distance and dead/downed state according to your config.
  3. If a dead player's normal avatar has been disabled, GlowNames switches to the active death-head position instead of using the stale avatar position.
  4. For each valid player, it checks line of sight from Camera.main to the player's nameplate world position.
  5. If a wall or large physics object blocks the raycast, the name is not forced visible.
  6. If the player is visible and in range, GlowNames calls the game's original nameplate display method and extends the nameplate timer.
  7. A Harmony postfix reapplies readable text styling after the game's own nameplate update, including the configured distance-based font-size formula.

GlowNames does not create a separate UI layer. It reuses the game's existing player nameplate system and only changes visibility/styling for valid visible players.

Installation

Install with a Thunderstore-compatible mod manager, or install manually:

  1. Install BepInEx 5 for R.E.P.O.

  2. Copy GlowNames.dll into your game's BepInEx plugins folder:

    BepInEx/plugins/GlowNames/GlowNames.dll
    
  3. Start the game once to generate the config file.

Usage

  • Start or join a run.
  • Nearby visible player names appear automatically.
  • If a teammate is behind a wall or large blocking object, their name stays hidden.
  • Adjust range, colors, dead-player handling, outline, and occlusion in the config file or through REPOConfig.

Configuration

Config file:

BepInEx/config/com.zhuanban.glownames.cfg

Display

Range

Default: 20

Maximum distance from the local player. Players outside this radius are ignored.

Alpha

Default: 1

Text opacity for revealed names. 1 is fully opaque, 0 is invisible.

BaseFontSize

Default: 20

Allowed range: 0 to 100

Base value used for distance-based sizing. GlowNames applies the same formula to living-player names and death-head names:

fontSize = BaseFontSize - distance from Camera.main to the name position

The default value 20 matches the game's original formula. Raising it makes both living-player and death-head names larger at the same distance; lowering it makes them smaller.

Text

Color

Default: White

Text color. REPOConfig displays English color names:

White, Black, Yellow, Cyan, Red, Green, Blue, Orange, Purple, Pink

Old configs that still contain RGB/RGBA hex values are tolerated, but new configs use English names.

Filters

IncludeDeadPlayers

Default: true

If enabled, GlowNames can include players whose death state has been triggered, mainly PlayerAvatar.deadSet == true.

deadSet starts when death is triggered and remains true until revival. There is a short death transition where deadSet can already be true before isDisabled becomes true. After death finishes, the game usually disables the normal avatar and activates a separate PlayerDeathHead. GlowNames uses that death-head position for dead players, which avoids the stale/ground-level avatar-nameplate problem.

Outline

Enabled

Default: false

Enables a TMP outline override for revealed names. Disabled by default for clean plain white text.

Color

Default: White

Outline color. Only used when Outline.Enabled is true. Uses the same English color names as Text.Color.

Width

Default: 0

Outline width. Only used when Outline.Enabled is true.

Occlusion

Enabled

Default: true

If enabled, GlowNames checks whether walls or physics objects block the nameplate. Blocked names are not revealed.

CheckInterval

Default: 0.1

Seconds between line-of-sight checks per nameplate. Lower values react faster but do more raycasts.

Recommended settings

[Display]
Range = 20
Alpha = 1
BaseFontSize = 20

[Text]
Color = White

[Filters]
IncludeDeadPlayers = true

[Outline]
Enabled = false
Color = White
Width = 0

[Occlusion]
Enabled = true
CheckInterval = 0.1

Notes

  • If you previously used an older build, delete BepInEx/config/com.zhuanban.glownames.cfg once to regenerate a clean config.
  • Obsolete settings left in an old config file are ignored by this version.