This repo follows the 10h+ Unity tutorial by Code Monkey
Code Monkey Youtube video link
- 00:00:00 Intro, Overview
- Summary of tutorial chapters, links to website, etc. - 00:12:24 Final Game Preview
- Overcooked like demo - 00:18:13 What you Should Know
- 00:20:28 Create Project
- 3D (URP), check parameters - 00:25:21 Unity Layout
- Windows, Logs options - 00:32:02 Visual Studio
- Package Unity, Viasfora extension, coding style - 00:35:39 Code Style, Naming Rules
- PascalCase, CamelCase, SnakeCase - 00:39:30 Importing Assets
- 00:41:19 Post Processing
- Different effects - 00:55:47 Character Controller
- Separate logic from visual in hierarchy
- Mind the input vector magnitude
- Time.deltaTime - 01:14:50 Character Visual, Rotation
- Child object doesn't move - 01:22:59 Animations
- Separate Animation from logic, with new MonoBehavior - 01:42:42 Cinemachine
- Virtual Camera with lots of effects - 01:48:32 Input System Refactor
- Import input package
- InputActions methods
- Binding for gamepad - 02:04:08 Collision Detection
- Physics.Raycast(), better : Physics.CapsuleCast()
- Make smooth movement while diagonaling ! - 02:17:02 Clear Counter
- Separate logic from visual
- Dont use Tags !
- Raycast / RaycastAll with Layermask - 02:38:18 Interact Action, C# Events
- EventHandler - 02:47:42 Selected Counter Visual, Singleton Pattern
- Custom EventArgs
- Awake:parent initialisations / Start:children subscriptions - 03:11:18 Kitchen Object, Scriptable Objects
- Instantiate
- ScriptableObjects - 03:24:46 Kitchen Object Parent
- Spawn kitchen objects from counter to another counter - 03:37:47 Player Pick up, C# Interfaces
- Player & Counters implement same interface ! - 03:49:23 Container Counter
- BaseCounter inheritance
- Basic animator - 04:13:02 Player Pick up, Drop Objects
- Prefab variants, with SCriptableObjects - 04:23:37 Cutting Counter, Interact Alternate
- Add more input - 04:37:10 Cutting Recipe SO
- Not all objects can be cut ! - 04:46:33 Cutting Progress, World Canvas
- Canvas, Image.FillAmount & EventHandler - 05:05:51 Look At Camera
- LateUpdate(), Camera.main is cached - 05:14:24 Trash Counter
- Reuse of inheritance previously done ! - 05:19:33 Stove Counter, State Machine
- Simple States (switch)
- Visual Particles Effect
- Progress Bar interface with EventHandler - 05:56:04 Plates Counter
- Visual dummies different from real spawns - 06:08:05 Plate Pick up Objects
- Both ways : plate on counter & ingredient on counter - 06:22:10 Plate Complete Visual
- Serializable a struct to expose in editor - 06:30:19 Plate World UI Icons
- Canvas UI icons, with a template (no prefab) - 06:44:24 Delivery Counter, Shader Graph
- Shader Graph gives a lot of possibilities ! - 07:05:45 Delivery Manager
- Smart use of ScriptableObjects - 07:21:20 Delivery Manager UI
- Use of UI templates (everytime, destroy old & spawn new ones)
- EventHandlers all the way ! - 07:39:24 Music
- Audio Source / Audio Listener
- Audio Mixer - 07:43:22 Sound Effects
- SoundManager with others particular classes
- AudioSource.PlayClipAtPoint with ScriptableObjects - 08:06:36 Game Start
- GameManager with states
- New TextMeshPro material !
- EventHandlers, Canvas - 08:21:20 Game Over
- Countdown to Game Over with Radial filled image - 08:30:13 Main Menu, Loading
- Static class (instead of DontDestroyOnLoad)
- Intermediate Loading Scene - 08:48:43 Pause, Clear Statics
- Static events keep subscribers between scence loads ! - 09:07:18 Options, Audio Levels
- Save with PlayerPrefs - 09:22:20 Options, Key Rebinding
- Use of PlayerInputActions functions - 09:45:29 Controller Input, Menu Navigation
- Use of EventSystem & PlayerInputActions - 10:00:36 Polish
- Particles for footsteps - TutorialUI with keys (not done) - Animation & Sound for countdown (not completed) - Stove Burn Warning, UI with animation & sound (not done) - UI for delivered meals (correct & incorrect) (not done) - 10:44:01 Final Game
- Summary of all features learned - 10:47:30 CONGRATULATIONS!