Skip to content

UMIPItemEnhanceDefinitionAsset

Overview

UMIPItemEnhanceDefinitionAsset stores per-enhancement-level rules in EnhanceInfoMap: map key is the enhancement level (integer), value is FMIPItemEnhanceInfoStruct containing per-material boost/penalty effects, amounts, and success curves. Used when upgrading equipment through the enhancement pipeline.

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


Key Classes & Files

Class File
UMIPItemEnhanceDefinitionAsset Public/DataAsset/MIPItemEnhanceDefinitionAsset.h
FMIPItemEnhanceInfoStruct Public/Inventory/Pieces/Enhancement/MIPItemEnhanceStruct.h
IsDataValid Private/DataAsset/MIPItemEnhanceDefinitionAsset.cpp

Properties

Property Type Description
EnhanceInfoMap TMap<int32, FMIPItemEnhanceInfoStruct> Level index → materials and effects for that upgrade step.

Editor validation

Severity Condition Message
Error EnhanceInfoMap empty EnhanceInfoMap is empty — no enhance levels defined.
Error For a level, Info.PerMaterialTagMap empty EnhanceInfoMap[Level %d]: PerMaterialTagMap is empty — no materials defined for this level.
Error Material key invalid EnhanceInfoMap[Level %d]: A material entry has an invalid GameplayTag key.
Error !MatPair.Value.IsValidMaterial() (no boost and no penalty) EnhanceInfoMap[Level %d]: Material tag '%s' has neither a BoostEffect nor a PenaltyEffect set.

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


Integration

Topic Link
Enhancement Enhancement
Data assets index Data assets index