I'm a beginner trying to learn Unity by making a simple 2D platformer, but I'm struggling to find tutorials that go beyond basic movement and actually explain how to implement more complex systems like a robust state machine for enemy AI or a save/load system for player progress. Most tutorials I find either stop at the very basics or jump into advanced concepts without clear explanation. For those who are self-taught, what are the best intermediate-level Unity tutorials or learning paths that bridge the gap between beginner projects and creating a fully functional, polished game?
Nice goal. My route was to pick two concrete systems to learn first: a tiny enemy AI with a simple finite-state machine (Idle -> Patrol -> Chase) and a robust save/load for player progress. Then I cherry-picked project-based tutorials that teach those exact pieces instead of broad 'game making' guides. Code Monkey's hands-on Unity AI tutorials plus Unity Learn's mid-level projects (2D platformer, save/load workflows) were the bridge from basics to real, testable systems.
Suggested path: 1) choose your workflow (C# only or light visual scripting). 2) sketch your data models: AI states and transitions; a serializable SaveData class for progress. 3) build a small FSM component for one enemy and wire up data from ScriptableObjects (so you can tweak behavior without touching code). 4) implement save/load using JSONUtility or a small binary format; 5) create a tiny test scene to iterate. Keep it modular so you can reuse AI across enemies and reuse the save system elsewhere.
Good resource short list: Unity Learn's 2D Platformer and 2D Gameplay tracks; Code Monkey's platformer and enemy AI tutorials; Jason Weimann's Unity architecture videos; Catlike Coding's data-oriented tips and ScriptableObject tutorials; Brackeys (quality older tutorials) for solid explanations.
Pro tips for performance and quality: separate logic from rendering; minimize per-frame allocations; cache references; use ScriptableObjects for data; prefer pooling for enemies; test on a few devices early; keep your scene sizes modest; consider a tiny asset pipeline to keep assets decoupled.
Question to tailor: which Unity version and target platform (PC only, or mobile and WebGL)? Do you want a pure code approach or a mix with some visual scripting? Are you okay with pursuing a small 'prototype' before a full game? If you share those, I can map a concrete 4–6 week learning plan with a single project that covers AI FSM and a save/load system.
You're not alone—mid-level is where you truly start owning the game flow. Start small, iterate often, and build aReusable system you can plug into other games.