UNITY / C# / ESP32

RFID platformer

I made this for a hackathon. Scanning a physical token changes which ability you can use in the game.

PROJECTSolo hackathon build
FIRST VERSION2–3 days
Play in your browser ↗
ABILITY SELECT01 / 04
Dash

Scan a token or use the keyboard to change abilities in the game.

The game

It’s a 2D speedrun platformer with four abilities: dash, wall jump, gravity flip, and time stop. You can switch between them using RFID tokens or a regular keyboard.

The movement has acceleration, coyote time, jump buffering, and variable jump height. There’s also a timer, a local leaderboard, and a ghost replay.

The controller

An MFRC522 reader scans the tokens. The ESP32 sends a number key over Bluetooth, and Unity uses that key to select an ability.

RFID tokenMFRC522 reader + ESP32Bluetooth keyboard inputUnity

The ESP32 acts as a keyboard, so the game doesn’t need a separate input system for the hardware.

What’s unfinished

Crush detection, resets, and some race and leaderboard edge cases still need work. The repository has more recent changes than some of the exported builds; the README has the development notes and known issues.