// the find
Ordyns/MakeNewWay
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.