You are viewing a potentially older version of this package. View all versions.
Akilorp2D-ItemShareFix-1.0.0 icon

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-5.4.2121 icon
bbepis-BepInExPack

Unified BepInEx all-in-one modding pack - plugin framework, detour library

Preferred version: 5.4.2121
Vibecodeguy-PickupShareApi-1.0.0 icon
Vibecodeguy-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.0
Vibecodeguy-ItemShare-1.7.1 icon
Vibecodeguy-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.1

README

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.log excerpts;
  • 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 ShareTemporaryItems to 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.