# Sub Achievements

**URL:** https://heroiclabs.com/docs/hiro/concepts/achievements/sub-achievements/
**Summary:** Sub achievements are nested, hierarchical achievements that can be used for progressive rewards.
**Keywords:** achievement, player progression
**Categories:** hiro, sub-achievements, achievements

---


# Sub Achievements

![Sub achievements are used to reward players for completing multiple achievements in Guild Wars 2 by ArenaNet.]({{< fingerprint_image "/images/pages/hiro/concepts/sub-achievements.png" >}})

Sub achievements can be used to enhance the player experience by creating a reward ladder, with each sub achievement granting an increasingly valuable reward as the player progresses.

Sub achievements belong to a parent achievement and can have their own associated reward, and a "total completion" reward for when all sub achievements have been completed. For example, the parent achievement could be "Complete this level" and the sub achievements could be "Complete this level with 3 stars", "Complete this level with 4 stars", and "Complete this level with 5 stars".

## Customization Parameters

```json
{
  "achievements": {
    "adventureGuideVolumeOne": {
      "auto_claim": false,
      "auto_claim_total": false,
      "auto_reset": false,
      "category": "Adventure Guide",
      "count": 0,
      "description": "Complete 14 of the 16 Adventure Guide: Volume One achievements.",
      "reset_cronexpr": "* * * * *",
      "duration_sec": 86400,
      "max_count": 1,
      "name": "Adventure Guide: Volume One",
      "reward": {},
      "total_reward": {
        "guaranteed": {
          "currencies": {
            "gold": {
              "min": 100
            }
          },
          "items": {
            "hero_card": {
              "min": 1,
              "max": 5
            }
          }
        }
      },
      "additional_properties": {
        "propertyName": "value"
      },
      "sub_achievements": {
        "defeatingEnemiesI": {
          "auto_claim": true,
          "category": "Adventure Guide: Volume One",
          "count": 0,
          "description": "Defeat 10 enemies",
          "reset_cronexpr": "* * * * *",
          "duration_sec": 0,
          "max_count": 1,
          "name": "Defeating Enemies I",
          "reward": {
            "guaranteed": {
              "currencies": {
                "gold": {
                  "min": 100
                }
              },
              "items": {
                "hero_card": {
                  "min": 1,
                  "max": 5
                }
              }
            }
          },
          "additional_properties": {
            "propertyName": "value"
          }
        },
        "lootingEnemiesI": {
          "auto_claim": true,
          "category": "Adventure Guide: Volume One",
          "count": 0,
          "description": "Loot 10 enemies",
          "reset_cronexpr": "* * * * *",
          "duration_sec": 0,
          "max_count": 1,
          "name": "Looting Enemies I",
          "reward": {
            "guaranteed": {
              "currencies": {
                "gold": {
                  "min": 100
                }
              },
              "items": {
                "hero_card": {
                  "min": 1,
                  "max": 5
                }
              }
            }
          },
          "additional_properties": {
            "propertyName": "value"
          }
        },
        "usingWaypointsI": {
          "auto_claim": true,
          "category": "Adventure Guide: Volume One",
          "count": 0,
          "description": "Use 10 waypoints",
          "reset_cronexpr": "* * * * *",
          "duration_sec": 0,
          "max_count": 1,
          "name": "Using Waypoints I",
          "reward": {},
          "additional_properties": {
            "propertyName": "value"
          }
        }
      }
    }
  }
}
```

Each individual sub-achievement is keyed by id and may define the following:

## Sub Achievement

{{< table name="gdk.concepts.achievements.sub-achievement" >}}

## Sub-achievement response fields

Sub-achievement objects returned by the server include the following read-only fields:

| Field | Type | Description |
|---|---|---|
| `is_active` | boolean | Whether this sub-achievement's active phase is currently in effect. Inherits timing from the parent achievement's `start_time_sec` and `end_time_sec`, combined with the sub-achievement's own `duration_sec`. |
| `update_time_sec` | integer | Unix timestamp (seconds) of the last time this sub-achievement's progress was written to storage. |