Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
repo webcam
Displays your local webcam or virtual avatar over your character's head for local recording and streaming.
| Date uploaded | 4 months ago |
| Version | 1.2.3 |
| Download link | Skycheg-repo_webcam-1.2.3.zip |
| Downloads | 3374 |
| Dependency string | Skycheg-repo_webcam-1.2.3 |
This mod requires the following mods to function
BepInEx-BepInExPack
BepInEx pack for Mono Unity games. Preconfigured and ready to use.
Preferred version: 5.4.2305README
Local Webcam Mod for R.E.P.O.
This mod captures your local webcam or virtual avatar feed and displays it above your character for local recording and streaming.
Features
- Local-only webcam display for your own client
- Support for physical webcams and virtual cameras
- Optional screen overlay mode instead of the world-space bubble
F8hotkey to toggle the local camera quickly
Configuration
Open the RepoWebcamMod section in BepInEx ConfigurationManager.
Camera Settings
Enabled: Enables or disables the webcam module.Mirror: Mirrors the local video horizontally.Device: Selects the camera device from the detected list.ShowLocalPreview: Shows the local feed as a 2D screen overlay.LocalPreviewPosition: Sets the on-screen anchor position for the overlay.PreviewSize: Sets the overlay size in pixels.Zoom: Adjusts the zoom level of the captured frame.OffsetX/OffsetY: Adjust the crop offset of the captured frame.
Remote Webcam Settings
Height (Y): Vertical offset above remote players.Depth (Z): Forward or backward offset relative to the remote player.Size (Scale): Size of the remote webcam surface.
Requirements
- BepInExPack
- REPOConfig
Author: Skycheg
This mod was made for the Skycheg channel: https://twitch.tv/skycheg
If you use this mod in public games, streams, videos, or other public content, please mention the author.
CHANGELOG
Changelog
2026-03-22
- Reduced release-time logging overhead by buffering file writes instead of flushing every message synchronously from gameplay threads.
- Throttled repetitive runtime diagnostics so preview, transport, and anchor logs no longer spam the log file during active sessions.
- Moved outgoing webcam crop, mirror, and downscale work to a GPU blit path before JPEG encoding, reducing CPU load when capture devices force higher source resolutions such as
1280x720. - Changed remote anchor refresh to follow the tracked player lifecycle first, avoiding repeated alive/dead full-scene scans for every peer during steady-state gameplay.
- Updated package version to
1.2.2. - Added this English changelog to the release archive so packaged builds include change history next to the DLL and manifest.
- Updated the Thunderstore dependency to
BepInEx-BepInExPack-5.4.2305.
2026-03-14
- Split remote anchor resolution into separate alive/death paths so
code_head_topandPlayer Death Head(Clone)are no longer mixed during lifecycle transitions. - Extended anchor failure diagnostics to log alive and death anchor candidates independently for the matched remote player hierarchy.
- Reused the last trusted remote death anchor when Steam/Photon ID matching temporarily drops after death, preventing webcam loss above a valid
Player Death Head(Clone). - Fixed an issue where webcams disappeared after entering a level due to failed Photon Owner ID matching; anchor resolution now scans all
PhotonViewcomponents in the hierarchy. - Fixed an issue where webcams did not attach to dead players properly: implemented a direct child-search fallback for
Player Death Head(Clone)when standard component resolution fails. - Disabled the parking coordinate threshold filter specifically for death heads, preventing them from being rejected when flung far away by physics.
- Added a 5-second grace period for the
Alivelifecycle state to prevent webcam flickering or disappearing during the transition between alive and dead states. - Implemented diagnostic logging (
LogAnchorResolutionFailureDiagnostics) to track anchor resolution failures in real-time.
2026-03-07
- Moved the custom Steam relay transport to a dedicated virtual port so it no longer collides with
RepoSteamNetworkingtraffic when that library is installed locally. - Reworked the webcam send profile selection to use Steam lobby recipient count and a stricter bitrate budget, preventing
24 FPS / 360pfrom staying active in larger lobbies. - Switched video delivery from direct full-mesh fan-out to host-relay routing over Steam so larger lobbies no longer multiply every client frame across all peers.
- Limited host-relay routing to larger lobbies only; 2-3 player sessions now keep direct peer fan-out because it is cheaper and lower-latency at that size.
- Added a remote-anchor fallback grace mode so active webcam streams stay visible for a few seconds even if avatar anchor resolution temporarily fails during scene churn.
- Expanded remote anchor discovery so webcam quads can reattach to corpse/ragdoll-style player hierarchies instead of staying frozen at the last live position.
- Replaced corrupted and Cyrillic runtime strings in release-bound code with readable ASCII English text.
- Rewrote package and repository README files to remove mojibake from shipped documentation.
- Added
.editorconfigto keep text files in UTF-8. - Added
execution/check_text_encoding.pyto catch mojibake before packaging. - Removed
RuntimeStringVaultstring obfuscation and restored plain Twitch branding strings and channel URL. - Removed assembly-level obfuscation attributes and aligned assembly/plugin versioning with the Thunderstore manifest.
- Removed all Twitch and author branding from runtime code and package metadata for Thunderstore compliance.
- Added
execution/release_sanity_check.pyto validate package structure, manifest consistency, and forbidden legacy tokens before release. - Removed the obsolete
Rune580-REPO_SteamNetworking_Libdependency fromBuild/manifest.json.