Skip to content

Interfaces

This folder indexes the UINTERFACE / I* interfaces used across ModularInventoryPlus. Implementors are listed briefly; see the referenced component or system docs for full usage.

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


Common component access (framework)

Interface Purpose Main implementors
IMIPCommonGameModeComponentsInterface Get GameMode-owned components AMIPBaseGameMode
IMIPCommonGameStateComponentsInterface Get GameState-owned components AMIPBaseGameState
IMIPCommonComponentsInterface Get PC-owned components (save, inventory, interaction, load, quest, gate, currency, vendor, exchange, etc.) AMIPBasePlayerController
IMIPCommonPlayerStateComponentsInterface Get PlayerState-owned components (level, ability points, player info, class, GE managers) AMIPBasePlayerState

Files: Public/Interfaces/MIPCommonGameModeComponentsInterface.h, MIPCommonGameStateComponentsInterface.h, MIPCommonComponentsInterface.h, MIPCommonPlayerStateComponentsInterface.h


Save / load

Interface Purpose Main implementors
ISaveableLoadableObjectInterface Load from JSON string or JSON object; OnPostLoaded callback UMIPBaseSaveableComponent, UMIPItemInstance, UMIPCurrencyInstance, UMIPTemporalDurationDecorator, item pieces
ISaveIdentifierInterface GetSaveIdentifier(), GetListIdentifier() for save slot/list key UMIPBaseSaveableComponent, UMIPItemInstance, UMIPCurrencyInstance, decorators, pieces

Files: Public/Inventory/Interfaces/SaveableLoadableObjectInterface.h, SaveIdentifierInterface.h


Deferred execution

Interface Purpose Main implementors
IMIPWithPendingFunctionsInterface GetWithPendingFunctionsObject() – queue work until e.g. PlayerState ready UMIPBaseSaveableComponent, UMIPWorldLevelComponent

File: Public/Interfaces/MIPWithPendingFunctionsInterface.h


Interaction

Interface Purpose Main implementors
IInteractInterface Generic interact (pickup/gate/NPC) AMIPBaseInteractable, AMIPGate
IMIPInteractableComponentInterface Component that can be “interacted with” (NPC, quest, enhance, repair, etc.): InitializeInteractionListenerObject, OnInteractionTag, OnInteractedClient/Server, OnEnd* UMIPBaseNPCInteractableComponent, UMIPPlayerDungeonManager, UMIPBasePlayerLevelBasedFeatureComponent (enhance, repair, reforge), UMIPAbilityPointsLevelComponent, exchange/vendor managers

Files: Public/Pickup/InteractInterface.h, Public/Interaction/MIPInteractableComponentInterface.h


Cursor / targeting / outline

Interface Purpose Main implementors
IMIPCursorHittableInterface Cursor hit type (e.g. Player, Enemy), used for outline and ability targeting AMIPBasePlayerCharacter, AMIPBaseInteractable, AMIPGate
ICircularInteractionSphereInterface Actor supports circular interaction sphere UI AMIPBaseNPC, AMIPBaseItemPickup, AMIPBaseLootable, AMIPBaseGatherable
IOutliningInterface Actor can be outlined (stencil) AMIPLootBox, AItemPickupWithStaticMesh, AMIPBasePlayerCharacter

Files: Public/Interfaces/MIPCursorHittableInterface.h, Public/Interfaces/CircularInteractionSphereInterface.h, Public/Outline/OutliningInterface.h


Currency / fee

Interface Purpose Main implementors
IMIPCurrencyFeeInterface GetFeeInfo_Implementation(), HasEnoughForFee_Implementation() UMIPApplyItemOnEquipmentComponent (enhance, repair, reforge)

File: Public/Interfaces/MIPCurrencyFeeInterface.h


Exchange / vendor / storage

Interface Purpose Main implementors
IMIPExchangeInterface Exchange contract (used by exchange system)
IMIPVendorInterface Vendor contract (used by vendor system)
IMIPStorageAssetInterface Asset provides storage (e.g. NPC storage) AMIPBaseNPCWithStorage

Files: Public/Interfaces/MIPExchangeInterface.h, MIPVendorInterface.h, MIPStorageAssetInterface.h


Cooldown / duration

Interface Purpose Main implementors
IMIPTemporalDurationInterface Temporal duration (cooldown/buff) on item piece UItemPiece_Cooldown, UMIPItemPieceWithTempDuration
IMIPTemporalDurationObjectInterface Object wrapper for duration UMIPTemporalDurationDecorator and subclasses

Files: Public/Cooldown/Interface/MIPTemporalDurationInterface.h, MIPTemporalDurationObjectInterface.h


Combat / damage / mob

Interface Purpose Main implementors
IMIPCombatInterface Combat-related (death/respawn delegates, death state) AMIPBasePlayerCharacter
IMIPPlayerDamageReceivableActorInterface Can receive player damage (floating damage text, etc.) AMIPBasePlayerCharacter, AMIPBaseMob
IMIPIsMobInterface Identifies as mob AMIPBaseMob
IMIPMobSpawnerTriggerInterface Can trigger mob spawner AMIPBaseMobSpawner, AMIPBaseMobSpawnerTrigger

Files: Public/AbilitySystem/MIPCombatInterface.h, Public/FloatingDamageText/MIPPlayerDamageReceivableActorInterface.h, Public/Interfaces/MIPIsMobInterface.h, Public/Mob/Triggers/MIPMobSpawnerTriggerInterface.h


Character / class

Interface Purpose Main implementors
ICharacterClassTagInterface Get class tag (for pawn class, restrictions) AMIPBasePlayerController (delegates to PlayerState/PlayerClassComponent)

File: Public/Inventory/Interfaces/CharacterClassTagInterface.h


Widget / UI

Interface Purpose Main implementors
IMIPDroppableOnScreenInterface Widget/slot supports drag-drop on screen UMIPItemSlotWidget, UMIPContainerBaseWidget
IMIPPopupWidgetInterface Popup widget contract UMIPBasePopupWidget

Files: Public/Interfaces/MIPDroppableOnScreenInterface.h, (popup interface in Widget folder)


Inventory / item

Interface Purpose Main implementors
IAdditionalDynamicPieceInterface Item piece that can be added dynamically (item piece types)

File: Public/Inventory/Interfaces/AdditionalDynamicPieceInterface.h


Engine / GAS

Interface Purpose Notes
IAbilitySystemInterface GetAbilitySystemComponent() AMIPBasePlayerController, AMIPBasePlayerState, AMIPBasePlayerCharacter, AMIPBaseMob, UMIPBaseInventoryManagerComponent, UMIPItemInstance – used for GAS access.

Not MIP-specific; documented here for context. MIP uses it to resolve ASC from PC/PS/Pawn/Mob.