

A bepinex plugin API that allows for swapping your local player's gear whilst in an expedition
GearSwapManager#RequestToEquip(GearId id)
GearSwapManager#SwappableGearSlots
GearSwapManager#SetPickUpSentryOnToolChange
Everything needed to use this API is exposed via the GearSwapManager class
GearSwapManager#RequestToEquip(GearId id): Requests to equip the given GearId (you can find GearIds through methods like GearManager#GetAllGearForSlot(InventorySlot slot)). As the name suggests this does not equip the gear right away. The swap will be postponed until certain conditions are met to avoid a plethora of issues surrounding change of weapons and tools (see Blocking Operations below for more details).
GearSwapManager#SwappableGearSlots: List of InventorySlot that this API can swap. Currently it can swap GearMelee, GearStandard, GearSpecial, and GearClass.
GearSwapManager#SetPickUpSentryOnToolChange(bool pickUp): Sets whether to pick up any sentry guns deployed by the player when tool is swapped (default false). If set to true, any sentry gun deployed by the player will be picked up and have its tool ammo refunded to the player. Otherwise it will leave the sentry deployed even if different tool is given.
Gear can not be swapped while these conditions are true to avoid issues and annoyances surrounding changing weapons