File Formats
Some features of the game can use files that can be created manually or by tools.
Some features of the game can use files that can be created manually or by tools.
Item Filters allow you to customise the way loot labels appear. You can edit the size, colour, or even hide item drops entirely. See our dedicated Item Filter page for more information.
The Build Planner is a game-wide build instructor that integrates with mission-critical systems such as skills, crafting, passives, and ascendancy.
Designed for players to import builds from third-party sources, the Build Planner functions as a plug-and-play feature.
Editing or creating builds within Path Of Exile 2 is currently not supported.
To activate the Build Planner, at least one valid *.build file should be present. (See guide below)
Once our automated File Watcher system successfully detects a valid build, all features of the Build Planner will be activated and visible.
When attempting to load build files into Path Of Exile 2, the game expects a *.build file written in JSON format.
Our automated File Watcher system has been designed to detect changes in the Preferences/BuildPlanner directory. All *.build files should be added here.
Use the following platform-specific guide below to help locate the Preferences/BuildPlanner directory:
C:/Users/Name/Documents/My Games/Path of Exile 2/BuildPlanner/home/deck/.local/share/Steam/steamapps/compatdata/2315204395/pfx/drive_c/users/steamuser/Documents/My Games/Path of Exile 2/BuildPlanner
1 (Experimental)| Key | Type |
|---|---|
| name | string |
| author | ?string |
| description | ?string |
| ascendancy | ?string |
| passives | ?array of (string or BuildPassive) |
| skills | ?array of (string or BuildSkill) |
| inventory_slots | ?array of BuildInventorySlot |
Used to define passives for the build. Visible in the Passive Skill Tree.
| Key | Type | Extra Information |
|---|---|---|
| id | string | a PassiveSkills table id. Example: strength89 |
| level_interval | ?(array of uint, or uint) | a level range. Example: [0, 100] |
| weapon_set | ?uint | a weapon set index between 0 and 2 (inclusive) |
| additional_text | ?string | text that is shown when the passive is hovered over in-game |
Used to define skills for the build. Accessible from an Uncut Skill Gem and/or Uncut Spirit Gem.
Meta gems are currently not supported.
| Key | Type | Extra Information |
|---|---|---|
| id | string | a BaseItemTypes table id. Example: Metadata/Items/Gems/SkillGemEarthquake |
| level_interval | ?(array of uint, or uint) | a level range. Example: [0, 100] |
| additional_text | ?string | text that is shown when the skill is hovered over in a gem crafting window |
| support_skills | ?array of (string or BuildSupport) |
Used to define support skills for a given parent skill. Accessible from an Uncut Support Gem and/or Uncut Spirit Gem.
| Key | Type | Extra Information |
|---|---|---|
| id | string | a BaseItemTypes table id. Example "Metadata/Items/Gems/SupportGemFastForward" |
| level_interval | ?(array of uint, or uint) | a level range. Example: [0, 100] |
| additional_text | ?string | text that is shown when the support is hovered over in a gem crafting window |
Used to show hints on inventory slots for the build. Visible in the character inventory panel.
| Key | Type | Extra Information |
|---|---|---|
| inventory_id | string | an Inventories table id. Example "Weapon1" |
| slot_x | ?uint | defaults to 0 |
| slot_y | ?uint | defaults to 0 |
| level_interval | ?(array of uint, or uint) | a level range. Example: [0, 100] |
| unique_name | ?string | a UniqueName entry from the Words table. Example "Kalandra's Touch" |
| additional_text | ?string | text to show when the inventory slot build planner popup indicator is hovered |
Markup formatting is available when defining the additional_text field.
The available markup modification keywords, and there associated values, are as follows:
| Key | Value | Example |
|---|---|---|
| Regular | r | <r>{ Example Text } |
| Bold | b | <b>{ Example Text } |
| Italics | i | <i>{ Example Text } |
| Underline | u | <u>{ Example Text } |
| Small | s | <s>{ Example Text } |
| Medium | m | <m>{ Example Text } |
| Large | l | <l>{ Example Text } |
| Key | Example |
|---|---|
| Red | <red>{ Example Text } |
| Orange | <orange>{ Example Text } |
| Yellow | <yellow>{ Example Text } |
| Green | <green>{ Example Text } |
| Blue | <blue>{ Example Text } |
| Indigo | <indigo>{ Example Text } |
| Violet | <violet>{ Example Text } |
| Black | <black>{ Example Text } |
| White | <white>{ Example Text } |
| Grey | <grey>{ Example Text } |
| Bronze | <bronze>{ Example Text } |
| Silver | <silver>{ Example Text } |
| Gold | <gold>{ Example Text } |
| Unique | <unique>{ Example Text } |
| Custom | <rgb(255, 255, 255)>{ Example Text } |
{
"name": "Titan Warrior",
"author": "Grinding Gear Games",
"ascendancy": "Warrior1",
"passives":
[
"melee17",
"melee18",
"melee25",
"melee44",
"melee46",
"marauder_brute_notable1",
{
"id": "strength17",
"additional_text": "<m>{<red>{Strength +5 is recommended}}"
},
{
"id": "strength16",
"additional_text": "<m>{<red>{Strength +5 is recommended}}"
},
{
"id": "strength89",
"additional_text": "<m>{<red>{Strength +5 is recommended}}"
},
{
"id": "attributes65",
"additional_text": "<m>{<red>{Strength +5 is recommended}}"
},
"duration_spells5",
"duration_spells1",
"duration_spells6",
"area_attacks24",
"area_attacks32",
"area_attacks25_",
"melee19",
{
"id": "strength19",
"additional_text": "<m>{<blue>{Intelligence +5 is recommended}}"
},
"fire10",
"fire16",
"fire38",
{
"id": "strength21",
"additional_text": "<m>{<red>{Strength +5 is recommended}}"
},
{
"id": "strength15",
"additional_text": "<m>{<red>{Strength +5 is recommended}}"
},
{
"id": "attributes32",
"additional_text": "<m>{<red>{Strength +5 is recommended}}"
},
"warcries19_",
"warcries20",
"warcries21",
"slams4",
"slams1",
"slams5",
"jewel_slot1956",
{
"id": "strength68",
"additional_text": "<m>{<red>{Strength +5 is recommended}}"
},
"AscendancyWarrior1Small3",
"AscendancyWarrior1Notable4"
],
"skills":
[
{
"id": "Metadata/Items/Gems/SkillGemEarthquake",
"additional_text": "Intended to be taken <green>{BEFORE} BoneShatter",
"support_skills":
[
"Metadata/Items/Gems/SupportGemFastForward",
"Metadata/Items/Gems/SupportGemAftershock"
]
},
{
"id": "Metadata/Items/Gems/SkillGemBoneshatter",
"additional_text": "Intended to be taken <red>{AFTER} Earthquake",
"support_skills":
[
{
"id": "Metadata/Items/Gems/SupportGemImpactShockwave",
"additional_text": "Intended to be taken <green>{BEFORE} Magnified Area I"
},
{
"id": "Metadata/Items/Gems/SupportGemMagnifiedEffect",
"additional_text": "Intended to be taken <red>{AFTER} Impact Shockwave"
}
]
},
{
"id": "Metadata/Items/Gems/SkillGemShockwaveTotem",
"additional_text": "Intended to be taken <green>{BEFORE} Infernal Cry",
"support_skills":
[
"Metadata/Items/Gems/SupportGemMagnifiedEffect",
"Metadata/Items/Gems/SupportGemBrutalityTwo"
]
},
{
"id": "Metadata/Items/Gems/SkillGemInfernalCry",
"additional_text": "Intended to be taken <red>{AFTER} Shockwave Totem",
"support_skills":
[
"Metadata/Items/Gem/SupportGemTireless",
"Metadata/Items/Gem/SupportGemRagingCry"
]
}
],
"inventory_slots":
[
{
"inventory_id": "Weapon1",
"additional_text": "<silver>{Any Two Handed Mace}\n\n<grey>{Stat Priority\n-------------------\n1. Prioritize highest physical dps}"
},
{
"inventory_id": "BodyArmour1",
"additional_text": "<red>{Armour (Str Base)}\n\n<grey>{Stat Priority\n-------------------\n1. Increased Health\n2. Increased Resistances\n3. Increased Armour}"
},
{
"inventory_id": "Boots1",
"additional_text": "<red>{Armour (Str Base)}\n\n<grey>{Stat Priority\n-------------------\n1. Increased Movement Speed\n2. Increased Health\n3. Increased Resistances\n4. Increased Armour}"
},
{
"inventory_id": "Helm1",
"additional_text": "<red>{Armour (Str Base)}\n\n<grey>{Stat Priority\n-------------------\n1. Increased Health\n2. Increased Resistances\n3. Increased Armour}"
},
{
"inventory_id": "Gloves1",
"additional_text": "<red>{Armour (Str Base)}\n\n<grey>{Stat Priority\n-------------------\n1. Increased Attack Speed\n2. Flat damage to attacks\n3. Increased Life\n4. Increased Resistances}"
},
{
"inventory_id": "Belt1",
"additional_text": "<silver>{Any Belt}\n\n<grey>{Stat Priority\n-------------------\n1. Increased Health\n2. Increased Resistances}"
},
{
"inventory_id": "Ring1",
"additional_text": "<silver>{Any Ring (Resistance Base)}\n\n<grey>{Stat Priority\n-------------------\n1. Flat damage to attacks\n2. Increased Life\n3. Increased Resistances}"
},
{
"inventory_id": "Ring2",
"additional_text": "<silver>{Any Ring (Resistance Base)}\n\n<grey>{Stat Priority\n-------------------\n1. Flat damage to attacks\n2. Increased Life\n3. Increased Resistances}"
},
{
"inventory_id": "Amulet1",
"additional_text": "<silver>{Any Amulet}\n\n<grey>{Stat Priority\n-------------------\n1. Level of all melee skills\n2. Increased Resistances\n3. Increased Intelligence\n4. Increased Life}"
}
]
}