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.