You are viewing a potentially older version of this package. View all versions.
SavagePack-ElevatorMod-1.5.0 icon

ElevatorMod

Allows the elevator to move with just one player inside. Players not in the elevator stay on their current floor and can continue playing games independently.

Date uploaded a month ago
Version 1.5.0
Download link SavagePack-ElevatorMod-1.5.0.zip
Downloads 5847
Dependency string SavagePack-ElevatorMod-1.5.0

This mod requires the following mods to function

BepInEx-BepInExPack-5.4.2100 icon
BepInEx-BepInExPack

BepInEx pack for Mono Unity games. Preconfigured and ready to use.

Preferred version: 5.4.2100

README

ElevatorMod

Allows the elevator to move with just one player inside. Players not in the elevator stay on their current floor and can continue playing games independently.

Features

  • Elevator travels with any number of players (minimum one)
  • Only players inside the elevator travel to the new floor
  • Players outside stay exactly where they are and can keep playing
  • Players on different floors are visually hidden from each other — machines, lighting, keypads, and player models are all per-floor
  • Audio is muted for floors you are not on
  • Colliders for hidden floors are disabled on clients so they don't block movement
  • READY / BUSY elevator status display when nearby
  • Fully compatible with host and client players
  • State resets cleanly on disconnect and reconnect

Installation

  1. Install BepInEx 5
  2. Drop ElevatorMod.dll into BepInEx/plugins/
  3. Launch the game — install on all players' machines

Configuration

Edit BepInEx/config/com.yourname.elevatormod.cfg:

  • Enabled — toggle the mod on/off (default: true)
  • ShowStatusDisplay — show the READY/BUSY HUD near the elevator (default: true)

Changelog

1.5.0

  • Replaced cached bool approach with dedicated Mirror network messages for reliable client floor resolution
  • Added ElevatorTravelMsg — host sends a targeted message to each client before the floor change RPC fires, telling them whether they travelled this trip
  • Added PlayerFloorMsg — host broadcasts a full floor map (netId → floor) to all clients after every trip so player models can be hidden/shown correctly
  • Manual Mirror serializer registration added to work around IL weaver not running in BepInEx mods
  • Network handlers re-register automatically each session and after disconnects
  • Full visual separation between floors: renderers, lights, audio sources, colliders, canvases, and player name tags are all toggled per-floor
  • Keypad render cameras and display canvases are disabled on hidden floors, preventing grey-box rendering artefacts
  • LightbakerManager light volume now switches to match the local player's current floor
  • Floors that have been visited are kept active for Mirror networking — only unvisited floors are deactivated
  • Client RPC buffering added: if the floor change RPC and travel message arrive out of order, resolution is deferred until both are received
  • ServerTryTeleportPlayers patched to capture the destination floor index before teleports occur
  • Full state reset on disconnect including floor maps, visited floor set, and pending message flags

1.4.2

  • Experimental fix for games becoming unplayable after a solo elevator trip
  • Non-travelling players now explicitly re-enable all floors via SetActive(true) when blocking the floor RPC
  • SetSfxTrigger set correctly for the floor the non-travelling player is on

1.4.1

  • Fixed all floors spawning simultaneously on session start
  • Init/group travel calls (no one in elevator when RPC fires) now run normally for all clients
  • Partial trip logic only applies when someone is detected inside the elevator

1.4.0

  • Reworked floor RPC patch — non-travelling players block the RPC without any SetActive manipulation
  • Games on the non-travelling player's floor remain fully networked and playable
  • Host and client players can play games on different floors simultaneously

1.3.1

  • Fixed floor re-activation using false→true toggle cycle to force Unity to re-enable game objects

1.3.0

  • Replaced static bool approach with real-time collider position check at RPC time
  • Fixed non-host player being permanently stuck on lobby floor

1.2.0

  • Attempted fix for non-host player floor tracking

1.1.0

  • Initial release with basic elevator solo travel support