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:
GameplayAbilitiesCommonUIEnhancedInputModelViewViewModelOnlineSubsystem/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:
-
**Input Player** -
**Manager Global** -
**Manager Player** - Modal (default modal classes/styles)
Enabling HUD managers
In UPulseHUDSettings:
- Enable
bEnableGlobalHUDManagerfor game-instance-wide HUD. - Enable
bEnablePerPlayerHUDManagerfor local-player-specific HUD. - Provide
FPulseHUDManagerParamswith 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:
- Grant an interact ability to the owning ability system component.
- Ensure interactable targets implement
IPulseInteractableInterface(actor or component). - Call
StartInteraction()/EndInteraction()from input flow (directly or via gameplay event trigger tags). - 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:
- Open Settings → Pages
- 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-docsviaremote_theme