EpicLoot RunicCrafting Bridge
Lets EpicLoot pay enchanting costs from nearby containers already authorized by RunicCrafting.EpicLoot Runic Crafting Bridge
Stop ferrying enchanting materials between storage and your backpack.
EpicLoot Runic Crafting Bridge lets EpicLoot pay enchanting-table material costs from nearby containers that RunicCrafting already considers eligible. It uses RunicCrafting's existing range, access, ward, synchronization, and exact-removal rules instead of inventing a second container system.
What it does
- Adds eligible nearby-container materials to EpicLoot's enchanting cost checks.
- Removes the exact displayed material cost from those containers when the action is performed.
- Resolves EpicLoot localization tokens such as
$item_silverto RunicCrafting prefab IDs such asSilver. - Honors RunicCrafting's
Enabled,CraftFromContainers, interaction-range, authorization, ward, and synchronization settings.
What it does not do
- It does not make stored weapons, armor, or other equipment selectable in EpicLoot.
- It does not replace either EpicLoot or RunicCrafting.
- It does not add a second configurable storage radius; RunicCrafting remains the source of truth.
Keep the item you want to identify, enchant, augment, disenchant, or upgrade in your character inventory. Only the fungible material costs are supplied from storage.
Requirements and compatibility
This release is built and runtime-validated with:
- BepInExPack Valheim 5.4.2350
- EpicLoot 0.14.5
- RunicCrafting 1.1.0, assembly version
1.1.0.0
RunicCrafting compatibility is intentionally strict. If its assembly version changes, the bridge disables itself instead of guessing against private integration details. A bridge update may be required after RunicCrafting updates.
Installation
r2modman or Thunderstore Mod Manager
Install the package and its declared dependencies, then launch the game modded. For a local package, use Import local mod and select the complete ZIP rather than the bare DLL.
Manual
Install the required versions of BepInEx, EpicLoot, and RunicCrafting. Then copy EpicLootRunicCraftingBridge.dll into a folder beneath BepInEx/plugins and restart the game.
To upgrade, replace the previous bridge package while the game is closed. To uninstall, remove only the bridge package or its DLL; it creates no world data and no configuration file.
Using it
- Put the equipment or unidentified item in your character inventory.
- Put the required materials in containers accepted by RunicCrafting and within its configured range.
- Open EpicLoot's enchanting table and perform the action normally.
- EpicLoot uses carried materials first according to its normal behavior; the bridge supplies the remaining available amount from eligible nearby containers.
Version 1.0.3 was validated in game by identifying an item with the costs stored outside the character inventory. Five eligible container sources were discovered, and the exact displayed costs were removed: three Silver and five Coins.
Troubleshooting
Check BepInEx/LogOutput.log for this startup message:
Registered Runic Crafting nearby containers as an EpicLoot enchanting material provider.
When the enchanting UI checks a cost, the bridge also reports the mapped resource, available amount, eligible source count, and RunicCrafting query result. Useful messages begin with:
Mapped EpicLoot material
Runic Crafting nearby count
If the bridge reports that EpicLoot rejected the provider, or that startup failed and no provider was registered, verify the exact dependency versions above. If the bridge loads but reports zero nearby material, verify RunicCrafting's settings, range, container access, ward access, and container synchronization.
Known limitation
EpicLoot's current inventory-provider API checks affordability and removes materials in separate calls. If container availability changes in the narrow interval between those calls, RunicCrafting prevents a partial container debit, but EpicLoot may still complete the enchanting action after the provider reports a short removal. This is an upstream transaction-boundary limitation, not a risk of item or world-save corruption.
Building
Build the DLL with the workspace-local pinned SDK:
& .\build.ps1
Build and create a validated Thunderstore ZIP:
& .\build.ps1 -Package


