Skip to content

Fix automatic intro skip not triggering in multiplayer - #38232

Draft
intkr wants to merge 5 commits into
ppy:masterfrom
intkr:fix-intro-skip
Draft

Fix automatic intro skip not triggering in multiplayer#38232
intkr wants to merge 5 commits into
ppy:masterfrom
intkr:fix-intro-skip

Conversation

@intkr

@intkr intkr commented Jul 7, 2026

Copy link
Copy Markdown

Closes #36783 and #37906.

Ideally the clock is reset on onGameplayStarted, then the intro is automatically skipped on RequestIntroSkip (from SkipOverlay.SkipWhenReady).
However, if at least one other player stays in PlayerLoader, the players who enter the loaded state first are able to click the skip overlay before the gameplay starts.
This causes the clock to skip the intro first, then reset back to zero as the gameplay starts.

@peppy

peppy commented Jul 10, 2026

Copy link
Copy Markdown
Member

Please add failing test coverage and inline comments explaining what is going on.

Comment thread osu.Game/Screens/OnlinePlay/Multiplayer/MultiplayerPlayer.cs Outdated
@intkr
intkr marked this pull request as draft July 10, 2026 10:00
@intkr

intkr commented Jul 10, 2026

Copy link
Copy Markdown
Author

Test passes on PR / fails on master, but currently has two problems.

  1. The map used in TestBeatmap does not have a skippable intro, and the test will fail from trying to click a nonexistent skip overlay button. I have confirmed the test works by changing the beatmap string locally, but that isn't included in the PR. In the event changing the beatmap is allowed, I think this map with a 6 second intro may be a good alternative.

  2. ServerAPIRoom, the Room used for initializing MultiplayerPlayer in the test scene, doesn't update after the room is created. I was not able to enable auto skip from just calling ChangeSettings().
    The two methods that made it possible was to either create a Room with AutoSkip enabled for JoinRoom(), or use ClientAPIRoom (which does get updated from changing settings) when initializing gameplay instead. PR currently uses the latter but I'm not sure which one I should go with.

Converting to draft until both are resolved.

@intkr
intkr requested a review from peppy July 14, 2026 08:47
@peppy
peppy removed their request for review July 15, 2026 05:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Auto skip intro in multiplayer doesn't work properly

2 participants