Skills and Profiles
Review draft. This source page has not completed website editorial and release-specific verification.
Identity and membership
Section titled “Identity and membership”Every Skill uses an exact Gameplay Tag beneath Skill, for example
Skill.Intellect.Logic or Skill.Psyche.Authority. The native plugin registers
the Skill root. The host project registers concrete descendant tags using
its Gameplay Tags source/settings. A Skill Profile’s entries define the
component’s owned concrete Skills. A parent/category tag is not itself a
concrete Skill unless it is a valid authored concrete entry; lookup is always
exact and never falls back through the hierarchy.
Do not create authoritative Dialogue.Skill.*, CharacterState.Skill.*, or
other parallel namespaces.
Profile fields
Section titled “Profile fields”USkillProfile owns an ordered set of concrete Skill definitions and an
optional Global Progression Schedule. Each FSkillDefinition includes:
SkillId,DisplayName, andDescription;StartingValue, the initial permanent value;BaseMinandBaseMax, bounds on permanent progression;EffectiveMinandEffectiveMax, bounds applied after modifiers;- an optional per-Skill Progression Schedule.
Invalid authoring is reported by Unreal Data Validation; it is not repaired by clamping or deleting entries. Referenced schedules must be valid. A missing global schedule disables Global XP progression; a missing per-Skill schedule disables XP advancement for that Skill.
Calculation and scale
Section titled “Calculation and scale”Base = StartingValue + GlobalSkillPointsInvested + PerSkillXPIncreasesEarnedEffective = Clamp(Base + sum(active signed modifiers), EffectiveMin, EffectiveMax)The values use signed int32 and have no fixed scale. Valid profiles may use
1..5, 0..10, 0..100, or another game-appropriate range. Skill Director
does not interpret a value as a percentage: Effective Skill 3 alone does not
mean a 3% success chance. Consumers define how the number contributes to gates
or checks.