Soulslike Framework Docs
  • Welcome to Soulslike Framework!
  • Framework Overview
    • About the Framework
    • Features & Systems
    • Before Purchasing
    • Personal Assistance
  • Getting Started
    • Setting up Animations
      • Setup Locomotion Blendspaces
      • Setup Custom Montages
    • Using the Utility Tools
      • Easy Setup Tool
      • Asset Creators
      • Asset Browsers
    • Actor Tags
    • Finding References
  • Workflow
    • Using a Custom Character
    • Creating & Editing Actions
    • Creating & Editing Stats/Attributes
    • Creating & Editing Status Effects
    • Creating & Editing Buffs
    • Creating & Editing Items
      • Creating & Editing Weapons
    • Creating an Enemy
    • Creating Cinematics
  • Animation Notifies
    • Damaging & Combo's
      • Register Attack Notify
      • Weapon Trace Notify
        • AI Weapon Trace Notify
      • Fist Trace Notify
        • AI Fist Trace Notify
      • Area of Effect Damage Notify
      • Spawn Projectile Notify
        • AI Spawn Projectile Notify
    • Defensive
      • Try Guard Notify
      • Hyper Armor Notify
      • Invincibility Frame Notify
    • Feedback
      • Weapon Trail Notify
        • AI Weapon Trail Notify
      • Camera Shake Notify
        • World Camera Shake Notify
      • Launch Field Notify
      • Chaos Field Notify
      • Footstep Notify
    • Miscellaneous
      • Input Buffer Notify
      • Interrupt Montage Notify
      • Camera Sequence Notify
      • Set Movement Mode Notify
      • AI State Notify
      • AI Rotate Towards Target Notify
      • Adjust Stat Notify
  • Components / Managers
    • Player Specific Components
      • Input Buffer
      • Action Manager
      • Combat Manager
      • Interaction Manager
      • Inventory Manager
      • Equipment Manager
      • Ladder Manager
      • Progress Manager
      • Save/Load Manager
      • Radar & Radar Element Components
      • Central Debug Component
    • Shared Components
      • Stat/Attribute Manager
      • Status Effect Manager
      • Weapon Collision Manager
      • Buff Manager
      • Loot Drop Manager
    • AI-Only Components
      • AI Interaction Manager
      • AI Behavior Manager
      • AI Combat Manager
      • AI Boss Manager
  • Extending Functionality
    • Using Motion Warping
    • Custom Saving/Loading
    • Adding New Settings
    • Extending Weapon Animsets
    • Weapon Specific Impact Sounds
    • Resetting Enemies After Resting
Powered by GitBook
On this page
  • How It Works
  • Example Usage
  • Example Usage with the NPC Dialogues
  • Example on Triggering Gameplay Events through Dialogue Tables

Was this helpful?

  1. Components / Managers
  2. Player Specific Components

Progress Manager

PreviousLadder ManagerNextSave/Load Manager

Last updated 3 months ago

Was this helpful?

The Progress Manager (AC_ProgressManager) is a simple yet powerful component that tracks player progress using a Gameplay Tag | EProgress map. It integrates seamlessly with the , allowing dialogues to dynamically adjust based on the player's progress. Additionally, it includes a Gameplay Event System that can be triggered from AI dialogues or other gameplay events.

It is added to the PlayerController class by default (PC_SoulslikeFramework).

How It Works

  • Storing & Managing Progress

    • The component maintains a map of Progress Tags | EProgress. Each progress state is stored persistently, allowing the system to track which objectives, quests, or interactions have been completed.

  • Adjusting Progress States

    • SetProgress(ProgressTag, EProgressState)

      • Updates the current progress of a given tag.

    • GetProgress(ProgressTag)

      • Returns the current progress state of a given tag.

  • Executing Gameplay Events

    • ExecuteGameplayEvents(EventsArray)

      • This function processes a struct (FDialogGameplayEvent), which contains:

        • EventTag: Identifies what type of gameplay event it is.

        • AdditionalTag: Provides extra context for event handling.

        • Custom Data: A flexible Instanced Struct that can store any type of data dynamically.

      • When triggered, iterates through the array of events, extracting necessary data and routing them accordingly.

      • Using a switch statement, determines the type of event, executing the desired logic according to event tag.

Example Usage

Example Usage with the NPC Dialogues

Example on Triggering Gameplay Events through Dialogue Tables

AI Interaction Manager component