Skip to content

Add bookmark feature for replays#37963

Open
antfaia wants to merge 2 commits into
ppy:masterfrom
antfaia:replaybookmark-feature
Open

Add bookmark feature for replays#37963
antfaia wants to merge 2 commits into
ppy:masterfrom
antfaia:replaybookmark-feature

Conversation

@antfaia

@antfaia antfaia commented Jun 1, 2026

Copy link
Copy Markdown
Contributor

Like the bookmark editor system, we implemented a bookmark system for replays.
This could improve the UX when watching replays, allowing players to save a specific playback time.

They work similar to the editor’s system and allow to:

  • add a bookmark (Ctrl+B)
  • remove the nearest bookmark (Ctrl+Shift+B)
  • jump between the previous or next bookmark (Alt+Left /Alt+Right).
    (shortcuts defined by default)

Bookmark logic is managed by ReplayBookmarkController.cs. Bookmarks are persisted in the database, attached to the corresponding score.

Visually, bookmarks appear as small red markers on the song progress bar and work across Argon, Default and Legacy progress bars.

To ensure our feature was functional, we also decided to write some UI (TestSceneReplayBookmark.cs) and Unit tests (ReplayBookmarkDatabaseTests.cs) to validate its functionality and guarantee everything is working as intended.

ReplayBookmarksShowcase.mp4

Players can now set bookmarks while watching
a replay and navigate between them
using keyboard shortcuts:

 Ctrl+B        – add bookmark at current playback position
 Ctrl+Shift+B  – remove nearest bookmark
 Alt+Left      – seek to previous bookmark
 Alt+Right     – seek to next bookmark

Bookmarks are persisted in the database alongside the score.
They appear as small red markers on the song progress bar
across all skin variants (Argon, Default/Triangles, Legacy),
each with its own
dedicated overlay component.

UI (Visual) and Unit tests are included
to validate the feature.

Co-authored-by: António Faia <antonio.faia@tecnico.ulisboa.pt>
@antfaia antfaia changed the title Add replay bookmark feature for replays Add bookmark feature for replays Jun 1, 2026
Co-authored-by: Simão Caixas <simaocaixas@tecnico.ulisboa.pt>
@bdach bdach added area:replay subjective PRs with subjective changes which have not been discussed prior. Need team consensus to proceed. labels Jun 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:replay size/XL subjective PRs with subjective changes which have not been discussed prior. Need team consensus to proceed.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants