Skip to content

Achievement Category Info

AchievementCategoryInfo.xml defines the achievement category hierarchy used for UI navigation, with main categories containing sub-categories that group related achievements.

VersionStatus
v92Full
v90-
v86-

Entity: achievementCategories Operations: create, update, delete, upsert File organization: SingleFile — AchievementCategoryInfo.xml


spec:
version: "1.0"
schema: v92
achievementCategories:
create:
- id: 900
name: "@Achievement:99900001"
priority: 10
normalImage: "normalBtn_up"
overImage: "normalBtn_over"
pressImage: "normalBtn_click"
subCategories:
- id: 901
name: "@Achievement:99901001"
- id: 902
name: "@Achievement:99902001"
spec:
version: "1.0"
schema: v92
achievementCategories:
update:
- id: 900
changes:
priority: 5
name: "@Achievement:99900002"
subCategories:
- id: 901
name: "@Achievement:99901002"
excludeAlmost: true
spec:
version: "1.0"
schema: v92
achievementCategories:
delete:
- 900
spec:
version: "1.0"
schema: v92
achievementCategories:
upsert:
- id: 900
name: "@Achievement:99900001"
priority: 10
normalImage: "normalBtn_up"
overImage: "normalBtn_over"
pressImage: "normalBtn_click"

AttributeTypeSinceRequiredDescription
idintv92YesMain category identifier
namestringv92NoCategory name (string table reference)
priorityintv92NoDisplay order priority
normalImagestringv92NoButton image for normal state
overImagestringv92NoButton image for hover state
pressImagestringv92NoButton image for pressed state
isSummaryboolv92NoWhether this is a summary category
summaryIdintv92NoID of the summary to display
isSummaryCountingboolv92NoWhether to count towards summary
isGradeboolv92NoWhether this category has grade tiers
isCompensationboolv92NoWhether this category has grade compensation
excludeAlmostboolv92NoWhether to exclude from “almost complete” filter
str1stringv92NoAdditional string reference 1
str2stringv92NoAdditional string reference 2
str3stringv92NoAdditional string reference 3
subCategorieslist[SubCategory]v92NoSub-category definitions
AttributeTypeSinceRequiredDescription
idintv92YesSub-category identifier
namestringv92YesSub-category name (string table reference)
excludeAlmostboolv92NoWhether to exclude from “almost complete” filter
absolutelyHiddenboolv92NoWhether the sub-category is completely hidden
referStrstringv92NoReference string for reward type filtering
referTypestringv92NoReference type for categorization

AchievementCategoryInfo.xml
└── AchievementList
└── CategoryInfo
└── MainCategory (0..9)
@id @name @priority @normalImage @overImage @pressImage
@isSummary? @summaryId? @isSummaryCounting?
@isGrade? @isCompensation? @excludeAlmost?
@str1? @str2? @str3?
└── SubCategory (0..8)
@id @name @excludeAlmost? @absolutelyHidden?
@referStr? @referType?

  • Wrapper element: The XML structure has a CategoryInfo wrapper element between the root AchievementList and MainCategory elements. This is handled transparently by the pipeline — the YAML operates directly on main categories.
  • Root element name: Despite the file being named AchievementCategoryInfo.xml, the root XML element is AchievementList (not AchievementCategoryInfo). This is a server convention.
  • Clear-and-replace: Sub-categories use clear-and-replace semantics. Providing a subCategories list on update replaces all existing sub-category children.
  • Category ID mapping: The id values here correspond to the categoryId attribute on Achievement List entries. Each achievement belongs to exactly one sub-category.