All-Docs Plan: Component Documentation¶
This file is the master plan for documenting every component in the ModularInventoryPlus plugin.
What's next: After components, see REMAINING-DOCS-PLAN.md for framework (GameMode/PC/Pawn), actors (NPC/Mob/Pickup/Gate), data assets, interfaces, widgets, ability system, exchange/vendor, and more. It inventories all components under Plugins/ModularInventoryPlus/Source/ModularInventoryPlus/, groups them by domain, and defines where and how each doc should be written.
Scope: 87 UCLASS components (ActorComponent / SceneComponent) under the path above. Subsystems, non-component UCLASSes, and components in other modules (e.g. MIPChatSystem) are out of scope unless the plan is extended later.
Reference existing docs: docs/ActionLimit.md (system-level) and docs/UMIPEquipmentGE.md (class + integration). Follow their structure and depth where applicable.
1. Doc layout and naming¶
| Convention | Location / name |
|---|---|
| Root | All component/system docs live under repo-root docs/. |
| System docs | docs/<SystemOrFeature>.md when several components form one system (e.g. ActionLimit.md, SaveLoad.md). |
| Component / domain docs | docs/components/<Domain>.md or docs/components/<ComponentName>.md (e.g. docs/components/Cooldown.md, docs/components/MIPCursorComponent.md). |
| Paths in docs | All file paths in docs are relative to Plugins/ModularInventoryPlus/Source/ModularInventoryPlus/. |
| Index | Update docs/README.md or add docs/components/README.md to link to every component/system doc. |
2. Full component inventory (87 components)¶
Paths and class names below are relative to Source/ModularInventoryPlus/. Use this list for traceability when writing each doc.
ActionLimit (4) — Already documented¶
| File | Class |
|---|---|
Public/ActionLimit/MIPActionLimitManagerComponent.h |
UMIPActionLimitManagerComponent |
Public/ActionLimit/MIPBaseActionLimitComponent.h |
UMIPBaseActionLimitComponent |
Public/ActionLimit/MIPCharacterActionLimitComponent.h |
UMIPCharacterActionLimitComponent |
Public/ActionLimit/MIPFamilyActionLimitComponent.h |
UMIPFamilyActionLimitComponent |
Doc: docs/ActionLimit.md. Optional: minor updates only.
API (1)¶
| File | Class |
|---|---|
Public/API/MIPFrontendPopupManager.h |
UMIPFrontendPopupManager |
Doc: docs/components/API.md or single-component page.
BaseComponents (8)¶
| File | Class |
|---|---|
Public/BaseComponents/AutoSave/MIPBaseSaveableComponent.h |
UMIPBaseSaveableComponent |
Public/BaseComponents/MIPBaseGameModeComponent.h |
UMIPBaseGameModeComponent |
Public/BaseComponents/MIPBaseGameStateComponent.h |
UMIPBaseGameStateComponent |
Public/BaseComponents/MIPBasePawnComponent.h |
UMIPBasePawnComponent |
Public/BaseComponents/MIPBasePlayerStateComponent.h |
UMIPBasePlayerStateComponent |
Public/BaseComponents/Player/MIPClientPlayerControllerComponent.h |
UMIPClientPlayerControllerComponent |
Public/BaseComponents/Player/MIPBasePlayerControllerComponent.h |
UMIPBasePlayerControllerComponent |
Public/BaseComponents/Player/LevelFeature/MIPBasePlayerLevelBasedFeatureComponent.h |
UMIPBasePlayerLevelBasedFeatureComponent |
Doc: docs/components/BaseComponents.md (one doc for the base framework).
Character (3)¶
| File | Class |
|---|---|
Public/Character/MIPAdvNameplateCreatorComponent.h |
UMIPAdvNameplateCreatorComponent |
Public/Character/MIPCharacterMovementComponent.h |
UMIPCharacterMovementComponent |
Public/Character/MIPHeroComponent.h |
UMIPHeroComponent |
Doc: docs/components/Character.md.
CircularInteractionSphere (2)¶
| File | Class |
|---|---|
Public/CircularInteractionSphereComponent/MIPCircularInteractionSphereComponent.h |
UMIPCircularInteractionSphereComponent |
Public/CircularInteractionSphereComponent/MIPCirculationInteractionSphereWidgetComponent.h |
UMIPCirculationInteractionSphereWidgetComponent |
Doc: docs/components/CircularInteractionSphere.md.
Cooldown (2)¶
| File | Class |
|---|---|
Public/Cooldown/MIPBaseCooldownComponent.h |
UMIPBaseCooldownComponent |
Public/Cooldown/MIPClientCooldownRelayHandler.h |
UMIPClientCooldownRelayHandler |
Doc: docs/components/Cooldown.md.
Currency (1)¶
| File | Class |
|---|---|
Public/Currency/MIPCurrencyComponent.h |
UMIPCurrencyComponent |
Doc: docs/components/Currency.md or docs/components/MIPCurrencyComponent.md.
Cursor (1)¶
| File | Class |
|---|---|
Public/Cursor/MIPCursorComponent.h |
UMIPCursorComponent |
Doc: docs/components/MIPCursorComponent.md or docs/components/Cursor.md.
Equipment (2)¶
| File | Class |
|---|---|
Public/Equipment/MIPBaseEquipmentAttributesApplierComponent.h |
UMIPBaseEquipmentAttributesApplierComponent |
Public/Equipment/MIPBaseEquipmentMeshesManager.h |
UMIPBaseEquipmentMeshesManager |
Doc: Equipment attributes are covered by docs/UMIPEquipmentGE.md. Add docs/components/Equipment.md for meshes manager and high-level equip flow.
Enhancement (1)¶
| File | Class |
|---|---|
Public/Enhancement/MIPEquipmentEnhancementComponent.h |
UMIPEquipmentEnhancementComponent |
Doc: docs/components/Enhancement.md.
FloatingDamageText (1)¶
| File | Class |
|---|---|
Public/FloatingDamageText/MIPFloatingDamageTextWidgetComponent.h |
UMIPFloatingDamageTextWidgetComponent |
Doc: docs/components/FloatingDamageText.md.
Gate (1)¶
| File | Class |
|---|---|
Public/Gate/MIPGateManager.h |
UMIPGateManager |
Doc: docs/components/Gate.md.
GameModes (5)¶
| File | Class |
|---|---|
Public/GameModes/MIPBaseModeComponent.h |
UMIPBaseModeComponent |
Public/GameModes/MIPEndlessColosseumMode.h |
UMIPEndlessColosseumMode |
Public/GameModes/MIPSessionDungeonMode.h |
UMIPSessionDungeonMode |
Public/GameModes/MIPSoulHuntMode.h |
UMIPSoulHuntMode |
Public/GameModes/MIPWaveBasedMode.h |
UMIPWaveBasedMode |
Doc: docs/components/GameModes.md (one system doc).
GameObjects (1)¶
| File | Class |
|---|---|
Public/GameObjects/MIPSessionDungeonEndTriggerComponent.h |
UMIPSessionDungeonEndTriggerComponent |
Doc: docs/components/GameObjects.md or fold into Dungeon/Session docs.
Health (4)¶
| File | Class |
|---|---|
Public/Health/MIPBaseHealthComponent.h |
UMIPBaseHealthComponent |
Public/Health/MIPMobHealthComponent.h |
UMIPMobHealthComponent |
Public/Health/MIPPlayerHealthComponent.h |
UMIPPlayerHealthComponent |
Public/Health/MIPPlayerHealthWidgetComponent.h |
UMIPPlayerHealthWidgetComponent |
Doc: docs/components/Health.md.
Input (2)¶
| File | Class |
|---|---|
Public/Input/MIPEnhancedInputComponent.h |
UMIPEnhancedInputComponent |
Public/Input/MIPPlayerInputManagerComponent.h |
UMIPPlayerInputManagerComponent |
Doc: docs/components/Input.md.
Interaction (1)¶
| File | Class |
|---|---|
Public/Interaction/MIPInteractionComponent.h |
UMIPInteractionComponent |
Doc: docs/components/Interaction.md.
Inventory (8)¶
| File | Class |
|---|---|
Public/Inventory/MIPBaseInventoryManagerComponent.h |
UMIPBaseInventoryManagerComponent |
Public/Inventory/MIPAdvancedChatItemLinkerComponent.h |
UMIPAdvancedChatItemLinkerComponent |
Public/Inventory/ItemSelection/MIPItemSelectionComponent.h |
UMIPItemSelectionComponent |
Public/Inventory/PlayerInventory/MIPPlayerServerIMC.h |
UMIPPlayerServerIMC |
Public/Inventory/Storage/MIPStoragesManagerComponent.h |
UMIPStoragesManagerComponent |
Public/Inventory/Storage/MIPStorageIMC.h |
UMIPStorageIMC |
Public/Inventory/Storage/MIPDynamicStorageIMC.h |
UMIPDynamicStorageIMC |
Public/Inventory/Storage/MIPNPCStorageIMC.h |
UMIPNPCStorageIMC |
Doc: docs/components/Inventory.md (align with existing inventory-system feature doc).
Mob (5)¶
| File | Class |
|---|---|
Public/Mob/Components/MIPBaseMobComponent.h |
UMIPBaseMobComponent |
Public/Mob/Components/MIPMobAggroNearbyPlayerSphere.h |
UMIPMobAggroNearbyPlayerSphere |
Public/Mob/Components/MIPMobCharacterMovementComponent.h |
UMIPMobCharacterMovementComponent |
Public/Mob/MIPMobNameplateWidgetComponent.h |
UMIPMobNameplateWidgetComponent |
Public/Mob/Spawners/MIPMobPlayerStartComponent.h |
UMIPMobPlayerStartComponent |
Doc: docs/components/Mob.md.
Notifier (1)¶
| File | Class |
|---|---|
Public/Notifier/MIPChatNotifierComponent.h |
UMIPChatNotifierComponent |
Doc: docs/components/Notifier.md.
Outline (1)¶
| File | Class |
|---|---|
Public/Outline/MIPObjectOutlineManager.h |
UMIPObjectOutlineManager |
Doc: docs/components/Outline.md.
Pickup (1)¶
| File | Class |
|---|---|
Public/Pickup/MIPItemPickupComponent.h |
UMIPItemPickupComponent |
Doc: docs/components/Pickup.md.
Player (3)¶
| File | Class |
|---|---|
Public/Player/MIPControllerCommonSaveableObjectsComponent.h |
UMIPControllerCommonSaveableObjectsComponent |
Public/Player/MIPExtendedPlayerInfoComponent.h |
UMIPExtendedPlayerInfoComponent |
Public/Player/MIPPlayerClassComponent.h |
UMIPPlayerClassComponent |
Doc: docs/components/Player.md.
PlayerLevel (3)¶
| File | Class |
|---|---|
Public/PlayerLevel/MIPAbilityPointsLevelComponent.h |
UMIPAbilityPointsLevelComponent |
Public/PlayerLevel/MIPBaseLevelComponent.h |
UMIPBaseLevelComponent |
Public/PlayerLevel/MIPPlayerLevelComponent.h |
UMIPPlayerLevelComponent |
Doc: docs/components/PlayerLevel.md.
PlayerLevelBasedFeatures (2)¶
| File | Class |
|---|---|
Public/PlayerLevelBasedFeatures/MIPApplyItemOnEquipmentComponent.h |
UMIPApplyItemOnEquipmentComponent |
Public/PlayerLevelBasedFeatures/MIPBasePlayerLevelBasedFeaturesManager.h |
UMIPBasePlayerLevelBasedFeaturesManager |
Doc: docs/components/PlayerLevelBasedFeatures.md.
PopupWidget (1)¶
| File | Class |
|---|---|
Public/PopupWidget/MIPPopupWidgetManager.h |
UMIPPopupWidgetManager |
Doc: docs/components/PopupWidget.md.
Quest (1)¶
| File | Class |
|---|---|
Public/Quest/MIPBaseQuestComponent.h |
UMIPBaseQuestComponent |
Doc: docs/components/Quest.md.
QuickBar (1)¶
| File | Class |
|---|---|
Public/QuickBar/MIPQuickBarComponent.h |
UMIPQuickBarComponent |
Doc: docs/components/QuickBar.md.
Reforge (1)¶
| File | Class |
|---|---|
Public/Reforge/MIPEquipmentAttributeReforgeComponent.h |
UMIPEquipmentAttributeReforgeComponent |
Doc: docs/components/Reforge.md.
Repair (1)¶
| File | Class |
|---|---|
Public/Repair/MIPEquipmentRepairComponent.h |
UMIPEquipmentRepairComponent |
Doc: docs/components/Repair.md.
SaveLoad (5)¶
| File | Class |
|---|---|
Public/SaveLoadBase/MIPBaseLoadComponent.h |
UMIPBaseLoadComponent |
Public/SaveLoadClient/MIPBaseClientLoadComponent.h |
UMIPBaseClientLoadComponent |
Public/SaveLoadClient/MIPClientBaseSaveComponent.h |
UMIPClientBaseSaveComponent |
Public/SaveLoadServer/MIPBaseServerLoadComponent.h |
UMIPBaseServerLoadComponent |
Public/SaveLoadServer/MIPBaseServerSaveComponent.h |
UMIPBaseServerSaveComponent |
Doc: docs/components/SaveLoad.md (one system doc).
ServerComponents (3)¶
| File | Class |
|---|---|
Public/ServerComponents/MIPItemPickupSpawnerComponent.h |
UMIPItemPickupSpawnerComponent |
Public/ServerComponents/MobScaledInfo/MIPBaseScalableMobInfoComponent.h |
UMIPBaseScalableMobInfoComponent |
Public/ServerComponents/MobScaledInfo/MIPWorldLevelScaledMobInfoComponent.h |
UMIPWorldLevelScaledMobInfoComponent |
Doc: docs/components/ServerComponents.md.
StatusEffect (1)¶
| File | Class |
|---|---|
Public/StatusEffect/MIPItemEffectApplierComponent.h |
UMIPItemEffectApplierComponent |
Doc: docs/components/StatusEffect.md.
TopDown (2)¶
| File | Class |
|---|---|
Public/TopDown/MIPTopDownPathFollowingComponent.h |
UMIPTopDownPathFollowingComponent |
Public/TopDown/MIPTopDownPlayerControllerComponent.h |
UMIPTopDownPlayerControllerComponent |
Doc: docs/components/TopDown.md.
Widget (1)¶
| File | Class |
|---|---|
Public/Widget/Component/MIPClientWidgetsManagerComponent.h |
UMIPClientWidgetsManagerComponent |
Doc: docs/components/Widget.md.
WorldLevel (1)¶
| File | Class |
|---|---|
Public/WorldLevel/MIPWorldLevelComponent.h |
UMIPWorldLevelComponent |
Doc: docs/components/WorldLevel.md.
3. Doc format checklist (per doc)¶
Each component or system doc should include (adapt depth to system size):
- Overview – What the component(s) do and key traits (server authority, replication, save, etc.).
- Key classes & files – Table: class/struct name, path under
Source/ModularInventoryPlus/. - Data structures – Enums, config structs, replication/save structs where relevant.
- Component hierarchy / architecture – Attachment (e.g. to PlayerController, Pawn, GameMode) and how components call each other.
- Configuration – Config files, data assets, or project settings.
- Core API – Main Blueprint/C++ functions and their semantics.
- Delegates / events – What broadcasts and when.
- Flow – Request/response or gameplay flow (e.g. equip, save, dungeon start).
- Integration – Where other systems hook in (e.g. ActionLimit requirement, save interface).
- Save & replication – What is saved, what is replicated, and any RPCs.
- End-to-end diagram – ASCII or Mermaid where it helps (see project diagram guidelines if present).
4. Execution order (suggested)¶
| Phase | Domain | Docs |
|---|---|---|
| 1 – Foundation | BaseComponents, SaveLoad, Inventory | BaseComponents.md, SaveLoad.md, Inventory.md |
| 2 – Player & character | Player, PlayerLevel, Character, Input, Health | Player.md, PlayerLevel.md, Character.md, Input.md, Health.md |
| 3 – Gameplay | Equipment, Cooldown, Quest, Interaction, Pickup, Mob, GameModes, GameObjects | Equipment.md, Cooldown.md, Quest.md, Interaction.md, Pickup.md, Mob.md, GameModes.md, GameObjects.md |
| 4 – UI & polish | Widget, PopupWidget, Cursor, Gate, Outline, FloatingDamageText, Notifier, TopDown | Widget.md, PopupWidget.md, Cursor.md, Gate.md, Outline.md, FloatingDamageText.md, Notifier.md, TopDown.md |
| 5 – Economy & items | Currency, Enhancement, Reforge, Repair, StatusEffect, PlayerLevelBasedFeatures | Currency.md, Enhancement.md, Reforge.md, Repair.md, StatusEffect.md, PlayerLevelBasedFeatures.md |
| 6 – Server & world | ServerComponents, WorldLevel, CircularInteractionSphere, API | ServerComponents.md, WorldLevel.md, CircularInteractionSphere.md, API.md |
5. Deliverables¶
- docs/ALL-DOCS-PLAN.md – This file (done).
- docs/README.md or docs/components/README.md – Index linking to every component/system doc (to be added/updated as docs are written).
- Individual docs created under
docs/anddocs/components/according to the inventory and phases above.
If the project uses a doc generator or GitBook, use docs/ as the source directory and link from the main plugin documentation as needed.