This is a demonstration of how to sync notes in a rhythm game with the timer regardless of the speed. Try it yourself! Change the _travelTime to make the notes go faster or slower. You will see that the time at which they reach the judgement line will not change even if you modify _travelTime while the project is running. =====How does it work?===== In rhythm games, it's a good idea to make everything dependent on the timer. This means that the position of notes, judgement result, etc. are calculated based on the timer. It shouldn't be based on distance, wait blocks, or anything else; just the timer and timer alone. For example, how does the project know when to spawn a note? The travel time denotes the time needed for a note to reach the judgement line from the bottom of the screen, and its default value is 1.08 seconds. If a note is supposed to reach the judgement line at timer = 1.5 seconds, it will spawn at timer = 1.5 - 1.08 = 0.42 seconds. Another example is determining the y position of each note. This can be achieved using a simple linear equation where y = bottom of the screen when timer = spawn time and y = judgement line when timer = correct judgement time of the note. With this, I don't have to care about the speed of the notes. I can make them as fast or slow as I want, and they will still reach the judgement line at the correct times. I can even change the FPS and they won't go out of sync (try it yourself!). If I'm feeling fancy, I can even make the note follow a squiggly path before reaching the judgement line by simply changing the equation that governs the position of the notes.
Read comments inside to modify the game.