Skip to content

Releases: cometmcisaac/hydra-playnite-sync

v1.10.0

Choose a tag to compare

@github-actions github-actions released this 06 Oct 16:51

Hydra Sync 1.10.0

Five known limitations removed: achievements show up without a restart, undo only takes back what
Hydra Sync added, an additive playtime mode, achievement metadata for games with no AppID, and
merging with data Playnite Achievements already has.

What's new

New achievements appear without restarting Playnite

Previously a sync wrote the unlocks and waited for Playnite Achievements to pick them up at its next
start, which meant restarting Playnite to see anything new. Hydra Sync now asks Playnite
Achievements to apply them straight away, and its views refresh without a restart. When Playnite
Achievements can't be reached — not installed, or not loaded yet — nothing changes for the worse:
the file is written and applied at its next start as before, and you get one notification saying so.

Toggle: Show new achievements without restarting Playnite (on by default).

Undo only removes Hydra Sync's contribution

Undo playtime changes… used to put a game's playtime back to the value captured before the
extension first touched it, which also discarded anything Playnite recorded in the meantime. It now
subtracts exactly what Hydra Sync added and keeps the rest, so sessions you played after a sync
survive, undoing twice is harmless, and a later sync is just as undoable as the first. The
confirmation dialog says so.

Additive playtime mode

A new Playtime setting picks the rule:

Mode Behaviour
Hydra wins (replace when larger) (default, unchanged) A game is only ever raised to Hydra's cumulative total, and only when Hydra's is higher
Add Hydra's new playtime since the previous sync Keeps your Playnite total and adds whatever Hydra gained

The additive mode records where Hydra's playtime stood on the first pass and changes nothing on that
pass, so it can never double-count. Switching between the modes is safe for the same reason: the
previous Hydra figure is always recorded.

Achievement metadata for games with no AppID

Games whose AppID can't be discovered (typically non-Steam Hydra entries) had no way to get real
achievement names, descriptions and icons. They're now looked up by title on the store, and the
matching is strict enough that sequels and similarly-named games won't be confused. Lookups are
cached for 30 days, and the definition file in the game folder still wins when there is one.

Merging with Playnite Achievements instead of replacing it

Hydra Sync used to overwrite whatever Playnite Achievements had stored for a game. It now merges:
achievements from other sources are kept, an unlocked achievement never goes back to locked, and
metadata is refreshed only for entries that came from the same source. Unlocks with no metadata
behind them are kept rather than dropped. Toggle: Merge with existing Playnite Achievements
data
(on by default; turn it off for the previous behaviour).

Upgrade notes

  • Nothing is re-synced and no state is lost — upgrading is safe at any time. The first sync after
    updating behaves like any other.
  • If you use the default Hydra wins mode, playtime behaviour is unchanged.
  • Undo now keeps post-sync playtime. If you were relying on undo to also discard sessions played
    after a sync, set Playtime to Add Hydra's new playtime and use undo right after a sync
    instead.
  • Both new achievement settings are on by default, so no action is needed to get the restart-free
    behaviour and merging.
  • In Add Hydra's new playtime mode the first sync for each game records a starting point and adds
    nothing; the sync notification says how many games that applied to.

Install

  1. Download HydraSync-1.10.0.pext from the Releases page.
  2. Double-click it and confirm the update in Playnite, or extract the contents into
    %APPDATA%\Playnite\Extensions\A76358E9-BFA2-4189-B6F3-2307EA4E217B\.
  3. Restart Playnite.

Settings live under Add-ons → Extensions settings → Generic → Hydra Sync. Two in-app reports
(Diagnose achievement sync… and Diagnose HowLongToBeat playtime sync… on a game's context menu)
now also report whether achievements were applied immediately, whether they were merged, and which
playtime mode is active.

Full changelog

1.9.1...v1.10.0

v1.9.1

Choose a tag to compare

@github-actions github-actions released this 06 Oct 16:24

Hydra Sync 1.9.1

Wording cleanup around Undo playtime changes… — no behaviour change.

What's new

Nothing functional: this release only removes wording that referred to builds which are no
longer available, so the docs and the in-app messages describe today's behaviour only.

  • The Undo playtime changes… confirmation dialog no longer mentions older plugin builds.
    It now says what undo does and what happens next: playtime is restored, achievements are
    untouched, and the next sync applies the replace-if-larger rule again from a clean slate.
  • The README no longer references the old additive builds that could double playtime. Undo is
    documented as what it is — a way to put a game's playtime back after a sync.
  • Undo's behaviour is unchanged. Games whose pre-sync value was recorded come back exactly; in
    the rare case where no original was recorded, the value is recovered from how much the plugin
    added and the completion notification labels those games as approximate.

Upgrade notes

None. Install it if you prefer the new wording; if you never open the undo dialog or the README,
1.9.0 behaves identically.

Install

  1. Download HydraSync-1.9.1.pext from the Releases page.
  2. Double-click it and confirm the update in Playnite, or extract the contents into
    %APPDATA%\Playnite\Extensions\A76358E9-BFA2-4189-B6F3-2307EA4E217B\.
  3. Restart Playnite.

Settings live under Add-ons → Extensions settings → Generic → Hydra Sync.

Full changelog

1.9.0...v1.9.1

v1.9.0

Choose a tag to compare

@github-actions github-actions released this 06 Oct 16:07

Hydra Sync 1.9.0

Optional hand-off to HowLongToBeat: when a sync raises a game's playtime, Hydra Sync can now ask the HowLongToBeat extension to submit the new total.

What's new

Push playtime to HowLongToBeat (a new setting, off by default). Once a sync raises a game's playtime, Hydra Sync hands that game to the HowLongToBeat extension and lets it submit the new total — the same call HowLongToBeat makes itself when a game exits. It updates the playtime only, so a background sync doesn't mark the game as "Playing".

  • Only games the sync actually raised are pushed. A game whose playtime was left alone is never submitted.
  • You get a follow-up notification: Hydra Sync → HowLongToBeat: updated 3, skipped 1.
  • Games are skipped rather than guessed at: signed-out accounts, games carrying HowLongToBeat's "ignore playtime sync" tag, and games HowLongToBeat has no data for are all passed over.
  • At most 25 games per sync, because each push is a couple of network round-trips.
  • If the extension isn't installed, you get one notification saying so and nothing else changes.

Two new game context-menu items under Hydra Sync:

Item What it does
Push playtime to HowLongToBeat now Submits the selected games' current playtime immediately, whether or not the setting is on.
Diagnose HowLongToBeat playtime sync… Reports whether the extension is reachable, whether you're logged in, whether it has data for that game, and whether the game is excluded from playtime sync.

How it talks to HowLongToBeat

No reference to HowLongToBeat.dll ships with Hydra Sync. The extension Playnite already loaded is located at runtime and only the playtime call is used; everything else keeps HowLongToBeat's own defaults. If that extension's signature ever changes in a way Hydra Sync can't bind, it disables the automatic push and says so instead of failing a sync.

Upgrade notes

  • Opt-in. The setting starts off, so nothing is sent anywhere after upgrading. Turn it on in the extension's settings panel.
  • Nothing to re-sync and no stored state changes. Existing playtime and achievement syncing behave exactly as before.

Install

  1. Download HydraSync-1.9.0.pext from the releases page.
  2. Double-click it and confirm the install in Playnite — or extract the package (it's a plain zip) into %APPDATA%\Playnite\Extensions\A76358E9-BFA2-4189-B6F3-2307EA4E217B\.
  3. Restart Playnite.

Settings live at Add-ons → Extensions settings → Generic → Hydra Sync.

Full changelog

1.8.0...1.9.0

v1.8.0

Choose a tag to compare

@github-actions github-actions released this 05 Oct 20:20

Hydra Sync 1.8.0

Per-game sync that actually syncs on click — plus opt-in per-game modes for automatic passes.

What's new

Per-game sync happens immediately

Right-click any game (or multi-select several) → Hydra Sync and you get one-shot
actions that run right now, for just those games:

  • Sync playtime now
  • Sync achievements now
  • Sync playtime & achievements now

Each action reads Hydra for the selected games, applies the change, and reports the result
in a completion notification — including when no Hydra match was found, so you know
nothing was silently skipped. These actions work even when the global Sync playtime /
Sync achievements switches are off, and even when the game has a stored mode that
would normally exclude that kind of sync. Asking for a specific game now does exactly that.

Per-game modes are still there (opt-in)

The stored per-game modes remain available as separate items, for when you want a game to
always (or never) take part in the automatic and full-library passes:

  • Always sync: playtime and achievements — both (default, also clears an override)
  • Always sync: playtime only
  • Always sync: achievements only

The active one is marked (current), modes are stored per game in sync_state.json, and
the global switches stay master switches — a stored mode can only narrow what happens.
The main menu (@Hydra Sync → Sync now) still syncs the whole library.

Upgrade notes

  • The old game-menu item "Sync Hydra playtime & achievements" is gone. It ran a
    full-library sync regardless of what you had selected; use Sync playtime & achievements now to sync just the selected game(s), or Sync now in the
    @Hydra Sync main menu to sync everything.
  • Nothing to re-sync and no database changes — existing stored modes keep working.
  • As of 1.6.0, automatic syncing is opt-in; enable Auto-sync in the extension settings
    if you want the scheduled passes, otherwise syncing happens on demand.

Install

  1. Download HydraSync-1.8.0.pext from the assets below.
  2. Double-click it and confirm the install (or extract it into
    %APPDATA%\Playnite\Extensions\A76358E9-BFA2-4189-B6F3-2307EA4E217B\).
  3. Restart Playnite.

Settings live at Add-ons → Extensions settings → Generic → Hydra Sync.

Full changelog

v1.7.0...v1.8.0

v1.7.0

Choose a tag to compare

@github-actions github-actions released this 05 Oct 18:36

Hydra Sync 1.7.0

Per-game control over what Hydra Sync updates, so games can sync playtime, achievements, or both.

What's new

Per-game sync modes

Right-click any game (or multi-select several) and pick from the Hydra Sync section:

Menu item What gets synced for the selected game(s)
Sync both playtime and achievements Playtime and achievements — the default, and selecting it clears a previous override
Sync playtime only Only playtime is updated
Sync achievements only Only achievements are updated
  • The active mode for the selection is labelled (current) in the menu.
  • Modes are stored per game in sync_state.json and survive restarts.
  • The sync notification now reports how many games were skipped because of an override
    (e.g. "per-game sync mode: achievements skipped on 3 game(s)").
  • Diagnose achievement sync… (game context menu) includes the game's current mode.
  • Global Sync playtime / Sync achievements switches are still master switches:
    a per-game mode can only narrow what happens, never re-enable something switched off.

Upgrade notes

  • If you relied on automatic syncing, note that auto-sync is opt-in since 1.6.0 — enable
    Auto-sync in the extension settings if you want the scheduled passes back.
  • No database changes or re-sync required; existing per-game data keeps syncing both ways
    until you set a mode for it.

Install

  1. Download HydraSync-1.7.0.pext from the assets below.
  2. Double-click it in Playnite and confirm the update (Playnite offers to restart), or
    extract it to %APPDATA%\Playnite\Extensions\A76358E9-BFA2-4189-B6F3-2307EA4E217B\.
  3. Restart Playnite.

Settings live under Add-ons → Extensions settings → Generic → Hydra Sync.
Full changelog: v1.6.0...v1.7.0

v1.6.0

Choose a tag to compare

@github-actions github-actions released this 05 Oct 18:25

Hydra Sync 1.6.0

Automatic syncing is now opt-in: nothing runs on a timer until you turn it on.

What's new

Auto-sync switch (off by default)

A new Auto-sync setting controls every automatic pass:

  • Off (default) — Hydra Sync only syncs when you ask it to, via Sync now in the
    @Hydra Sync main menu or the per-game menu actions
  • On — one pass runs shortly after Playnite starts, then repeats on the interval you
    set (1–1440 minutes, default 15)

Turning it on or off, or changing the interval, takes effect as soon as you save the
settings — the timer is rescheduled without needing a Playnite restart. The interval
field is only meaningful while Auto-sync is enabled.

Why it changed

Playtime and achievements are both replaced with Hydra's values when Hydra has more, so
scheduled passes can change your library without you being at the keyboard. Defaulting
them off keeps the extension predictable and quiet; if you want a hands-off library,
flip the switch once and it stays that way.

Upgrade notes

  • Behavior change: automatic (timer-based) syncing no longer runs after this update
    until you enable Auto-sync in Add-ons → Extensions settings → Generic → Hydra
    Sync
    . Manual syncing is unchanged.
  • Nothing to re-sync. Existing playtime state, per-game data and settings values are kept
    as-is; enabling Auto-sync resumes scheduled passes immediately after saving.

Install

  1. Download HydraSync-1.6.0.pext from the assets below.
  2. Double-click it and confirm the install (or extract it into
    %APPDATA%\Playnite\Extensions\A76358E9-BFA2-4189-B6F3-2307EA4E217B\).
  3. Restart Playnite.

Settings live at Add-ons → Extensions settings → Generic → Hydra Sync.

Full changelog

v1.5.0...v1.6.0

v1.5.0

Choose a tag to compare

@github-actions github-actions released this 05 Oct 01:45

Hydra Sync 1.5.0

Built-in updates: Hydra Sync now tells you when a new version exists and installs it in a couple of clicks.

What's new

Update checks inside Playnite

About two minutes after Playnite starts, Hydra Sync quietly checks the project's GitHub
releases. If a newer version exists you get a notification telling you the installed and
available versions, and a new main-menu item appears under @ Hydra Sync:

  • Download & install update (vX.Y.Z)… downloads the .pext and hands it to Playnite's
    own update flow — Playnite asks you to confirm, then offers the restart that applies it
  • The check can be turned off with Check for Hydra Sync updates at startup in the
    extension settings
  • Checks run at most once per Playnite session and only for GitHub releases, so nothing
    else changes about how the extension talks to the network

Ready for Playnite's official add-on catalog

The repository now carries an installer manifest that Playnite's add-on browser uses for
update information, and CI keeps it up to date automatically on every release, plus a
prepared catalog entry. Listing in Playnite's Add-ons → Browse/Updates depends on the
Playnite add-on database accepting new submissions — that's a Playnite-side decision, not
something this extension controls — so the in-app updater above is the mechanism to rely
on for now.

Upgrade notes

  • Install 1.5.0 to get in-app update notifications from here on; until then, updates come
    from the GitHub releases page.
  • Nothing to re-sync, no settings are reset, and the new update check is a setting you
    control (on by default).
  • As of this version, automatic syncing still runs on a timer by default. It becomes
    opt-in in 1.6.0.

Install

  1. Download HydraSync-1.5.0.pext from the assets below.
  2. Double-click it and confirm the install (or extract it into
    %APPDATA%\Playnite\Extensions\A76358E9-BFA2-4189-B6F3-2307EA4E217B\).
  3. Restart Playnite.

Settings live at Add-ons → Extensions settings → Generic → Hydra Sync.

Full changelog

v1.4.1...v1.5.0

v1.4.1

Choose a tag to compare

@github-actions github-actions released this 05 Oct 01:29

Hydra Sync 1.4.1

The settings page finally shows up in Playnite — plus releases are now built and published automatically.

What's new

Settings appear where Playnite lists extension settings

Playnite only offers a settings page for a generic extension when that extension declares
it has settings. Hydra Sync now does, so its settings are listed under:

Add-ons → Extensions settings → Generic → Hydra Sync

If you previously installed Hydra Sync and looked in Playnite's settings tree without
finding it, that's why — it was never going to appear there before. All existing settings
(including the stored playtime values and the Undo playtime changes… button) work
exactly as before.

Releases build and publish themselves

Tagged versions now go through GitHub Actions on Windows: the workflow verifies that the
tag matches the version in extension.yaml, builds the extension, packages the .pext
and attaches it to the GitHub release, then records the release in the installer manifest
used by Playnite's add-on catalog. Every future release is one bump + one tag.

Upgrade notes

  • Restart Playnite after updating so the new extension is picked up.
  • Nothing to re-sync and no settings are reset by this update.

Install

  1. Download HydraSync-1.4.1.pext from the assets below.
  2. Double-click it and confirm the install (or extract it into
    %APPDATA%\Playnite\Extensions\A76358E9-BFA2-4189-B6F3-2307EA4E217B\).
  3. Restart Playnite.

Settings live at Add-ons → Extensions settings → Generic → Hydra Sync.

Full changelog

v1.4.0...v1.4.1

v1.4.0

Choose a tag to compare

@cometmcisaac cometmcisaac released this 05 Oct 01:16

Hydra Sync 1.4.0

First public release: Hydra Launcher playtime and achievements flowing into Playnite.

What's new

Playtime that syncs instead of stacking

Hydra tracks how long you've played each game. Hydra Sync reads those totals and updates
Playnite's playtime to match — but only when Hydra's number is actually higher, so a
game that Playnite already tracks well is never inflated by a second counting pass.

  • Game.Playtime is raised to Hydra's total (in seconds) when Hydra has more time
  • Last activity moves forward to Hydra's last-played timestamp, never backwards
  • Already-in-sync games are left untouched, so repeat syncs are harmless

If a value was replaced that you want back, use Undo playtime changes… in the
extension settings — it restores the pre-sync values (exactly for syncs done with this
version or newer).

Achievements, read from the files already on disk

Achievement unlocks are read from the achievement files your games already write on disk
(same file locations Hydra itself reads), then handed to the Playnite Achievements
extension, where they show up as a normal Steam-sourced achievement list:

  • Steam-sourced metadata — names, descriptions and icons — is resolved from local
    steam_settings definitions first, then optionally the Steam Web API
    (add your key in the settings), then the public store API
  • Progress appears in Playnite Achievements the next time Playnite starts, because that's
    when it imports the data
  • A per-game Diagnose achievement sync… report shows exactly which files were found,
    which unlocks were parsed, and whether anything is waiting for the import

Finds Hydra automatically

  • Auto-detects the Hydra database under %APPDATA%\Hydra and %APPDATA%\hydralauncher
    (portable/older installs included), or point it at a custom location
  • Matches games by Steam AppID first and by normalized title second
  • Syncs games you already have in Playnite — it never adds new titles to your library

Getting syncs to happen

  • Sync now in the Playnite main menu under @Hydra Sync runs a full pass immediately
  • A background timer also ran a pass shortly after Playnite started and then on an
    interval (see the 1.6.0 notes — automatic syncing became opt-in)
  • Main menu, settings and per-game diagnostics all live under the Hydra Sync section

Upgrade notes

  • First public release — no upgrade path needed.
  • Existing installs from earlier builds: nothing to re-sync, the plugin state file is
    reused as-is.
  • Automatic syncing is on by default in this version. It became opt-in in 1.6.0; if
    you upgrade, enable Auto-sync in the settings to keep scheduled passes running.

Install

  1. Download HydraSync-1.4.0.pext from the assets below.
  2. Double-click it and confirm the install (or extract it into
    %APPDATA%\Playnite\Extensions\A76358E9-BFA2-4189-B6F3-2307EA4E217B\).
  3. Restart Playnite.

Settings live at Add-ons → Extensions settings → Generic → Hydra Sync.

Full changelog

https://github.com/cometmcisaac/hydra-playnite-sync/releases/tag/v1.4.0