finds.dev← search

// the find

Ordyns/MakeNewWay

★ 59 · C# · NOASSERTION · updated Oct 2022

Beautiful mobile puzzle

A complete Unity mobile puzzle game where players move and rotate island pieces to connect a path. It's a shipped product (available on Google Play) with 24 hand-crafted levels, open-sourced as a portfolio/learning reference. Primarily useful for Unity developers studying how to structure a small mobile game with DI via Zenject.

- Uses Zenject/Extenject for dependency injection, which is a legitimate architectural choice you don't often see in solo Unity projects — the ProjectContext/SceneContext setup gives a decent real-world example of DI in games.

- The level creation workflow is well thought out: scene-per-level with a template, inspector-driven island configuration, and explicit rules for numbering/ordering. The GIF demos in the README actually show it working.

- Performance numbers in the README are a nice touch — actual device names, FPS, and frame times rather than vague claims. Render scale at 0.75 trade-off is documented.

- DOTween integration for animations and NaughtyAttributes for inspector ergonomics are both solid, widely-used choices that keep the codebase lean rather than reinventing wheels.

- Firebase package was stripped to hide private data, and ads were temporarily removed — so two of the four systems described in the README are either missing or stubbed out. You can't run a complete integration locally without significant reconstruction.

- Pinned to Unity 2020.3.11f1, which is years old. Zenject/Extenject has also had compatibility issues with newer Unity versions, so upgrading this project to anything current will likely require non-trivial fixes.

- No automated tests for game logic — the only tests present are NaughtyAttributes' own editor tests that came bundled with the package. Path-connection validation, step counting, and level completion logic are all untested.

- Level count and levels-with-bonus list are hardcoded by hand in a prefab (ProjectContext.prefab). Adding a level requires manually editing a counter in a shared prefab, which is an easy source of bugs and merge conflicts if more than one person works on this.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →