### Navigation

- index
- Ren'Py Home |
- Ren'Py Documentation

# Achievements

The Achievement module allows the developer to grant achievements to the player, to clear achievements, and to determine if an achievement has been granted. It also allows the recording of progress towards an achievement.

By default, the achievement stores information in the persistent file. If Steam support is available and enabled, achivement information is automatically synchronized with Steam.

`achievement.``clear`(name)

  Clears the achievement with name.

`achievement.``clear_all`()

  Clears all achievements.

`achievement.``grant`(name)

  Grants the achievement with name, if it has not already been granted.

`achievement.``grant_progress`(name, complete, total)

  If complete is less than total, reports progress towards the achievement with name, if that achievement has not been granted.

  Otherwise, grants the achievement with name, if that achievement has not been granted.

`achievement.``has`(name)

  Returne true if the plater has been grnted the achievement with name.

`achievement.``progress`(name, complete, total)

  Reports progress towards the achievement with name, if that achievement has not been granted.

  complete
    An integer giving the number of units completed towards the achievement.
  total
    An integer giving the total number of units required to consider the achievement complete.

`achievement.``register`(name, **kwargs)

  Registers an achievement. Achievements are not required to be registered, but doing so allows one to pass information to the backends.

  name
    The name of the achievement to register.

  The following keyword parameters are optional.

  steam
    The name to use on steam. If not given, defaults to name.

### Navigation

- index
- Ren'Py Home |
- Ren'Py Documentation