repo webcam
Displays your local webcam or virtual avatar over your character's head for local recording and streaming.
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.