A rhythm game where you race to tap and hold tiles as they fall in sync with the beat. Land Perfect hits to build your combo multiplier, play through the run without dropping a tile, and see how high you can push your score.
Keyboard support is available: keys 1,2,3,4 correspond to lanes 1,2,3,4.
Play the latest build at: https://briezar.github.io/magic-tiles/
![]() |
![]() |
![]() |
Tiles fall in sync with the music across four lanes. Tap them on time to score, build your combo, and chase perfection. Misses won't end the run. Simple to pick up, hard to master.
| Rhythm Sync | Tiles spawn and fall in sync with the song's BPM |
| Tap Judgement | Four accuracy tiers: Perfect, Great, Cool, and Miss |
| Combo & Multiplier | Consecutive Perfects build a combo that scales your score |
| Game Feel | Hit effects, miss flashes, screen shake, and background pulse |
| Song Selection | Pick from multiple tracks on the main menu |
| Autoplay | Demo mode plays the game automatically |
.sm Beatmap Format |
Charts authored in Arrow Vortex and parsed into ScriptableObjects |
| Data-Driven Architecture | ScriptableObjects handle song metadata, beatmap data, and runtime state |
| Event-Driven Systems | Tile spawning, input, scoring, and UI communicate through events |
| Object Pooling | Tiles are pooled and recycled to avoid runtime allocation |
| URP Shader | Custom HLSL gradient shader for hold note visuals |
| Reactive Gameplay | Pulses, tweens, particle effects will react to your actions |
-
Clone the repository
-
Open in Unity 6000.0.73f1
-
Open the bootstrap scene
- In the Project window, navigate to
Assets/_Project/Scenes/ - Open
Bootstrap
- In the Project window, navigate to
-
Press Play
- Select a song from the main menu and tap tiles as they fall
The project uses a flat, component-based structure with no complex state machines or service locators. Runtime ScriptableObjects handle state across scenes, keeping systems loosely coupled without singletons. Tile spawning, input, scoring, and UI each live in their own MonoBehaviour and communicate through events and direct references.
Songs are charted in Arrow Vortex, a StepMania-compatible editor, and exported as .sm files. A custom parser reads them and converts note data into tile spawn events. Adding a new song is as simple as dropping in a .sm file and audio clip.
Taps are judged by how close they land to the beat: Perfect, Great, Cool, or None. Missing a tile doesn't end the run — it just breaks the combo. The base loop stays accessible since any hit scores something, but chasing accuracy still matters.
Consecutive Perfects build a combo that drives a score multiplier. Any rank below Perfect resets it.
Feedbacks are mostly driven by MMF_Player from the Feel package. Each event — tile tap, combo update, miss, win — has its own dedicated feedback GameObject, making them easy to tune independently.
| Asset | Source | License |
|---|---|---|
| Feel | More Mountains — Unity Asset Store | Paid / Commercial |
| Arrow Vortex | arrowvortex.ddrnl.com | Freeware |
| "IRIS OUT" | Kenshi Yonezu | All rights reserved |
| "Otonoke" | Creepy Nuts | All rights reserved |
| "TEST ME" | Chanmina | All rights reserved |
| SFX | Freesound.org | CC0 |
| Font | Google Fonts — Inter | OFL |
Music Notice: All music tracks are the property of their respective artists and rights holders. They are included solely for non-commercial portfolio demonstration and I do not claim any ownership over them. If you are a rights holder and would like the files removed, please open an issue or contact me directly and I will comply promptly.
Made by Briezar — 2026


