LiveSpectate
Local-only live spectate camera for R.E.P.O. Press K while alive to watch teammates without entering vanilla death spectate.
模組介紹 作者原文
LiveSpectate
LiveSpectate is a client-side BepInEx mod for R.E.P.O. that lets you watch other living players while you are still alive.
Press K during a playable round to toggle a local-only third-person spectator camera. Press K again to return to your normal camera.
Features
- Toggle live spectate while your local player is alive.
- Watch enabled, living, non-local teammates.
- Switch spectate targets with the game's normal spectate next/previous inputs.
- Keeps vanilla death spectate, revive flow, player alive/dead state, and game state intact.
- Uses a local-only camera clone; it does not create a networked player object and does not change other players' games.
- Matches vanilla camera style by cloning the original main camera hierarchy, child cameras, render texture output, and direct post-processing layer where present.
- Restores original cameras, tags, audio listener target, light culling target, and camera utility state when live spectate stops.
Controls
| Action | Input |
| --- | --- |
| Start live spectate | K |
| Stop live spectate | K |
| Rotate camera | Mouse |
| Zoom distance | Mouse wheel |
| Switch target | Game's spectate next / previous inputs |
How it works
LiveSpectate intentionally avoids using R.E.P.O.'s vanilla death-spectate entry points. It does not call vanilla SetSpectate() or StopSpectate(), and it does not move or reparent the original CameraAim or CameraPosition objects.
When you start live spectate, the mod:
- Verifies that you are in a playable scene, alive, local, and have at least one valid non-local living player target.
- Creates a local camera clone from the game's current main camera.
- Copies the main camera's render settings and shares the original Render Texture Main target so R.E.P.O.'s existing display pipeline keeps updating normally.
- Clones child cameras such as Camera Top and copies direct PostProcessLayer settings when they exist, preserving the vanilla visual style.
- Temporarily tags the live camera as MainCamera and redirects CameraUtils.Instance.MainCamera so vanilla utility screen-space calculations use the active live camera.
- Disables the original main-camera hierarchy cameras while live spectate is active, storing their previous enabled states for safe restoration.
- Redirects the audio listener target to the live camera.
- Redirects the LightManager cull target to the spectated player so lights and emissive props around the watched player load like vanilla spectate.
- Hides normal HUD elements and shows the spectate name UI while active.
When live spectate stops, the mod restores only the resources it still owns. If the game or another mod changed a camera tag, camera enabled state, CameraUtils, light target, or audio target during live spectate, LiveSpectate skips overwriting that newer owner state.
Important compatibility notes
- This is a local visual mod. Other players do not see your live spectate camera.
- The mod is designed to stop before vanilla local death handling continues, so vanilla death spectate can take over normally.
- The mod intentionally shares the game's existing render texture target. Do not replace or remove that behavior unless you also replace R.E.P.O.'s display pipeline.
- Default logging is action-based. Extra camera diagnostics are available through the config option below.
Configuration
After first launch, BepInEx creates a config file for the plugin.
| Option | Default | Description |
| --- | --- | --- |
| Diagnostics.VerboseDiagnostics | false | Enables detailed camera, post-processing, and input diagnostic logs. Keep this off for normal play. |
Installation
r2modman
Install the package through Mod Manager or r2modman for R.E.P.O.
Manual
- Install BepInEx for R.E.P.O.
- Place LiveSpectate.dll under BepInEx/plugins/LiveSpectate.
- Launch the game.
Troubleshooting
- If pressing K does nothing, make sure you are alive, in a playable round, and at least one other living non-local playe
安裝與使用 安裝:BepInEx 外掛
- 本站下載的壓縮包就是模組本體,通常是 BepInEx 外掛(解壓後得到 .dll 或外掛資料夾)。
- 建議流程:用社群模組管理器(如 r2modman)選中本遊戲後匯入該模組,管理器會自動裝好 BepInEx 前置並處理依賴。
- 手動流程:先在遊戲目錄裝好 BepInEx 載入器,再把解壓出的 .dll 或外掛資料夾放進 BepInEx/plugins/。
- 啟動遊戲,BepInEx 控制台會列印載入日誌;確認這個模組出現在日誌裡即為安裝成功。
帶「前置依賴」的模組需要一併安裝,否則不會載入。功能開關通常在遊戲內或外掛自帶的設定檔裡調整。
下面這些內容需要先安裝,否則該模組不會生效: