Manager

Overview

UCSkillManager is a UGameInstanceSubsystem that manages skill resolution and execution. It implements ICSkillMaker and registers itself as a singleton (CNAME_Singleton_SkillManager) on initialization. Skill implementation instances are cached in a TMap<FString, UCAbstractSkill*>.

Functions

Name Description
getInstance Static helper returning the UCSkillManager from a given actor’s game instance
retrieveSkill Looks up a FCSkillDataStruct row by name from the coordinator skill DataTable
consumeSkill Resolves and executes a skill by name on a source actor (BlueprintCallable)
// getInstance — static access from any actor
UCSkillManager* mgr = UCSkillManager::getInstance(myActor);

// retrieveSkill — lookup skill data by name
FCSkillDataStruct skillData;
bool found = mgr->retrieveSkill(FName("MySkill"), skillData);

// consumeSkill — resolve and execute a skill
// priority: 1) whatToDoOnSkill lambda  2) skillClass C++ implementation
bool success = mgr->consumeSkill(FName("MySkill"), sourceActor, otherInfoObject);

SkillUtility

Static utility class providing global skill consumption without direct manager access.

Name Description
consumeSkill Retrieves the ICSkillMaker singleton and delegates consumeSkill
// SkillUtility — consume a skill from anywhere
bool ok = SkillUtility::consumeSkill(FName("MySkill"), sourceActor, otherInfoObject);