


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 host-side options that keep the Steam lobby and Photon room 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.
The Steam lobby is only unlocked when the game or LateRepo tries to lock it or when the level changes. The periodic refresh only keeps the Photon room open, so it does not spam Steam: Unlocking lobby....
The patch also synchronizes enemy player-state dictionaries for late joiners, preventing missing-key errors in EnemyOnScreen and EnemyVision when a player connects after enemies already exist.
It buffers module connection state while the level is generated. Active-round joiners then receive the same room-link RPCs through Photon cache as players who were already in the round, preventing connected rooms from showing phantom blocking walls.
It does not replay item battery state. Charge bars are left to vanilla ItemBattery behavior and item-specific fixes, which avoids breaking battery UI for players who join normally or mid-round.
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.Host.KeepPhotonRoomOpenDuringActiveRound: keeps the Photon room open and visible while active round joining is enabled. Default: true.Level.SyncModuleConnectionsForLateJoiners: buffers module connection state for active-round late joiners. Default: true.Install this alongside LateRepo.
For multiplayer, install it on the host and every client.