Skip to content

Mob and Spawner Actors

Overview

AMIPBaseMob is the base mob character: it has an ASC, MIPBaseMobAttributeSet, UMIPMobHealthComponent, floating damage widget, aggro sphere, motion warping, and optional loot. Health component handles death (EXP, loot, destroy); mob can be activated/deactivated (e.g. return to spot, immune). Spawners (AMIPBaseMobSpawner, area/wave/trigger/respawn/kill-triggered/endless variants) and triggers (AMIPBaseMobSpawnerTrigger) use IMIPMobSpawnerTriggerInterface. AMIPBaseAIController / AMIPSimpleAIController drive mob AI.

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


Key Classes & Files

Class File
AMIPBaseMob Public/Mob/MIPBaseMob.h
AMIPSimpleMob Public/Mob/MIPSimpleMob.h
AMIPBaseMobSpawner Public/Mob/Spawners/MIPBaseMobSpawner.h
AMIPBaseAreaMobSpawner Public/Mob/Spawners/MIPBaseAreaMobSpawner.h
AMIPBaseWaveMobSpawner Public/Mob/Spawners/MIPBaseWaveMobSpawner.h
AMIPBaseTriggerableMobSpawner Public/Mob/Spawners/MIPBaseTriggerableMobSpawner.h
AMIPRespawnableAreaMobSpawner Public/Mob/Spawners/MIPRespawnableAreaMobSpawner.h
AMIPKillTriggeredWaveMobSpawner Public/Mob/Spawners/MIPKillTriggeredWaveMobSpawner.h
AMIPEndlessWaveMobSpawner Public/Mob/Spawners/MIPEndlessWaveMobSpawner.h
AMIPBaseMobSpawnerTrigger Public/Mob/Triggers/MIPBaseMobSpawnerTrigger.h
AMIPBaseAIController Public/AI/MIPBaseAIController.h
AMIPSimpleAIController Public/AI/MIPSimpleAIController.h

AMIPBaseMob

  • Base: ACharacter; IAbilitySystemInterface, IMIPPlayerDamageReceivableActorInterface, IMIPIsMobInterface, IMIPCursorHittableInterface (Enemy), IMIPMobSpawnerTriggerInterface, IOutliningInterface.
  • Components: UMIPMobHealthComponent (death, EXP, loot), UMIPMobAggroNearbyPlayerSphere, UMIPFloatingDamageTextWidgetComponent, UMIPMobNameplateWidgetComponent; MotionWarpingComponent (IMIPIsMobInterface); ASC with MIPBaseMobAttributeSet.
  • Data: MIPMobInfoDataAsset, MIPCombatMobInfoDataAsset, MIPMobCombatDataAsset; combat info can be overridden by UMIPWorldLevelScaledMobInfoComponent (world level scaling). Loot from UMIPLootDefinitionAsset; FOnGetOverrideLootDef, FOnGetOverrideCombatInfoDef for overrides.
  • Lifecycle: ActivateMob() / DeactivateMob() – grant/remove abilities, bind/unbind health OnGotHitDelegate; immune and max HP when StartReturningToSpot(). HandleOutOfHealth in UMIPMobHealthComponent gives rewards and destroys mob.
  • IMIPIsMobInterface: GetMotionWarpingComponent(), SetLastHitDirection/GetLastHitDirection (LastHitDirection).
  • Cursor: GetCursorHittableType() → Enemy (targeting/outline).

AMIPSimpleMob

  • Base: AMIPBaseMob. Concrete simple mob (no extra behavior in header).

Spawners

  • AMIPBaseMobSpawner – AActor, IMIPMobSpawnerTriggerInterface. Base for all mob spawners; spawns mobs, can be triggered.
  • AMIPBaseAreaMobSpawner – Spawns mobs in an area.
  • AMIPBaseWaveMobSpawner – Wave-based spawning.
  • AMIPBaseTriggerableMobSpawner – Triggered by overlap or external trigger.
  • AMIPRespawnableAreaMobSpawner – Area spawner with respawn.
  • AMIPKillTriggeredWaveMobSpawner – Next wave when a mob is killed.
  • AMIPEndlessWaveMobSpawner – Endless waves.
  • AMIPBaseMobSpawnerTrigger – AActor, IMIPMobSpawnerTriggerInterface; triggers a linked spawner (e.g. volume overlap).

Spawners use MIPMobSpawnerCombatInfoDataAsset, MIPWaveMobSpawnerInfoDataAsset (etc.) for spawn config and combat info.


AI

  • AMIPBaseAIController – AAIController. Base for mob AI.
  • AMIPSimpleAIController – Simple AI behavior for mobs.

Mob’s AIControllerClass set in C++ or Blueprint; AI drives movement and ability usage.


Integration

  • UMIPMobHealthComponentHealth; HandleOutOfHealth → GiveMobEXPRewardsAndKill, loot, destroy.
  • UMIPWorldLevelScaledMobInfoComponentServerComponents; scaled combat info by world level.
  • UMIPBaseModeComponent – OnMobSpawned, OnMobDestroyed; CurrentSpawnedMobNum for game modes.
  • Quest – UMIPEliminateMobQuestTask for kill objectives.