LethalPhonePOV

v1.0.3·Updated 2026-09-15

Player POV video on LethalPhones handsets using OpenBodyCams. Starts automatically during accepted calls.

About this mod Author’s original text

LethalPhonePOV 1.0.3

Displays the connected player's point of view on your LethalPhones handset.

Accept a normal phone call and open your phone: the video replaces its display

for the duration of the call. Hanging up restores the original display.

This is a separate replacement for LethalFaceTime. It uses LethalPhones for

the existing call and OpenBodyCams for local rendering. It does not transmit

webcam footage or add network messages, prefabs, or RPCs.

For a manual installation, extract the ZIP into the profile root. The DLL

belongs at BepInEx/plugins/LethalPhonePOV/LethalPhonePOV.dll.

It is a normal plugin; do not put it in BepInEx/patchers.

Each player who wants to see video needs this add-on locally. The host does

not relay video. A phone-only peer can still use the normal audio call.

Behavior

  • Shows the other player's POV, using OpenBodyCams' player targeting API.
  • Starts video for an accepted call, after both ends connect.
  • No separate FaceTime button or bodycam antenna purchase is required.
  • Shows the full camera image with black bars where needed.
  • Pauses rendering while the handset is closed; resumes when it opens.
  • Restores the normal phone UI at hangup without changing its widgets.
  • Retries when the remote phone, camera setup, or handset canvas arrives late.
  • Recreates the overlay if the phone model is replaced.
  • Releases its own camera textures and restores the vanilla interior culler

after the call. A pre-disabled culler is left disabled.

Version 1.0.1 supports player-to-player handset calls. It does not include

selfie mode, switchboard video, or creature caller video. Calls to those phone

types retain LethalPhones' normal display and audio behavior.

The default video is 384 x 288 at 24 FPS. Change Video/Width, Video/Height,

or Video/FramesPerSecond in BepInEx/config/BruhMMods.LethalPhonePOV.cfg.

OpenBodyCams still supplies its camera perspective, weather, night vision,

and model compatibility behavior.

Verification and first game test

Built against Lethal Company v81 reference assemblies, Unity 2022.3.62,

LethalPhones 1.3.23, OpenBodyCams 3.0.12, and BepInEx 5.4.23.5.

Compilation, eight call-lifecycle scenarios, and fourteen runtime/IL regression

scenarios passed. The runtime tests use engine API shims.

Unity rendering and a real multiplayer session have not been run here.

Test one call with both players looking in different directions. Each phone

should show the other person's view. Then close and reopen the handset,

hang up, and place another call in the opposite direction. Check an indoor

caller while the other player is outside.

The log gives separate progress markers:

LethalPhonePOV 1.0.1 ready; Unity frame driver armed.

Video runtime tick via Unity player loop.

Attached video overlay to the local handset PhoneCanvas.

Created independent OpenBodyCams camera, 384x288 at 24 FPS.

Connected call: showing 's POV on the local phone.

First phone video frame rendered.

The pre-canvas fallback may be the first runtime marker instead. It is a real

frame callback, not a startup-only self-test. Scene transitions also print a

runtime-alive marker. The first-frame message includes the overlay's active

state and video rectangle size.

A camera creation message alone is not proof that a frame rendered; the final

marker comes from Unity's render pipeline. If video still fails, keep both

processes' complete logs from that call. If BepInEx reports that LogOutput.log

is locked, include its alternate LogOutput log file for the second process too.

Do not mix a host log from one run with a client log from a different run.

What the new logs established

Both supplied 1.0.0 logs confirm startup and two registered Harmony hooks, but

neither contains the first video-update marker. No overlay-creation or first-frame

marker is present. The screenshot shows a connected audio call. This puts the

reported failure before video-display creation; it does not establish exactly

why the old runtime stopped or was never call

Install & use Install: BepInEx plugin

  1. The archive from playbuff is the mod itself — usually a BepInEx plugin (a .dll or a plugin folder once unzipped).
  2. Recommended: use a community mod manager (such as r2modman) — pick this game, import the mod, and the manager sets up BepInEx and its dependencies for you.
  3. Manual route: install the BepInEx loader in the game folder, then drop the unzipped .dll or plugin folder into BepInEx/plugins/.
  4. Launch the game — the BepInEx console logs every plugin it loads; seeing this mod in the log means it is installed.

Mods with listed dependencies need those installed too, or they will not load. Options are usually changed in-game or in the plugin's config file.

Dependencies

Install these first, or the mod will not work:

BepInEx-BepInExPackZaggy1024-OpenBodyCamsScoops-LethalPhones

File & checksum

Filename
LethalPhonePOV-1.0.3.zip
File size
135.2 KiB