Skip to content

UMIPExchangeDataAsset

Overview

UMIPExchangeDataAsset defines exchange offers for an NPC exchange tag: PersonalExchangeItems (character-scoped) and AccountExchangeItems (account-scoped). Each entry is FMIPExchangeItemInfo (output item tag, amount, required items, currency/action limits). The exchange manager resolves this asset from the interactable and runs server-side exchanges.

All paths below are relative to Plugins/ModularInventoryPlus/Source/ModularInventoryPlus/.


Key Classes & Files

Class File
UMIPExchangeDataAsset Public/DataAsset/MIPExchangeDataAsset.h
FMIPExchangeItemInfo Public/Exchange/MIPExchangeTypes.h
ValidateExchangeItems (static in cpp) Private/DataAsset/MIPExchangeDataAsset.cpp
IsDataValid Same file

Properties

Property Type Description
PersonalExchangeItems TArray<FMIPExchangeItemInfo> Offers for the current character.
AccountExchangeItems TArray<FMIPExchangeItemInfo> Offers shared across the account.

Editor validation

Severity Condition Message
Warning Both arrays empty Both PersonalExchangeItems and AccountExchangeItems are empty.

For each list name PersonalExchangeItems or AccountExchangeItems, and each index i:

Severity Condition Message
Error ItemTag invalid %s[%d]: ItemTag is not set.
Error Amount <= 0 %s[%d]: Amount must be > 0. Got: %d
Error RequiredItems[j] invalid (!Req.IsValid()) %s[%d]: RequiredItems[%d] has invalid ItemTag or Amount <= 0.

Implementation: Private/DataAsset/MIPExchangeDataAsset.cpp (#if WITH_EDITOR).


Integration

Topic Link
Exchange system Exchange
Data assets index Data assets index