Black Iron Spine Studios · Buyer documentation · Commerce UI

Loot, Vendors & Economy

Vendor trading, loot, 3D item inspection and a bounded auction foundation with a playable local demonstration.

Release 1.0.0Unreal Engine 5.8Windows / Win64C++ source included
This product is temporarily unavailable on Fab. This guide remains available for existing buyers of the released version.

Install and try the local demonstration

Install the Loot, Vendors & Economy plugin for Unreal Engine 5.8 on Windows/Win64, enable it, and play on collision-enabled ground. Rowan and the Fallen Marauder examples are included; no separate Rowan download is needed. The plugin uses the engine's IKRig, SQLiteCore, InterchangeAssets and ACLPlugin modules. Manual C++ source installation requires the supported Unreal toolchain and a Development Editor build.

Use the demonstration's spawn controls on suitable ground, approach Rowan or the Marauder, and right-click to interact. Rowan opens vendor commerce; the Marauder opens loot. Load / Reset Preview Assets fills the local Test Bag so you can inspect, buy, sell and try auction posting. These controls demonstrate the UI and local provider; they are not a production inventory service.

Your first successful test

  1. Press Play in a level with collision-enabled ground and a local player. Open the automatically available Test Bag if it is hidden.
  2. In the bag header, use Spawn Quartermaster Rowan and Spawn Fallen Marauder. Move to a clear, flat area if either spawn is rejected.
  3. Approach Rowan within about 2.5 m and right-click him to open the vendor. Approach the Marauder and right-click to open loot.
  4. In window settings, select Load / Reset Preview Assets. Inspect an item, then try a local buy or sell with Rowan.

Expected result: vendor, loot and item inspection screens respond using the included local preview data. To connect your own inventory or wallet, follow the packaged provider and multiplayer guides; the demo transaction path is not your game's production economy.

Included systems

  • Vendor buy/sell flows, quantity and capacity checks, and a 20-entry buyback history.
  • Browsing, listings, bids, buyouts and posting in the auction interface.
  • Rotatable and zoomable 3D inspection for sixteen bundled sample items.
  • Rowan and Fallen Marauder demo characters, item meshes, materials, textures and UI art.
  • Adjustable presentation and optional integration contracts for other BIS products.

Online auction boundary

An owner-only PlayerController connection and server subsystem support listings, bids, buyouts, cancellation, search and confirmed wallet/inventory receipts. Dedicated and listen servers may use the included server-local SQLite ledger with escrow, retry protection and restart recovery. The bundled provider is capped at 4,096 lifetime receipts; it is not a hosted, indefinitely scalable market.

Your game supplies authenticated accounts, hosting, backups and a production-grade transactional wallet/inventory provider when needed. The local vendor, loot and Test Bag transactions are demonstration-only and disabled in network play. Validate your own economy and security rules before shipping multiplayer commerce.

Presentation and integration

Window size, glass, borders, inspection controls and the Standard/Compact/Wide profiles can be adjusted at runtime. Appearance changes save for the local player after a short delay. Resetting appearance does not clear an online economy. Optional BIS integrations are detected through public contracts; they are not required for standalone use.

The packaged Docs folder contains the detailed demo setup, included preview assets, customization, buyback, auction provider, persistence, multiplayer and BIS integration guides. Follow those for server configuration and custom providers.

Customize one included sample item

The standalone preview can change existing sample values, not add arbitrary item IDs or currencies. Here is a concrete example using the included WeatheredTonic sample:

  1. In Unreal's Content Browser, create a Data Asset of class LVEVendorDefinition in your project (for example /Game/MyGame/Items/DA_MyVendor). Set VendorId to Rowan and leave the asset-level Display Name empty. Add one Offers row: ItemId=WeatheredTonic, OfferId=WeatheredTonic, CurrencyId=Gold, PriceMinorUnits=2500, SellPriceMinorUnits=900, InitialStock=9, no Icon, and Unlimited Stock off. A row Display Name is optional. Prices use copper minor units: 100 copper = 1 silver; 100 silver = 1 gold.
  2. In your project's Config/DefaultGame.ini, add [LootVendorEconomy.PreviewData] and VendorDefinition=/Game/MyGame/Items/DA_MyVendor.DA_MyVendor. Restart Play to load the sample override. Other built-in offers keep their defaults. An invalid asset or row is rejected as a whole; check the log rather than assuming a partial change applied.
  3. To replace this sample's inspection model, add [LootVendorEconomy.PreviewAssets] and WeatheredTonicMesh=/Game/MyGame/Items/SM_MyTonic.SM_MyTonic to that INI, using your actual mesh object path. To change the sample's inventory icon, replace the same-named plugin image at Resources/Preview/Items/WeatheredTonic.png. CurrencyGoldIcon, CurrencySilverIcon, and CurrencyCopperIcon change the symbols, not the supported currency IDs.
  4. Optionally create an LVELootTableDefinition with TableId=FieldLoot and a WeatheredTonic row with Weight=1 and equal Minimum/Maximum Quantity from 1 to 1,000. Select it with LootTableDefinition=/Game/MyGame/Items/DA_MyLoot.DA_MyLoot in the same PreviewData section, using your actual asset path. This changes a fixed sample stack count, not a weighted random loot system.
  5. Make sure the Data Assets and mesh are included in your packaged game's cook through a real reference, Asset Manager rule, or always-cook directory. An INI object path alone is insufficient. Test the packaged game as well as Play in Editor. See packaged Docs/CUSTOMIZATION.md, Docs/PREVIEW_ASSETS.md, and Docs/COOKING.md for exact constraints.

The preview rejects unknown or duplicate item IDs, non-Gold currency IDs, offer icons, unlimited stock, and unsupported loot rows or ranges. These steps replace sample presentation and values; they do not register a new item or production wallet.

Connecting your own economy

Your own item catalog, arbitrary currency, inventory, vendor/loot transactions, authentication, and durable wallet are game-side work. ILVEProvider defines Blueprint-native QueryLVEVendor, QueryLVELoot, and CommitLVEOperation methods, but implementing the interface does not register it with the shipped preview; there is no verified Blueprint Set Provider node for that vendor/loot path. A host C++ integration or UI adapter is required to route your own catalog and wallet. The separate online auction uses an LVEAuctionConnection component on the owning PlayerController and has a C++ auction-provider registration path; it does not make the local preview a production economy. Contact BIS support if you need help identifying the appropriate integration boundary before custom development.

Product boundary

The BIS UI forest, scenery and fresh Third Person validation host shown in media are presentation context, not customer assets. Unreal Engine 5.8 on Win64 is the supported release target; full C++ source is included.