You are viewing a potentially older version of this package. View all versions.
MysticTeam-TeammateHealthHUD-1.1.0 icon

TeammateHealthHUD

Client-side teammate health, name, and death-state HUD for R.E.P.O.

Date uploaded a day ago
Version 1.1.0
Download link MysticTeam-TeammateHealthHUD-1.1.0.zip
Downloads 438
Dependency string MysticTeam-TeammateHealthHUD-1.1.0

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

TeammateHealthHUD

A lightweight, client-side teammate health HUD for R.E.P.O.

Features

  • One compact HUD card per teammate
  • Player names from R.E.P.O.'s visible Photon nickname
  • Current and maximum HP with smoothly animated bars
  • Health colors for healthy, medium, and low HP
  • A red, angled DEAD stamp that clears correctly after a revive
  • Optional portrait markers with an initial fallback (disabled by default)
  • R.E.P.O.-styled neon health readouts and segmented health bars
  • Automatically hidden in the main menu; shown only after a run starts
  • Automatic handling of joins, disconnects, revives, and scene changes
  • F8 show/hide shortcut by default
  • Resolution-independent layout for 1080p, 1440p, 4K, and other aspect ratios
  • BepInEx configuration with live Configuration Manager support

Client-side only

Only the player who wants the HUD needs to install this mod. The host and other players can remain completely vanilla.

TeammateHealthHUD does not add RPCs, packets, synchronized values, authority changes, or gameplay-changing patches. On the verified R.E.P.O. build, every client already receives teammate HP, maximum HP, death, and revive updates through the game's own Photon RPCs. This mod only reads the resulting local PlayerAvatar state and renders a local overlay. Its only Harmony hook is a postfix on GameDirector.Update that advances the HUD and never alters the game's method, arguments, or state.

Installation

Thunderstore Mod Manager / r2modman

  1. Install TeammateHealthHUD for R.E.P.O.
  2. Launch the game through the mod manager.

The required BepInEx pack is installed automatically.

Manual

  1. Install BepInEx-BepInExPack-5.4.2305 or newer compatible BepInEx 5 package.
  2. Copy TeammateHealthHUD.dll into BepInEx/plugins/TeammateHealthHUD/.
  3. Launch R.E.P.O.

Configuration

The config file is created at BepInEx/config/com.juanma.teammatehealthhud.cfg after the first launch.

Important options include:

  • Enabled, ShowSelf, ShowHealthNumbers, ShowHealthBar, ShowAvatar, and ShowDeadPlayers
  • DeadText for DEAD, MUERTO, or another label
  • ToggleKey (F8 by default)
  • Anchor, OffsetX, OffsetY, Scale, and Spacing
  • HTML hex colors for healthy, medium, low, dead, and name colors
  • PanelOpacity, SmoothHealthAnimation, and HealthLerpSpeed
  • DebugLogging, which records detailed scene, Canvas, roster, player-card, and two-second heartbeat diagnostics

All entries use normal BepInEx config types, so a compatible BepInEx Configuration Manager can edit them without being a required dependency.

Configuration is hot-reloaded. Pressing Save changes in an external BepInEx/Thunderstore config editor applies the new values in-game within approximately half a second; R.E.P.O. does not need to be restarted.

Verified game data

This release was built and inspected against Steam build 23363152 (R.E.P.O. release line 0.4.4.3, Unity 2022.3.67f2). It uses:

  • SemiFunc.PlayerGetList() / GameDirector.PlayerList for the current player roster
  • PlayerAvatar.playerHealth with PlayerHealth.health and PlayerHealth.maxHealth
  • PlayerAvatar.deadSet for the real death state, with HP at zero as an additional safeguard
  • PlayerAvatar.isLocal to hide the local player by default
  • SemiFunc.PlayerGetName() for the displayed in-game name
  • PhotonView.ViewID as the stable per-avatar HUD key

The game itself sends UpdateHealthRPC, PlayerDeathRPC, and ReviveRPC to vanilla clients. TeammateHealthHUD never calls those methods.

Known limitations

  • The inspected gameplay avatars do not expose a reusable per-player portrait texture or already-loaded Steam avatar. The HUD therefore uses a clean initial marker. It deliberately does not make Steam web requests or create extra portrait cameras.
  • Multiplayer behavior must be verified in a real two-client session after game updates. Enable DebugLogging if an update changes an internal binding.
  • Mods that replace the game's player avatar or health classes may require a compatibility update.

Support

When reporting a problem, include the BepInEx log and a two-second debug snapshot with DebugLogging = true.

CHANGELOG

Changelog

1.1.0

  • HUD is now hidden in the main menu and created only after R.E.P.O.'s real runStarted state becomes active
  • Redesigned player cards to match R.E.P.O.'s visual language with neon health readouts, segmented bars, compact typography, glow accents, and a darker low-profile panel
  • Changed ShowAvatar to disabled by default while keeping it available as an option
  • Added run-phase diagnostics for mission, lobby, shop, tutorial, and arena states

1.0.5

  • Fixed the definitive scene-cleanup failure: the HUD controller is now a managed C# object instead of a destroyable Unity scene object
  • The replaceable Canvas is now an independent persistent root and can be rebuilt safely after cleanup
  • Limited failed Canvas reconstruction attempts to avoid per-frame log flooding

1.0.4

  • Added extensive lifecycle, scene, Canvas, configuration, roster, player-state, card, and heartbeat diagnostics
  • Debug logging now records the full path from entering a scene to rendering each player card
  • Added guarded per-player UI creation errors and roster-source diagnostics

1.0.3

  • Fixed the HUD disappearing because its Canvas was destroyed during R.E.P.O. scene cleanup
  • Added automatic Canvas reconstruction while keeping the persistent controller and player tracker alive
  • Added a clear diagnostic whenever the overlay is restored

1.0.2

  • Added automatic in-game reload when the BepInEx config file is saved externally
  • Configuration changes now apply within half a second without restarting R.E.P.O.
  • Added a global menu/run update hook with per-frame deduplication

1.0.1

  • Fixed the HUD being hidden behind R.E.P.O.'s full-screen render overlay
  • Added a direct local-player fallback for single-player scene transitions
  • Moved HUD ticking to a minimal postfix on the inspected GameDirector.Update method
  • Added one-time diagnostics for loaded configuration and HUD update startup

1.0.0

  • Initial release
  • Added a responsive teammate health HUD
  • Added current and maximum HP with smooth health bars
  • Added player-name and portrait-marker support
  • Added a configurable red dead-player stamp
  • Added automatic join, disconnect, revive, and scene-change handling
  • Added client-side BepInEx configuration and F8 visibility toggle
  • Confirmed operation without custom networking or REPOLib