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);