EasyBackpack Fix
Compatibility fix for the original EasyBackpack mod (by nickklmao). Access your backpack without dropping it, restored for the 2026-08-12 PEAK update.
By khalil
| Date uploaded | 2 weeks ago |
| Version | 1.1.8 |
| Download link | khalil-EasyBackpack_Fix-1.1.8.zip |
| Downloads | 10518 |
| Dependency string | khalil-EasyBackpack_Fix-1.1.8 |
This mod requires the following mods to function
BepInEx-BepInExPack_PEAK
BepInEx pack for PEAK. Preconfigured and ready to use.
Preferred version: 5.4.2403README
EasyBackpack (Compatibility Fix) — 1.1.8
This is a community-maintained compatibility fix for the original EasyBackpack mod.
Original author: nickklmao Original Thunderstore page: https://thunderstore.io/c/peak/p/nickklmao/EasyBackpack/
What is this?
Are you tired of having to drop your backpack to access it? No need to worry, you don't have to anymore! Using a custom keybind (see below) you can access your backpack without having to drop it.
This package is a fork of the original EasyBackpack, fixed for the PEAK game update of 2026-08-12 which broke the original 1.1.2 build. It is not an official update by the original author.
What was fixed?
| Breakage | Original (1.1.2) | Fixed |
|---|---|---|
BackpackSlot.hasBackpack field removed by the game |
referenced 2× → crash on backpack key | now uses BackpackSlot.IsEmpty() |
GUIManager.OpenBackpackWheel(BackpackReference) → (BackpackReference, int slotCount, BackpackSlot.BackpackType) |
single-arg call → crash | passes slotCount + backpackType from the equipped slot |
Game's BackpackWheel.Update reordered its close checks, breaking the mod's MonoMod IL hook |
wheel instantly closed after opening | IL hook replaced with a Harmony Prefix/Postfix keeping the wheel open while the key is held |
| Slot count hardcoded to 4 for every back-mounted item | Fannypack showed 4 slots; stashing into slots 3/4 made items unreachable | slot count read from the equipped item's real prefab value (Backpack 4, Fannypack 2); Rocketpack no longer opens the wheel (matches the game's fire behaviour) |
Jetpack self-refuel on a non-host client gets rolled back: AddFuelToJetpack triggers EmptySlot() → host SyncInventoryRPC carrying the pre-refuel fuel value overwrites the client's local fuel |
local fuel stays at the pre-refuel value | local fuel is compensated to the authoritative value after the stale sync lands — no extra RPC is broadcast, so the host copy is never double-counted |
| Jetpack fuel amount on the back always added a fixed 50, unlike ground refuels which compute from the held item | red fruit added half a tank on the back, a little on the ground | back refuels now use the same per-item fuel calculation as ground refuels |
| Jetpack refuel compensation refunded fuel spent while flying (fuel duplication, leaked to host), flickered on back-to-back refuels, and silently dropped fuel on slow connections | fuel flicker / duplication / loss | compensation now restores the actual pre-rollback value in the same frame, matches each rollback to the current refuel base, and keeps the pending state alive (30s) so late rollbacks are still compensated |
| The wheel was assumed to be open after requesting it, even when the game refused | pressing the key while another wheel or a blocking window was open left the mod forcing the interact input, so that wheel could not be closed | the mod only takes over once the backpack wheel is actually open, and releases as soon as the game closes it |
| Releasing the wheel relied on catching a single key-up event | losing focus, rebinding the key, or a dropped key-up event could leave the wheel pinned open | releasing is based on the opening key still being held, so the wheel can never get stuck open |
| Refuel compensation stayed armed until a timeout | an unrelated inventory sync arriving in that window could be mistaken for the rollback | compensation is bound to the backpack instance, released as soon as the host's value arrives, and never arms on the host |
| Opening the wheel could throw while the character was still initialising | an unhandled exception per key press | every game call on the open path is guarded; failures log one throttled warning and open nothing |
| The wheel could be opened while fully passed out | inventory access while downed | fully passed out is now treated like passed out / dead |
| A single changed game method could break the whole plugin | one failed patch aborted loading, so even opening the wheel stopped working | patches are applied independently and every patch is exception-guarded, so one game change degrades only the matching fix |
No gameplay logic was changed.
Manual Installation
- Install BepInEx from here.
- Drop EasyBackpack.dll into
<game directory>\BepInEx\plugins. - Remove any previous copy of the original EasyBackpack.dll first (same plugin GUID — keeping both installed will conflict).
Configuration
Config file: <game directory>\BepInEx\config\nickklmao.EasyBackpack.cfg
- Backpack Key (default
B) — the key to open your backpack while it's on your back. - Alternative Backpack Key (default
None) — an optional second key.
License
The original package ships without a license file. This fix is provided in good faith for the community; all credit goes to the original author.
CHANGELOG
Changelog
1.1.8 (compatibility fix, community-maintained)
Verified against the current PEAK build. Fixes wheel takeover, refuel compensation scope, and hardens every edge case found in a full audit.
Fixed:
- Another open wheel is no longer hijacked. The mod used to assume its wheel had opened even when the game refused the request (another wheel already open, or a window blocking input). It then kept forcing the interact input, so the wheel that was open could not be closed. The mod now only takes over when the backpack wheel is actually open, and it releases the moment the game closes it.
- The wheel can never get stuck open. Releasing is now based on the key that opened it still being held, instead of catching a single key-up event — so losing focus, rebinding the key while the wheel is open, or a dropped key-up event can no longer leave the wheel pinned open by forced input.
- The interact input is always restored, even if the game's wheel code throws mid-frame. Previously an exception in that path could leave the game believing the interact key was held down.
- Refuel compensation is now precisely scoped. It is bound to the specific backpack instance, released as soon as the host's authoritative value arrives, and never arms on the host (whose copy is never rolled back). Previously it stayed armed until a timeout, so an unrelated inventory sync in that window could be mistaken for the rollback.
- Swapping or losing the backpack mid-refuel no longer moves fuel. If the Jetpack is dropped, taken, or replaced before the rollback lands, the pending fuel value is discarded instead of being written to whatever is on your back.
- The wheel no longer opens while fully passed out (it already refused while passed out or dead).
- The fuel gauge percentage is clamped to 0-100% when restored, matching the game's own flight code.
- An invalid key in the config file no longer spams errors. A hand-edited value outside the KeyCode range is reported once and ignored instead of throwing every frame.
- A future game update can no longer break the whole mod. Each patch is applied independently, and every patch plus the per-frame update is exception-guarded, so a change to one game method degrades only the matching fix instead of taking the plugin down.
- Opening the wheel is fully guarded: every game call on that path (player lookup, backpack visuals, ragdoll, GUI) can fail during character setup without throwing; failures log one throttled warning and open nothing.
- Patches and mod state are cleaned up on unload, so reloading the plugin at runtime leaves nothing stale behind.
Unchanged:
- All gameplay logic, config keys, and plugin GUID (
nickklmao.easybackpack) are otherwise identical to 1.1.7.
1.1.7 (compatibility fix, community-maintained)
Jetpack refuel compensation rewritten — no more fuel flicker, no fuel duplication, works on slow connections.
Fixed:
- Refuel compensation now restores the actual pre-rollback fuel value instead of a computed target. Fuel spent while flying during the refuel window is no longer refunded (no fuel duplication, nothing leaks to the host).
- Back-to-back refuels (two or more within a short window) no longer show a visible drop-then-jump: each rollback sync is matched against the current refuel base and restored in the same frame.
- No more fixed 1.5s timeout: the pending refuel state now lives for 30s, so a rollback arriving late (slow / high-latency connections) is still compensated instead of silently dropping the fuel.
Unchanged:
- All gameplay logic, config keys, and plugin GUID (
nickklmao.easybackpack) are otherwise identical to 1.1.6.
1.1.6 (compatibility fix, community-maintained)
Jetpack refuel fixes for non-host clients.
Fixed:
- Jetpack self-refuel rollback: when a non-host client refuels their own equipped
Jetpack, the game's
AddFuelToJetpacktriggers anEmptySlot()→ hostSyncInventoryRPCthat carries the pre-refuel fuel value and overwrites the client's local fuel. The fix compensates the localFuel/UseRemainingPercentageback to the authoritative value after the stale sync lands — no extra RPC is broadcast, so the host copy is never double-counted. - Jetpack fuel amount now matches ground refuels: refuelling a back-mounted Jetpack always added a fixed 50, while ground refuels compute from the held item. Back refuels now use the same per-item fuel calculation as ground refuels.
- Robustness: the forced-interact patch state machine is reset on every
Prefix(no stale input restore), all wheel-close paths clear both access flags, and the slot-count /GetFromEquippedBackpackfallbacks log a throttled warning instead of silently swallowing exceptions.
Unchanged:
- All gameplay logic, config keys, and plugin GUID (
nickklmao.easybackpack) are otherwise identical to 1.1.5.
1.1.5 (compatibility fix, community-maintained)
Per-backpack-type slot count + Rocketpack handling.
Fixed:
- The backpack wheel now uses the equipped item's real capacity instead of the
hardcoded 4-slot value.
slotCountis read fromCharacterBackpackHandler.activeBackpackVisuals.slotCount(the prefab-configured value the game itself uses inBackpackOnBackVisuals.Interact_CastFinished):- Backpack → 4 slots (unchanged)
- Fannypack → 2 slots (previously the wheel showed 4, letting you stash items into slots 3/4 that could never be retrieved)
- Rocketpack no longer opens the backpack wheel at all. The game's official
interaction for a Rocketpack on the back is firing it (
LightRocket), not opening the inventory; the quick-access key now does nothing instead of opening a wheel that would swallow items into unreachable slots. - Falls back to 4 slots (inside try/catch) if the active visuals are unavailable.
Unchanged:
- All gameplay logic, config keys, and plugin GUID (
nickklmao.easybackpack) are otherwise identical to 1.1.3.
1.1.4
- Fix README.md
1.1.3 (compatibility fix, community-maintained)
Restores the original EasyBackpack 1.1.2 for the PEAK game update of 2026-08-12.
Fixed:
BackpackSlot.hasBackpackfield was removed by the game update; both references now useBackpackSlot.IsEmpty()(backpackType == BackpackType.None).GUIManager.OpenBackpackWheelsignature changed from(BackpackReference)to(BackpackReference, int slotCount, BackpackSlot.BackpackType); both call sites now pass the equipped slot'sitemSlots.LengthandbackpackType.- The game's
BackpackWheel.Updatereordered its close checks (the!interactIsPressedclose now runs after thebackpack.existscheck), which silently broke the original MonoMod IL hook (wheel closed immediately after opening). Replaced the IL hook with a Harmony Prefix/Postfix that holdsinteractIsPressedwhile the backpack key is pressed, preserving the original "hold key to keep the wheel open" behavior.
Unchanged:
- All gameplay logic, config keys, and plugin GUID (
nickklmao.easybackpack) are identical to the original 1.1.2.
License note: the original package ships without a license file; the author has not declared an open-source license. This fix is provided in good faith; contact for removal if the author objects.
1.1.2 (original, by nickklmao)
- Updated to work for the ROOTS update.
1.1.1 (original)
- Updated to work for the MESA update.
1.1.0 (original)
- Added: You can now access the backpack of someone you're carrying.
- Fixed: You no longer can access your backpack while passed out or dead.
1.0.1 (original)
- Updated Thunderstore dependencies.
1.0.0 (original)
- Initial Release 🔥