Skip to content

AMIPBasePlayerCharacter

File: Public/GameFramework/MIPBasePlayerCharacter.h Base: ACharacterIAbilitySystemInterface, IMIPCombatInterface, IMIPCursorHittableInterface, IMIPPlayerDamageReceivableActorInterface, IOutliningInterface, IIsPlayerInterface, IActorWithNameplateInterface

The player pawn — the physical character in the world. Handles camera, equipment visuals, death/respawn flow, floating damage text, and serves as the combat target for GAS.


Owned Components

Component Type Purpose
HeroComponent UMIPHeroComponent Core hero setup (startup logic, class-specific init)
EquipmentMeshesManager UMIPBaseEquipmentMeshesManager Attaches/detaches skeletal meshes for equipped items
PlayerHealthComponent UMIPPlayerHealthComponent Player health, death detection, respawn
PlayerASCManager UMIPPlayerAbilitySystemComponentManager Pawn-side ASC resolver
FloatingDamageTextWidgetComponent UMIPFloatingDamageTextWidgetComponent Floating combat numbers
MinimapMarkerComponent UMIPMinimapMarkerComponent Player marker on minimap
NearbyActorDetectorComponent UMIPNearbyActorDetectorComponent Detects nearby interactables and actors

Camera

Component Type Description
CameraBoom USpringArmComponent Camera arm behind the character
FollowCamera UCameraComponent Main gameplay camera

Death & Respawn Flow

PlayerHealthComponent detects HP <= 0
OnDeathStarted(OwningActor, bCanRespawn)
    DisableMovementAndCollisionAndShowCursor()
    AddDeathWidget()
    SetPlayerDeadCapsuleCollisionProfile()
    Fires OnPostDeathDelegate
[Player clicks respawn or timer expires]
OnRespawned(OwningActor)
    EnableMovementAndCollisionAndHideCursor()
    RemoveDeathWidget()
    SetPlayerCapsuleCollisionProfile()
    Fires OnPostRespawnDelegate
Property / Method Description
GetDeathState() Returns EMIPDeathState (Alive, Dead, etc.)
GetTargetStartDeathDelegate() FMIPHealth_DeathEvent — bind to receive death notification
GetTargetRespawnDelegate() FMIPHealth_Respawn — bind to receive respawn notification
OnPostDeathDelegate BlueprintAssignable — fires after death processing
OnPostRespawnDelegate BlueprintAssignable — fires after respawn processing

Equipment Visuals

Method Description
GetEquipmentMeshesManager() Returns the mesh manager for attaching/detaching equipment SKMeshes
GetMeshAddedComponents() BlueprintNativeEvent — returns all mesh components added via equipment
GetAllMeshes_Implementation() Returns all primitive components for outline rendering

Equipment meshes are attached to sockets defined in UMIPEquipmentPieceAsset (AttachToSocketName, RelativeMeshTransform).


Combat Interface

The character implements IMIPCombatInterface for GAS damage flow:

Method Description
GetTargetStartDeathDelegate() Death delegate for GAS health component
GetTargetRespawnDelegate() Respawn delegate
GetDeathState() Current death state

And IMIPCursorHittableInterface:

Method Returns
GetCursorHittableType() EMIPCursorHittableType::Player

Other

Feature Details
TrySpawnOwningCharacterRenderTarget() Spawns AMIPOwningCharacterRenderTarget for character preview UI
SetDefaultLinkAnimClassLayer() Links the default animation class layer at BeginPlay
InitializeWidgetComponent() Sets up the floating damage text widget
NameplateWidgetComponent Nameplate above the character (via IActorWithNameplateInterface)
ClientPlayerStateInitializedDelegate Fires when PlayerState is replicated and ready on the client

See Also