Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
ItemShareFix
Fixes and improves ItemShare with personal pickup visibility, local markers, Support Drone/death/disconnect handling, temporary-item controls, and customizable marker UI.
| Date uploaded | 8 hours ago |
| Version | 1.0.0 |
| Download link | Akilorp2D-ItemShareFix-1.0.0.zip |
| Downloads | 38 |
| Dependency string | Akilorp2D-ItemShareFix-1.0.0 |
This mod requires the following mods to function
bbepis-BepInExPack
Unified BepInEx all-in-one modding pack - plugin framework, detour library
Preferred version: 5.4.2121Vibecodeguy-PickupShareApi
Library. Lets a loot-sharing mod publish which players have already collected which drop, so another mod can move that drop without the lobby losing track. Does nothing on its own.
Preferred version: 1.0.0Vibecodeguy-ItemShare
Co-op loot sharing. Every player walks over the same drop and collects it for themselves, and it only despawns once everyone has. Artifact of Command included. Every player in the lobby needs it.
Preferred version: 1.7.1README
ItemShareFix
ItemShareFix is a compatibility and quality-of-life extension for ItemShare in Risk of Rain 2. It does not replace ItemShare; it adds bounded participant-state, pickup-presentation, marker, death/disconnect, and temporary-item behavior around the supported ItemShare runtime.
Features
Personal pickup visibility
When your local participant has completed their share for a pickup, ItemShareFix suppresses that completed local presentation while preserving it for participants who still need it. The upstream ItemShare visibility preference remains respected.
Participant-local markers
ItemShareFix adds local-only markers for shared ordinary pickups and Artifact of Command choices that are still pending for your participant.
Marker presentation includes:
- Detailed mode with item/category information, count cues, rarity cues, and optional distance;
- Compact mode with bounded category glyph groups, counts, and optional distance;
- stable world-space semantic grouping for dense pickup areas;
- off-screen directional aggregation to reduce duplicate arrow clutter;
- separate permanent/temporary lifetime glyphs without turning lifetime into a new rarity/category;
- configurable scale, opacity, count display, category ordering, off-screen presentation, and per-category colors.
ItemShareFix-owned marker text follows the game's interface language for the 11 supported Risk of Rain 2 languages: English, French, Italian, German, Spanish, Japanese, Korean, Portuguese (Brazil), Russian, Simplified Chinese, and Turkish. Actual item names remain game-native through Risk of Rain 2 localization. Unknown/unsupported language values fall back to English. Compact mode remains glyph/count based and does not add category-name text or a visible lifetime word.
Support Drone / Remote Operation handling
A player in the game's Remote Operation / Support Drone state remains an active sharing participant when the exact supported runtime signal is available. ItemShareFix does not infer this state from names, prefabs, or body heuristics.
Fully-dead deferred entitlement
When enabled, a fully dead participant's pending entitlement can be deferred until a safe restored-player point instead of forcing the current-stage pickup to remain blocked indefinitely.
Disconnect cleanup
Confirmed disconnects are handled separately from death or transient network-object destruction. ItemShareFix can cancel its own pending/deferred state for a participant who has actually left, while protecting collected/deferred-granted history from duplicate entitlement.
Temporary item sharing
ShareTemporaryItems controls whether exact temporary pickups participate in ItemShare distribution:
- ON — temporary pickups use ItemShare sharing and ItemShareFix marker presentation;
- OFF — temporary pickups stay on the vanilla first-come-first-served path and are excluded from ItemShareFix markers.
Fresh 1.0.0 configurations default this setting to OFF. Existing saved BepInEx values are preserved and are not reset by the release. The setting can change live. Permanent sharing remains independent.
Requirements
Hard dependencies:
- BepInExPack
5.4.2121 - PickupShareApi
1.0.0 - ItemShare
1.7.1
Optional:
- Risk Of Options — best-effort reflection-based in-game UI for ItemShareFix configuration. It is not a hard package dependency, and BepInEx configuration remains authoritative if a Risk Of Options API shape is unavailable or only partially compatible.
ItemShareFix intentionally validates the exact supported ItemShare/PickupShareApi runtime contract. Do not assume arbitrary upstream versions are compatible.
For multiplayer use, all participating players should use the compatible mod set required by ItemShare/ItemShareFix behavior.
Installation
Mod manager
Install ItemShareFix with a Thunderstore-compatible mod manager. The package declares its hard dependencies.
Manual
Install the exact required dependencies first. Then place both runtime assemblies under a BepInEx plugin folder, for example:
BepInEx/plugins/ItemShareFix/ItemShareFix.dll
BepInEx/plugins/ItemShareFix/ItemShareFix.Core.dll
Configuration
BepInEx ConfigEntry values are canonical. Major groups include:
- General — master enable, temporary sharing, personal pickup visibility, personal markers, fully-dead deferred entitlement, disconnect cleanup;
- Markers — Detailed/Compact mode, distance, scale, opacity, category cues, row limits, category ordering, Compact counts, off-screen indicators;
- Marker Colors — Common, Uncommon, Legendary, Boss, Lunar, Void, Equipment, Command, Neutral, and off-screen colors;
- Diagnostics — bounded compatibility/state logging and refresh intervals.
See docs/CONFIGURATION.md for the public configuration reference.
Compatibility and failure policy
ItemShareFix is a bounded patch/extension layer around ItemShare. When an exact required runtime/API shape cannot be established, the affected repair path fails closed rather than guessing through unsafe heuristics.
Legacy ISF_* diagnostic identifiers may appear in logs. They are stable diagnostic keys retained for regression/field tooling; they are not release-version identifiers.
Development
See:
Reporting issues
Include:
- ItemShareFix version;
- ItemShare and PickupShareApi versions;
- BepInEx/mod-manager profile information;
- host/client role;
- relevant
LogOutput.logexcerpts; - clear reproduction steps;
- screenshots for marker/presentation issues when useful.
License
MIT. See LICENSE.
ItemShareFix is an independent project that depends on and extends ItemShare/PickupShareApi behavior. It is not an official release of those upstream projects.
CHANGELOG
Changelog
1.0.0
Initial public release.
Sharing and participant state
- Added personal pickup visibility for locally completed shares while preserving presentation for participants who still need the pickup.
- Added exact Remote Operation / Support Drone-aware participant handling.
- Added deferred entitlement handling for fully dead participants.
- Added authoritative disconnect cleanup separated from death/transient network-object destruction.
- Added configurable temporary-item sharing with a vanilla first-come-first-served bypass when disabled.
- Fresh configurations now default
ShareTemporaryItemsto OFF; existing saved values are preserved.
Personal marker system
- Added participant-local markers for pending ordinary shared pickups and Artifact of Command choices.
- Added Detailed and Compact presentation modes.
- Added stable world-space semantic grouping and dense-area summaries.
- Added off-screen directional aggregation.
- Added permanent/temporary lifetime glyph presentation.
- Added configurable marker scale, opacity, distance/count presentation, category ordering, and per-category colors.
- Added optional best-effort Risk Of Options integration over canonical BepInEx configuration.
- Added ItemShareFix-owned marker text localization for all 11 supported Risk of Rain 2 interface languages, while keeping actual item names game-native and falling back to English for unknown language values.
Reliability
- Added explicit participant/claim lifecycle state with duplicate-grant barriers.
- Added modal/HUD suppression and presentation cleanup behavior.
- Added exact upstream compatibility guards for the supported ItemShare/PickupShareApi runtime shapes.
- Added automated regression coverage for core policy and presentation contracts.