{"tab":"mechanics","section":"progressionSettings","title":"Level Progression","summary":"Per-world level-up configuration: XP cadence, ability and attribute point awards, trait-pick pools, and milestone titles.","kind":"schema","uiLocation":"Mechanics → Level Progression","uiSubtitle":"\"XP cadence, level-up rewards, trait-pick pools, and milestone Titles\"","editor":"JSON only","related":[{"section":"otherSettings","note":"NPC health scaling lives in Other Settings"},{"section":"attributeSettings","note":"attribute points allocate into the attributes defined there"},{"section":"abilities","note":"ability points relate to learnable abilities"},{"section":"traits","note":"trait picks draw from `levelUpTraitPool`"}],"wikiUrl":"/mechanics/progressionSettings","schema":{"_type":"required","fields":{"startingCharacterLevelUpRequirement":"number","extraRequiredXPPerCharacterLevel":"number","maxCharacterLevel":"number","abilityPointEveryLevels":"number","abilityPointsPerGrant":"number","attributePointEveryLevels":"number","attributePointsPerGrant":"number","maxAttributeValue":"number","traitPickEveryLevels":"number","traitPicksPerGrant":"number","locationDiscoveryXP":"number","levelUpTraitPool":{"_type":"array","of":"string"},"milestoneTitles":{"_type":"array","of":{"_type":"required","fields":{"levelGranted":"number","title":"string"}}}}},"sizeLimits":[],"blocks":[{"type":"example","lang":"json","code":"{\n  \"startingCharacterLevelUpRequirement\": 1000,\n  \"extraRequiredXPPerCharacterLevel\": 400,\n  \"maxCharacterLevel\": 100,\n  \"abilityPointEveryLevels\": 1,\n  \"abilityPointsPerGrant\": 1,\n  \"attributePointEveryLevels\": 5,\n  \"attributePointsPerGrant\": 1,\n  \"maxAttributeValue\": 999,\n  \"traitPickEveryLevels\": 10,\n  \"traitPicksPerGrant\": 1,\n  \"locationDiscoveryXP\": 10,\n  \"levelUpTraitPool\": [],\n  \"milestoneTitles\": [\n    { \"levelGranted\": 1, \"title\": \"Initiate\" },\n    { \"levelGranted\": 10, \"title\": \"Adept\" },\n    { \"levelGranted\": 20, \"title\": \"Veteran\" },\n    { \"levelGranted\": 30, \"title\": \"Expert\" },\n    { \"levelGranted\": 40, \"title\": \"Master\" },\n    { \"levelGranted\": 50, \"title\": \"Legend\" }\n  ]\n}"},{"type":"prose","md":"Level-up rewards are configured here. Players see them in the story status panel, where they spend ability and attribute points, make trait picks, and equip earned titles.\n\n> **📋 Note:** The field names describe the cadence (`*EveryLevels`) and amount (`*PerGrant`) of each reward. The exact arithmetic each field drives — how a spent point converts to an effect, how `levelUpTraitPool` is sampled — is not formally documented."},{"type":"fields","fields":[{"name":"startingCharacterLevelUpRequirement","required":true,"tooltip":"XP required to reach character level 2.","md":"XP required to reach character level 2. The full curve: XP to reach level N = `startingCharacterLevelUpRequirement + (N - 1) * extraRequiredXPPerCharacterLevel`."},{"name":"extraRequiredXPPerCharacterLevel","required":true,"tooltip":"Additional XP required per character level beyond the first.","md":"Additional XP required per character level beyond the first."},{"name":"maxCharacterLevel","required":true,"tooltip":"Maximum character level.","md":"Maximum character level."},{"name":"abilityPointEveryLevels","tooltip":"Interval, in character levels, on which ability points are granted.","md":"Interval, in character levels, on which ability points are granted."},{"name":"abilityPointsPerGrant","tooltip":"Ability points granted at each interval.","md":"Ability points granted at each interval."},{"name":"attributePointEveryLevels","tooltip":"Interval, in character levels, on which attribute points are granted.","md":"Interval, in character levels, on which attribute points are granted."},{"name":"attributePointsPerGrant","tooltip":"Attribute points granted at each interval.","md":"Attribute points granted at each interval."},{"name":"maxAttributeValue","tooltip":"Maximum value an attribute can reach.","md":"Maximum value an attribute can reach."},{"name":"traitPickEveryLevels","tooltip":"Interval, in character levels, on which a trait pick is granted.","md":"Interval, in character levels, on which a trait pick is granted."},{"name":"traitPicksPerGrant","tooltip":"Trait picks granted at each interval.","md":"Trait picks granted at each interval."},{"name":"locationDiscoveryXP","tooltip":"XP awarded when a location is discovered.","md":"XP awarded when a location is discovered."},{"name":"levelUpTraitPool","tooltip":"Traits offered as options for level-up trait picks.","md":"Traits offered as options for level-up trait picks. Leave `[]` for none. Entries reference trait keys from [`traits`](/mechanics/traits)."},{"name":"milestoneTitles","tooltip":"Titles awarded at set levels; each entry is { levelGranted, title }.","md":"Titles awarded at set levels. Each entry is `{ levelGranted, title }` — `levelGranted` is the character level at which the title unlocks and `title` is the display string. Players can equip an earned title from the status panel."}]}],"body":"## Example\n\n```json\n{\n  \"startingCharacterLevelUpRequirement\": 1000,\n  \"extraRequiredXPPerCharacterLevel\": 400,\n  \"maxCharacterLevel\": 100,\n  \"abilityPointEveryLevels\": 1,\n  \"abilityPointsPerGrant\": 1,\n  \"attributePointEveryLevels\": 5,\n  \"attributePointsPerGrant\": 1,\n  \"maxAttributeValue\": 999,\n  \"traitPickEveryLevels\": 10,\n  \"traitPicksPerGrant\": 1,\n  \"locationDiscoveryXP\": 10,\n  \"levelUpTraitPool\": [],\n  \"milestoneTitles\": [\n    { \"levelGranted\": 1, \"title\": \"Initiate\" },\n    { \"levelGranted\": 10, \"title\": \"Adept\" },\n    { \"levelGranted\": 20, \"title\": \"Veteran\" },\n    { \"levelGranted\": 30, \"title\": \"Expert\" },\n    { \"levelGranted\": 40, \"title\": \"Master\" },\n    { \"levelGranted\": 50, \"title\": \"Legend\" }\n  ]\n}\n```\n\nLevel-up rewards are configured here. Players see them in the story status panel, where they spend ability and attribute points, make trait picks, and equip earned titles.\n\n> **📋 Note:** The field names describe the cadence (`*EveryLevels`) and amount (`*PerGrant`) of each reward. The exact arithmetic each field drives — how a spent point converts to an effect, how `levelUpTraitPool` is sampled — is not formally documented.\n\n## Fields\n\n### startingCharacterLevelUpRequirement\n\nXP required to reach character level 2. The full curve: XP to reach level N = `startingCharacterLevelUpRequirement + (N - 1) * extraRequiredXPPerCharacterLevel`.\n\n### extraRequiredXPPerCharacterLevel\n\nAdditional XP required per character level beyond the first.\n\n### maxCharacterLevel\n\nMaximum character level.\n\n### abilityPointEveryLevels\n\nInterval, in character levels, on which ability points are granted.\n\n### abilityPointsPerGrant\n\nAbility points granted at each interval.\n\n### attributePointEveryLevels\n\nInterval, in character levels, on which attribute points are granted.\n\n### attributePointsPerGrant\n\nAttribute points granted at each interval.\n\n### maxAttributeValue\n\nMaximum value an attribute can reach.\n\n### traitPickEveryLevels\n\nInterval, in character levels, on which a trait pick is granted.\n\n### traitPicksPerGrant\n\nTrait picks granted at each interval.\n\n### locationDiscoveryXP\n\nXP awarded when a location is discovered.\n\n### levelUpTraitPool\n\nTraits offered as options for level-up trait picks. Leave `[]` for none. Entries reference trait keys from [`traits`](/mechanics/traits).\n\n### milestoneTitles\n\nTitles awarded at set levels. Each entry is `{ levelGranted, title }` — `levelGranted` is the character level at which the title unlocks and `title` is the display string. Players can equip an earned title from the status panel."}