Path of Exile Developer Docs

File Formats

Some features of the game can use files that can be created manually or by tools.

Item Filters

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.

Build Planner (PoE2 only)

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.

When attempting to load build files into Path Of Exile 2, the loader expects a 'MyBuild.build' file written in JSON format. All build files must be located inside of 'X:/Users/Name/Documents/My Games/Path of Exile 2/BuildPlanner'.

Custom Text

Simple markup is available when using the additional_text fields.

File Format

Files should consist of a single root Build object in JSON format.

object Build

Key Type Extra Information
name string
description ?string
ascendancy ?string
passives ?array of (string or BuildPassive) a PassiveSkills table id
skills ?array of (string or BuildSkill) a BaseItemTypes table id
items ?array of BuildItem

object BuildPassive

Referenced by Build→passives.

Key Type Extra Information
id string a PassiveSkills table id
level_interval ?array of uint a range of levels. Example: [0, 100]
weapon_set ?uint
additional_text ?string text that is shown when the passive is hovered over in-game

object BuildSkill

Referenced by Build→skills.

Key Type Extra Information
id string a BaseItemTypes table id
level_interval ?array of uint a range of levels. Example: [0, 100]
additional_text ?string text that is shown when the skill is hovered over in-game
support_skills ?array of (string or BuildSupport) a BaseItemTypes table id

object BuildSupport

Referenced by BuildSkill→support_skills.

Key Type Extra Information
id string a BaseItemTypes table id
level_interval ?array of uint a range of levels. Example: [0, 100]
additional_text ?string text that is shown when the support is hovered over in-game

object BuildItem

Referenced by Build→items.

Used to show hints on inventory slots in the character panel.

Key Type Extra Information
inventory_id string
slot_x uint
slot_y uint
level_interval ?array of uint a range of levels. Example: [0, 100]
unique_name ?string a UniqueName entry from the Words table
additional_text ?string text to show when the slot is hovered

Example

{
    "name": "Shield Wall",
    "description": "<underline>{<red>{A test for the new build planner!}}\n\nMercenary class is recommended",
    "ascendancy": "Mercenary2",
    "passives": [
        {
            "id": "projectiles18",
            "level_interval": [0, 25]
        },
        {
            "id": "projectiles19",
            "level_interval": [0, 25]
        },
        {
            "id": "projectiles20",
            "level_interval": [0, 25]
        },
        {
            "id": "projectiles21_",
            "level_interval": [0, 25]
        },
        {
            "id": "projectiles28_",
            "level_interval": [0, 25],
            "additional_text": "Respec all projectile damage nodes after transitioning to Shield Wall"
        },
        "duelist_mercenary_notable1",
        {
            "id": "area_attacks28",
            "level_interval": [10, 20]
        },
        {
            "id": "armour_and_evasion2",
            "level_interval": [25, 100],
            "additional_text": "Allocate these nodes and remove projectiles nodes when transitioning to Shield Wall"
        },
        {
            "id": "strength34",
            "level_interval": [25, 100],
            "additional_text": "Allocate these nodes and remove projectiles nodes when transitioning to Shield Wall"
        },
        {
            "id": "strength33_",
            "level_interval": [25, 100],
            "additional_text": "Allocate these nodes and remove projectiles nodes when transitioning to Shield Wall"
        },
        "AscendancyMercenary2Small1",
        "AscendancyMercenary2Small5",
        "AscendancyMercenary2Small6",
        "AscendancyMercenary2Small7",
        "AscendancyMercenary2Notable1",
        "AscendancyMercenary2Notable5",
        "AscendancyMercenary2Notable6",
        "AscendancyMercenary2Notable7"
    ],
    "skills": [
        {
            "id": "Metadata/Items/Gem/SkillGemFragmentationRounds",
            "level_interval": [0, 25],
            "additional_text": "<green>{Use this on Frozen enemies, you can freeze enemies using Permafrost Bolts.}",
            "support_skills":
            [
                "Metadata/Items/Gems/SupportGemPrimalArmament",
                "Metadata/Items/Gems/SupportGemColdInfusion"
            ]
        },
        {
            "id": "Metadata/Items/Gem/SkillGemPermafrostBolts",
            "level_interval": [0, 25],
            "additional_text": "<green>{Use this skill to Freeze enemies.}",
            "support_skills":
            [
                "Metadata/Items/Gems/SupportGemIceBite",
                {
                    "id": "Metadata/Items/Gems/SupportGemPierce",
                    "additional_text": "Freeze Support\n\n<italic>{First uncut support gem should be used for this}"
                }
            ]
        },
        {
            "id": "Metadata/Items/Gem/SkillGemHighVelocityRounds",
            "level_interval": [0, 25],
            "additional_text": "<green>{Use this skill for single-target damage when you have Multishot support.}",
            "support_skills":
            [
                {
                    "id": "Metadata/Items/Gems/SupportGemScattershot",
                    "additional_text": "<italic>{Get this support before Rapid Attacks.}"
                },
                {
                    "id": "Metadata/Items/Gems/SupportGemMartialTempo",
                    "additional_text": "Freeze Support\n\n<italic>{Get this support after Multishot.}"
                }
            ]
        },
        {
            "id": "Metadata/Items/Gem/SkillGemShieldWall",
            "level_interval": [22, 100],
            "additional_text": "Your main damaging skill.\n\n<green>{Place a wall and then detonate using Resonating Shield or Fortifying Cry.}",
            "support_skills":
            [
                "Metadata/Items/Gems/SupportGemBrutality",
                "Metadata/Items/Gems/SupportGemBrutalityTwo",
                "Metadata/Items/Gems/SupportGemBrutalityThree",
                "Metadata/Items/Gem/SupportGemHeft",
                "Metadata/Items/Gems/SupportGemLacerateThree",
                "Metadata/Items/Gems/SupportGemMartialTempo",
                "Metadata/Items/Gems/SupportGemMartialTempoTwo",
                "Metadata/Items/Gems/SupportGemMagnifiedEffectTwo",
                "Metadata/Items/Gems/SupportGemMagnifiedEffect"
            ]
        },
        {
            "id": "Metadata/Items/Gem/SkillGemResonatingShield",
            "level_interval": [22, 100],
            "additional_text": "Utility skill.\n\n<green>{Use this to Fully Break the enemy Armour and build up Rage from socketed Supports.\nCan also use this skill to detonate your Shield Wall if Fortifying Cry is unusable.}",
            "support_skills":
            [
                "Metadata/Items/Gems/SupportGemRage",
                "Metadata/Items/Gems/SupportGemRageTwo",
                "Metadata/Items/Gems/SupportGemRageThree",
                "Metadata/Items/Gems/SupportGemBrutality",
                "Metadata/Items/Gems/SupportGemBrutalityTwo",
                "Metadata/Items/Gems/SupportGemBrutalityThree",
                "Metadata/Items/Gems/SupportGemLifeThiefThree",
                "Metadata/Items/Gems/SupportGemMartialTempo",
                "Metadata/Items/Gems/SupportGemMartialTempoTwo",
                "Metadata/Items/Gems/SupportGemMagnifiedEffect",
                "Metadata/Items/Gems/SupportGemMagnifiedEffectTwo"
            ]
        },
        {
            "id": "Metadata/Items/Gem/SkillGemFortifyingCry",
            "level_interval": [22, 100],
            "additional_text": "<green>{Use this skill to detonate your Shield Wall.}",
            "support_skills":
            [
                "Metadata/Items/Gems/SupportGemEnragedWarcry",
                "Metadata/Items/Gems/SupportGemEnragedWarcryTwo",
                "Metadata/Items/Gems/SupportGemHeavySwing",
                "Metadata/Items/Gems/SupportGemBrutality",
                "Metadata/Items/Gems/SupportGemBrutalityTwo",
                "Metadata/Items/Gems/SupportGemBrutalityThree",
                "Metadata/Items/Gem/SupportGemHeft",
                "Metadata/Items/Gem/SupportGemRagingCry"
            ]
        },
        {
            "id": "Metadata/Items/Gem/SkillGemScavengedPlating",
            "level_interval": [22, 100],
            "additional_text": "<green>{Reserves Spirit, additional defence.}",
            "support_skills":
            [
                "Metadata/Items/Gems/SupportGemPhysicalMastery",
                "Metadata/Items/Gems/SupportGemPersistence",
                "Metadata/Items/Gems/SupportGemPersistenceTwo"
            ]
        },
        {
            "id": "Metadata/Items/Gem/SkillGemMagmaBarrier",
            "level_interval": [22, 100],
            "additional_text": "<green>{Reserves Spirit, additional Block Chance.}",
            "support_skills":
            [
                "Metadata/Items/Gems/SupportGemFireInfusion",
                "Metadata/Items/Gems/SupportGemFirePenetration",
                "Metadata/Items/Gems/SupportGemFirePenetrationTwo",
                "Metadata/Items/Gems/SupportGemCloseCombat",
                "Metadata/Items/Gems/SupportGemCloseCombatTwo",
                "Metadata/Items/Gems/SupportGemPrimalArmament",
                "Metadata/Items/Gems/SupportGemPrimalArmamentTwo"
            ]
        }
    ],
    "items": [
        {
            "inventory_id": "Weapon1",
            "slot_x": 0,
            "slot_y": 0,
            "additional_text": "Use a Crossbow until level 22 when Shield Wall is available.\n\n<red>{Keep a good one-hand mace and Shield in your 2nd weapon slot!}",
            "level_interval": [0, 100]
        }
    ]
}