Getting started

Plugin modules and dependencies

PulseCore is declared in PulseCore.uplugin and includes runtime modules for gameplay (PulseAbility, PulseHUD, PulseGameCore) plus editor-side modules.

Important plugin dependencies declared in the .uplugin:

  • GameplayAbilities
  • CommonUI
  • EnhancedInput
  • ModelViewViewModel
  • OnlineSubsystem / OnlineSubsystemUtils

Core settings location

The HUD module registers project settings under:

  • Project Settings → Pulse → HUD

Settings object:

  • UPulseHUDSettings (Source/PulseHUD/Public/PulseHUDSettings.h)

Main settings groups:

  1. **Input Player**
  2. **Manager Global**
  3. **Manager Player**
  4. Modal (default modal classes/styles)

Enabling HUD managers

In UPulseHUDSettings:

  1. Enable bEnableGlobalHUDManager for game-instance-wide HUD.
  2. Enable bEnablePerPlayerHUDManager for local-player-specific HUD.
  3. Provide FPulseHUDManagerParams with your HUD widget class (MustImplement = PulseHUDInterface).

Manager subsystems:

  • UPulseGlobalHUDManager (game instance subsystem)
  • UPulsePlayerHUDManager (local player subsystem)

Both initialize through IPulseHUDManagerInterface::InitializeHUD(...).

Interaction setup baseline

The interaction feature is driven by a gameplay ability:

  • UPulseInteractAbility

Minimal practical setup:

  1. Grant an interact ability to the owning ability system component.
  2. Ensure interactable targets implement IPulseInteractableInterface (actor or component).
  3. Call StartInteraction() / EndInteraction() from input flow (directly or via gameplay event trigger tags).
  4. Optionally bind a UI ViewModel (UMVVMPulseInteract) to present focused/selected/interacting state.

GitHub Pages with docs/ source

This documentation is structured for a Pages setup that builds from the docs folder.

Required repository configuration on GitHub:

  1. Open Settings → Pages
  2. Set Build and deployment / Source to:
    • Deploy from a branch
    • Branch: main (or your docs branch)
    • Folder: /docs

Jekyll configuration is in:

  • docs/_config.yml

Theme:

  • just-the-docs via remote_theme

PulseCore plugin documentation.

This site uses Just the Docs, a documentation theme for Jekyll.