Coilhead mod
Freeze after players or NPCs watch for a configurable time. Separate looks add up. Choose outline colors, freeze time and cooldown in BoneMenu. Corner VR countdown. Double-tap both triggers + Y + B together to disable. PCVR with Fusion.
By MeltedMelon
CHANGELOG
Changelog
1.2.0 — Live gaze, outline scaling and saved settings
- Rename the Thunderstore package, menu and display name to Mannequin. Keep the existing DLL filename and saved settings for updates.
- Keep real headset and playspace orientation in outgoing Fusion poses while independently holding the visible statue. Two mannequins can look away from each other without transmitting their old frozen gaze.
- Read gaze from the latest received pose, not the interpolated rig. Expire observations if no new pose arrives for 0.35 seconds.
- Default the view cone to 60 degrees and add an adjustable 20–100 degree setting.
- Bake skinned mesh scale into snapshots once and draw without applying the hierarchy scale again; retain normal transform scale for rigid meshes.
- Add eight outline colors, freeze duration (1–120 seconds) and cooldown (0–120 seconds), saved through MelonPreferences. Default timing stays 20/20 seconds.
- Apply chosen duration consistently to the countdown, local hold deadline and remote hold deadline. Timing or view-cone edits release and reset the current round.
- Remote freeze messages include the chosen duration. All participating viewers should update to 1.2.0; older versions cannot interpret the new extended freeze message.
- Add fresh/stale gaze, live-head transmission, saved-setting, timing and scale-once regression checks. Native VR testing remains pending.
1.1.1 — Release and highlight fixes, corner countdown
- Replace persistent rigidbody constraint writes with active-only position/rotation corrections. Both local and remote holds leave native constraints, kinematic flags and Fusion movement-lock flags untouched.
- Keep late-update and before-render pose correction, explicit feet/knee holding, zero outgoing movement and release on lost sight or timeout.
- Fix the logged highlight rejection: validate the baked mesh itself instead of comparing it to stale custom-avatar renderer bounds. Keep invalid-matrix, empty-mesh and oversized-mesh checks.
- Draw watcher highlights on a layer visible to the headset camera.
- Replace the centre panel with one small countdown number in the lower-right corner. Account for both eye projections and add a subtle shadow; remove labels, background and progress bar.
- Add regressions for repeated constraint-free releases, mesh validation and stereo corner placement. Live VR confirmation remains pending.
1.1.0 — Release, headset countdown and NPC mode
- Read Fusion's tracked headset direction and immediately reject cached sightings after turn-away, death or hiding.
- Clear pose callbacks on look-away and timeout; explicitly prevent receiver-side holds from attaching to the local rig.
- Replace the camera-screen HUD with a headset-attached world-space countdown on a visible camera layer. Show it during a freeze and hide it on look-away, disable or timeout; cooldown stays in the menu.
- Keep HUD retries independent of silhouette failures.
- Add Players, NPCs and Both modes, with solo NPC support and yellow watcher silhouettes sharing the existing render budget.
- Budget NPC sight checks, use NPC eye transforms and reject dead or inactive NPCs.
- Log freeze/release transitions and add headset, NPC and HUD-state regressions. Live VR confirmation remains pending.
1.0.2 — Startup crash hotfix
- Remove all seven native rig, physics, art and camera Harmony detours introduced in 1.0.1.
- Use existing rig late-update and Unity before-render callbacks, attached only to available player rigs, to maintain the saved pose.
- Defer the managed Fusion outgoing-pose hook until the role is enabled in a lobby with a valid rig. No patches install during mod initialization.
- Preserve other mods' callback listeners and detach this mod's listeners on rig replacement or shutdown.
- Keep temporary body constraints, remote freeze heartbeats, release guards and the 20-second freeze/cooldown rules.
- Add callback lifecycle regression checks. The reported crash was a fatal runtime error; the exact failing native hook is unconfirmed. In-game startup and multiplayer confirmation remain pending.
1.0.1 — Frozen feet and remote poses
- Hold the previous completed body and bone pose, including feet and knees.
- Temporarily constrain frozen bodies and suppress their procedural foot/art updates to address movement slip.
- Clear outgoing thumbstick motion and add a receiver-side pose hold to address remote walking-in-place. Viewers need 1.0.1 installed; their own role can stay off.
- Restore original body constraints independently and retry failed restores.
- Add expiring remote heartbeats, a hard timeout, and cleanup on disable, disconnect and rig changes.
- Isolate remote avatar failures so other players can still release.
- Expand regression coverage for native hook callbacks, remote metadata, previous-frame capture and release failures. Live multiplayer VR testing remains pending.
1.0.0 — Mannequin Mod
- Renamed the mod and package to Mannequin Mod and removed prerelease branding.
- Replaced the cover art with a simple white spring-neck mannequin outline on black.
- Removed the how-to-play menu and moved instructions to the mod description.
- Reworked freezing to avoid persistent physics and global movement-lock flags.
- Added independent observation-expiry and maximum-duration guards.
- Made release cleanup continue after a destroyed or invalid rig part; restored local avatar attachment transforms and woke released dynamic bodies.
- Kept immediate observation freezes, the 20-second escape/cooldown rules, solid yellow silhouettes, VR countdown and grip/trigger emergency disable.
- Expanded automated regression tests. Live multiplayer VR testing remains pending.