Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Farm Game 2D in Unity 2022
Introduction
Pixel Art Assets - Educational License (0:49)
How to Get help / Ask Questions
Scripts on Github / Full Project Files (1:11)
Asking for a refund
Project Setup
Downloading The StarterProject (2:34)
[Alternative] Creating a new Project + UnityPackage (3:38)
Exploring Projects assets (3:35)
Creating a new scene (3:59)
Player Movement
Player Avatar Setup (8:42)
New Input System Action Map (6:46)
PlayerInput Component (5:31)
Reading Input through a script (11:07)
Object Composition in our code (3:37)
AgentMover script (6:13)
Player Script (5:46)
Full Project So Far
Player Animations
Player Animations Setup (3:56)
Idle Animation (5:02)
Importing other animations (1:42)
Blend Tree for Animation (7:44)
Movement Animation Blend Tree (4:56)
Animation Component script (6:16)
Connecting Animations to our setup (8:24)
FIX Agent movement Speed (1:30)
Full Project So Far
Review Maybe?
Review Form
Creating a Farm Level
Farm Map Tiles (4:50)
How to use Tile Palette Tools (5:08)
Ground Tilemap (4:51)
How to use Sorting Layers and Custom Axis Sorting (4:46)
Player House (6:15)
Path to the house (3:43)
Decorations Tilemap (4:42)
Decorations - Trees and Flowers (5:16)
Rule Tile - Theory (6:47)
Rule tile - Creating Fence Tile (10:54)
Finished Farm Map (3:24)
How to fix tearing between Tiles (3:50)
Full Project So Far
Camera Setup
Cinemachine Follow Camera (5:16)
Camera Bounds (5:33)
Pixel Perfect Camera component (7:49)
Project Files So Far
Collision detection using Kinematic RigidBody
Kinematic Rigidbody 2D (5:51)
Collision Detection Logic (3:34)
Collision Detection Code (8:23)
Movement using Rigidbody2D (5:18)
Physics challenge answer
Integrating Collision Detection (6:13)
Adding Fence Collider (4:31)
House and Trees collider (7:14)
Collision Layer Masks (6:37)
Camera Confiner Layer Mask (3:17)
Project Files So Far
Object Interaction
Object Interaction input (7:26)
Object to Pick Up (8:37)
PickUp Interaction (6:09)
Interaction Detector (9:45)
Testing PickUp interaction (2:48)
Project Files So Far
Pick Up Animation (8:49)
Playing the Animaiton (5:24)
Blocking player movement (9:57)
Hand Tool (10:45)
Tool abstract class (5:30)
Is selected Tool valid for interaction? (4:42)
IInteractable (3:47)
Project Files So Far
Adding More Feedback
Exploring sound effects (5:28)
Foot Step Sound (8:34)
Connecting Foot Step Sound to Animation (8:37)
Fixing Blend Tree paying 2 animations problem (4:09)
Movement Dust Particles (8:14)
Improving Dust Particles (4:26)
Pick Up Sound Prefab (6:14)
Playing PickUp sound (6:55)
Background Music (14:13)
Project Files So Far
Field interaction - Hoe Tool
Field Interaction Overview (2:09)
Blocking Player Input Fix (6:32)
Field Collider (8:37)
Field Detector (12:58)
Testing field detector (3:13)
Field Position Validator (15:04)
Hand Tools using field detector (12:17)
Project Files So Far
Player Swing Animation overview (4:06)
Player Swing Animation (6:29)
Hoe tool (5:24)
Tool Animation P1 (3:50)
Tool Animation P2 (8:06)
Tool Animator Controller Override (3:23)
Playing Hoe Animation (8:08)
Project Files So Far
Field interaction - Affecting Field
Field Interaction Design (7:12)
Field Renderer (6:37)
Field Controller (9:06)
Making Hoe Tool Affect Field (8:17)
Project Files so far
Field Interaction Preview
How the preview will work (1:01)
Preview Prefab Object (2:15)
Field Selection Preview (11:52)
Modifying Field Detector (10:34)
Making Tools Trigger Field Detection (6:38)
Testing Preview System (1:43)
Project Files so far
Data Storage and ToolsBag
Introduction (4:03)
Item Description (13:45)
Crop Description (9:44)
Item Database Scriptable Object (12:41)
Creating Item Database SO (6:52)
Creating Tools from Data (8:40)
ToolsBag (9:15)
Using ToolsBag (4:29)
Swapping Tools (5:34)
Project Files So Far
Tool UI
Tools UI overview (1:25)
Preparing UI elements (16:10)
ToolSelectionUI (11:59)
Testing (6:54)
Project Files So Far
Inventory
Introduction (1:24)
Record type C# 9 (4:29)
Inventory Class (20:24)
Inventory Bug FIX
Inventory Class P2 (11:45)
Connecting to PickUp interaction (4:44)
PickUp Item Data (8:14)
Testing (5:15)
Project Files So Far
Inventory UI
Introduction (1:33)
Inventory UI Panel (5:53)
Inventory Item UI - item description (13:04)
Inventory Item UI - Scrollbar (10:28)
Project Files So Far
Open Inventory Input (5:53)
UI Input Action Map (8:57)
UI Blocking Player Movement (5:47)
Displaying Data P1 (12:33)
Displaying Data P2 (6:18)
Selecting Items in Inventory UI (23:33)
Testing the UI Selection (12:07)
Selection Outline (12:10)
Scrollbar movement (11:30)
Project Files So Far
Placing Seed
Introduction (1:33)
Seeds Placing Tool (9:38)
Field Data (10:06)
Modifying FieldController (12:02)
FIX Modifying Field Controller
Modifying Tool definition (10:35)
Defining Corn Crop Data (9:52)
Using SeedPlacer tool (12:10)
Crop Renderer (11:09)
Crop Visual Representation (5:59)
Project Files So Far
Review Maybe? (Again?!)
Review Form
Seeds Tool Quantity Implementation
Introduction (1:11)
Reusing Inventory class for Tools (17:41)
Updating Tool State After Use (10:29)
Testing (11:09)
Showing Seeds Quantity in UI (14:26)
Project Files So Far
Time Manager
Introduction (1:41)
Calendar script (9:10)
Calendar Names Helerp (5:12)
Time Manager (23:32)
Time Manager Bug Fix
Time UI Elements (6:35)
Time UI Controller (9:36)
Pause Time SO (9:34)
Project Files So Far
Growing Crops
Introduction (1:31)
Bed Object (7:30)
Sleep Interaction (10:47)
Screen Fadeout (10:34)
Wilting Crops logic (19:19)
Growing Crops - Main Logic (10:22)
Fix - Crop Not reaching Last Sprite
FieldController - Growth Logic Implementation (13:31)
Testing Growth (8:20)
Project Files So Far
Watering Seeds
Introduction (1:46)
Watering Can Tool Animations (8:00)
Player Watering Animation (10:29)
Watering Can Tool Script P1 (15:16)
Watering Can Tool Script P2 (11:40)
Testing Watering Can Tool (7:45)
Project Files So Far
Water Interaction (6:12)
Water Splash Particle System (8:28)
Adding SFX and VFX to watering tool (10:34)
Showing water quantity in UI (6:38)
Water Well Fill In Interaction (15:38)
Tool Animation Speed Matching (4:58)
Project Files so far
Selling Crops
Introduction (3:37)
Adding Money UI (7:13)
Agent Data SO (10:11)
Sell Manager Script (13:30)
Testing Sell System (6:35)
Adding AgentData to Player script (4:43)
Adding Sell Box (7:35)
Sell Box interaction (10:16)
Sell Box UI Setup (10:12)
Sell Box UI - Reusing UI Script (6:09)
Sell Box Controller - Showing Inventory (12:09)
Sell Box Controller - Selecting Items (19:01)
Testing Swap Window logic (9:49)
Putting Items Inside Sell box (15:59)
Project Files So Far
House Scene
Introduction (2:09)
Creating a new scene (13:57)
Finishing House Scene (8:52)
Scene Transition Trigger (14:59)
Scene Transition Manager (6:51)
Farm to House Transition (7:29)
Project Files So far
Save System
Introduction (3:20)
ISavable (6:58)
SaveManager (23:08)
Scene Transition Spawner (11:04)
Testing (2:52)
Project Files So Far
Saving Time (13:41)
Saving Inventory (20:12)
Saving Sell Box (6:04)
Saving Tools (12:57)
Getting Debris Positions (13:21)
Saving Field Controller Data (23:58)
Fix Watered Tiles not chaining (3:05)
Project Files So Far
Main Menu
Introduction (1:31)
Menu Scene (9:53)
Saving Game To File (10:24)
Main Menu Logic (18:55)
Tweaking Players position (15:57)
Selecting Buttons using arrow keys (4:33)
Project Files
Tools Box Storage
Introduction (1:48)
ToolsBox Sprite (8:41)
Tools Box UI (2:53)
Tool Box Logic (8:23)
Saving ToolBox + Fixes (16:13)
Refactoring Sell Box Controller (5:53)
Project Files So Far
Day and Night
Introduction (0:39)
Light 2D (2:47)
Player Light (4:48)
DayNightSystem (18:30)
House Lights (7:43)
Project Files So Far
Weather System
Introduction (2:13)
Rain Particles (6:45)
Rain Drops (6:27)
Weather system Scripts (13:40)
Triggering rain (4:49)
Rain Watering Crops (9:26)
Project Files So Far
Stamina System
Introduction (3:51)
Stamina UI (7:13)
Adding Stamina to AgentDataSO (5:08)
AgentStamina script (12:49)
Making Tools decrease Stamina (11:05)
Testing (4:58)
Project Files So Far
Dialogue / Information System
Introduction (2:30)
Dialogue UI (9:54)
DialogueData script (5:16)
Dialogue UI script (14:28)
Player Information System (12:18)
Project Files So Far
Hotbar / Carrying items
Introduction (2:11)
HotBar UI (5:26)
HotBar Controller (14:31)
HotKeys in New Input System (11:48)
Carry Item Manager (13:37)
Carry Animation P1 (5:39)
Carry Animation P2 (6:50)
Connecting to Player (7:07)
Using Carried Items (10:58)
Project Files So Far
Town Scene
Introduction (0:23)
Duplicating the Farm Scene (4:51)
Challenge: Prepare the Town Scene (7:11)
Adding Farm-Town Transition (6:28)
Project Files So Far
Shop
Introduction (1:27)
FIX FieldController (2:28)
Shop Scene (7:11)
Shop Transition (6:02)
Shop Interaction (14:12)
Project Files So Far
Buying Items
Introduction (1:38)
Store UI (10:12)
Store UI Script (22:45)
StoreController (17:23)
Showing Prices (4:44)
Adding Confirmation Window UI (13:48)
Confirm Purchase Controller (9:12)
Testing (5:57)
Additional Feedback (5:53)
Project Files So Far
Swap items inventory
Introduction (1:00)
Fix - Crop not fully growing (3:41)
Fix - Watering Fully Grown Crop (2:48)
Item Swapper UI (17:14)
Modifying Inventory Controller (10:25)
Project Files So Far
Seeing player behind obstacles (X-Ray)
Introduction (0:25)
Sprite Mask (11:28)
Testing (4:25)
Project Files So Far
Removing Dead Crop
Introduction (0:47)
Removing Crops from Field (7:11)
Modifying Hoe Tool Script (10:44)
Project Files So Far
Last time Review Maybe? :)
Review Form
Extra:
Adding new crop data (9:07)
Publishing to WebGL (itch.io) (11:09)
Teach online with
Testing Watering Can Tool
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock