You are viewing a potentially older version of this package. View all versions.
AST_Studios-LateRepo_Fix-1.1.0 icon

LateRepo Fix

Compatibility patch for LateRepo 1.6.4: fixes the outdated singleplayerPool error and keeps host lobbies joinable during active rounds.

Date uploaded 3 weeks ago
Version 1.1.0
Download link AST_Studios-LateRepo_Fix-1.1.0.zip
Downloads 122
Dependency string AST_Studios-LateRepo_Fix-1.1.0

This mod requires the following mods to function

BepInEx-BepInExPack-5.4.2305 icon
BepInEx-BepInExPack

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

Preferred version: 5.4.2305
Chaosholz-LateRepo-1.6.4 icon
Chaosholz-LateRepo

Adds LateJoin to R.E.P.O. and includes several quality-of-life features.

Preferred version: 1.6.4

README

LateRepo Fix

Compatibility patch for LateRepo 1.6.4.

It prevents the repeated RunManager.singleplayerPool MissingFieldException that can appear when LateRepo wraps LevelGenerator.Start together with older mods that still expect that removed game field.

It also adds a host-side option that keeps the Steam lobby joinable during an active round, so players can connect while the host is already inside a level instead of only joining in the shop/truck.

Config

The config file is created at BepInEx/config/laterepo.fix.runtime.cfg after launching the game once.

  • General.DebugLogging: enables extra logs for this fix. Default: false.
  • Host.AllowJoiningDuringActiveRound: keeps the host lobby joinable during active runs. Default: true.

Install

Install this alongside LateRepo.

For multiplayer, install it on the host. Clients may install it too.

Support

Discord: https://discord.com/invite/rbYzZFYfUg

CHANGELOG

Changelog

1.1.4

  • Added an early client-side module connection prepass before GenerateConnectObjects and GenerateBlockObjects.
  • Fixes active-round reconnects where the client could generate phantom walls before receiving the host's room-link replay.
  • Applies incoming ModuleConnectionSetRPC idempotently on clients, preventing duplicate module-ready counts and duplicate prop-switch setup.
  • Keeps the targeted host module replay from 1.1.3 as a backup for late-loaded module PhotonViews.
  • Helps prevent late-joined or reconnected players from spawning inside disconnected room blockers after a crash.

1.1.3

  • Added targeted vanilla ItemBattery state sync for newly joined clients.
  • Fixed missing charge bars for vanilla charged items such as Phase Bridge and staff weapons after joining an active round.
  • Also resyncs item battery charge after level item setup, covering clients who joined before the round but loaded items with stale charge UI.
  • Added an inventory UI fallback that repairs stale private ItemBattery bar counters when vanilla returns an empty charge state.
  • Extended targeted late-join battery sync retries so active-round joiners can receive charge state after their item PhotonViews finish loading.
  • Sends current battery state only to the newly joined player, avoiding the old global item state replay that broke charge UI.
  • Stores module connection state on the host and replays it directly to late joiners after their player avatar is ready, avoiding early ModuleConnectionSetRPC misses that could create disconnected/phantom walls.
  • Skips direct ItemBattery RPC sync for nested batteries whose PhotonView cannot receive vanilla battery RPC methods, preventing BatteryToggleRPC / BatteryFullPercentChangeRPC console errors.
  • Added Items.SyncItemBatteryStateForLateJoiners config.
  • Added Items.RepairInventoryBatteryUiForLateJoiners config.

1.1.2

  • Removed the experimental equipped item state replay and ItemEquippable.RPC_UpdateItemState guard because they could break charge bars on battery-style items and Defibro.
  • Removed Items.RepairItemEquipStateRpc and Items.SyncEquippedItemsForLateJoiners config.
  • Replaced late module connection replay with buffered ModuleConnectionSetRPC during generation, so active-round joiners receive room links through the same Photon cache path as vanilla level state.
  • Removed late-join item battery state replay. LateRepo Fix no longer sends BatteryFullPercentChangeRPC, leaving charge bars to vanilla ItemBattery and item-specific fixes.
  • Updated Level.SyncModuleConnectionsForLateJoiners to control buffered module connection sync.

1.1.1

  • Stopped the periodic Steam lobby unlock call that caused constant Steam: Unlocking lobby... console spam.
  • Kept the periodic Photon room open/visible refresh for active-round joining.
  • Added late-join enemy state synchronization to prevent missing player dictionary keys in EnemyOnScreen and EnemyVision.
  • Keeps the host Photon room open and visible while active round joining is enabled.
  • Added Host.KeepPhotonRoomOpenDuringActiveRound config.
  • Added periodic host access refresh during active runs.

1.1.0

  • Added Host.AllowJoiningDuringActiveRound config.
  • Keeps the host Steam lobby joinable while active round joining is enabled.
  • Preserves public/private lobby visibility while allowing joins.

1.0.0

  • Added a guard around LateRepo's LevelGenerator.Start hook.
  • Added a finalizer on LevelGenerator.Start so the guard still works after runtime hooks are installed.
  • Suppressed the outdated RunManager.singleplayerPool MissingFieldException.
  • Added General.DebugLogging config.