We may earn an affiliate commission when you visit our partners.
James Doyle

Learn how to create and program your very own farming game using Unity, an industry-standard game development program used by large gaming studios and indie developers across the world.

In this course you won’t just be learning programming concepts, but tying these concepts to real game development uses. You will have access to a course forum where you can discuss the topics covered in the course as well as the next steps to take once the course is complete.

Read more

Learn how to create and program your very own farming game using Unity, an industry-standard game development program used by large gaming studios and indie developers across the world.

In this course you won’t just be learning programming concepts, but tying these concepts to real game development uses. You will have access to a course forum where you can discuss the topics covered in the course as well as the next steps to take once the course is complete.

This course has been designed to be easily understandable to everyone, so whether you’re a complete beginner, an artist looking to expand their game development range or a programmer interested in understanding game design, this course will help you gain a greater understanding of development.

At the end of this course you will have developed the ability to understand such game elements as:

  • Generating a grid to plant on

  • Buying and selling seeds and crops

  • Switching between various tools

  • Full player movement

  • A complete time and day progression system

  • Planting and growing crops

  • Targeting points in the grid

  • An inventory system

  • Tracking Money

  • Full Menu and Audio systems

  • and much more...

The course also includes a complete version of the project to use for your own reference to ensure everything in your game works as it should.

Start learning today and let me help you become a game developer.

Enroll now

What's inside

Learning objectives

  • Learn c#, a modern versatile programming language
  • Understand the capabilities of game development in unity
  • Develop strong and transferrable problem solving skills
  • Gain a complete understanding of the game development process
  • Learn how object oriented programming works in practice

Syllabus

Introduction
Project Assets
Getting Started
Setting Up The Project
Read more
Tiles & Tilemaps
Creating Tiles
Using Tilemaps For The Ground
The Player
Setting Up The Player
Setting Up Our First Script
Moving The Player
Controlling The Player
Limiting Diagonal movement
Setting Up Animations
Making The Animator Work
Flipping The Player
The Camera
Making The Camera Follow The Player
Keeping The Camera Confined
Showing The Correct Visible Area
Keeping The Player Confined
Creating Hard Objects with the tilemap
Fixing Stray Lines
Ploughing
Creating a planting block
Showing Growth
Making The Player Plough
Managing Tools
Setting Up Tools
Using Switch Statements
Displaying Tools
Displaying Selected Tool
Making The Player Update UI
Updating At The Start
Managing Crops
Watering The Soil
Animating Tools
Limiting Movement While Using Tools
Planting Crops
Making Crops Grow
Harvesting Crops
Planting On A Grid
Setting up block positions
Getting The Grid Size
Filling The Grid
Tracking Grid Blocks
Preventing Blocks Spawning
Targetting
Adding A Target Indicator
Adjusting The Indicator
Getting A Block With The Indicator
Clearing The Grid
Moving Indoors
Creating An Indoor Area
Switching Scenes
Bringing The Player
Preventing Duplicate Players
Switching Between Multiple Areas
Storing Information
Keeping The Plant Grid
Updating The Information
Getting Information Back To The Plant Grid
Growing Plants From Another Scene
Sleeping In A Bed
BUGFIX: Using The Tool With No Grid
Controlling Time & Days
Controlling Time
Displaying Time
Start And End The Day
Creating A Day End Scene
Waking Up Beside Bed
More Crops
Adding Different Kinds Of Crop
Planting Different Crop
Tracking Seeds & Crops Harvested
Randomising Growth Chances
Reverting Soil
Inventory
Setting Up Inventory
Controlling The Inventory
Displaying Seeds
Making Seeds Selectable
Stop The Player Moving
Displaying Crops
The Shop
Setting Up Shop
Tracking Money & Adding Plant Prices
Updating Seeds
Buying Seeds
Displaying Money
Updating Crops
Selling Crops
Activating The Shop
Menus & Sounds
Adding A Title Screen
Making It Look Nicer
Pausing The Game
Adding Music
Adding Sound Effects
Finishing Up

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Uses Unity 6, which is an industry-standard game engine used by both large studios and indie developers, making it a relevant skill for aspiring game developers
Teaches C#, a versatile and modern programming language widely used in game development and other software applications, providing learners with valuable and transferable skills
Covers a wide range of game development elements, including grid generation, buying/selling, tool switching, player movement, time progression, planting, inventory, menus, and audio systems
Includes a complete version of the project for reference, which helps learners ensure their game functions correctly and provides a practical learning aid
Focuses on object-oriented programming in a practical context, which helps learners understand how to apply these concepts to real-world game development scenarios

Save this course

Save Learn To Create A Farming Game With Unity 6 & C# to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Learn To Create A Farming Game With Unity 6 & C# with these activities:
Brush Up on C# Fundamentals
Reviewing C# fundamentals will provide a solid base for understanding the scripting aspects of the course.
Show steps
  • Review basic syntax and data types.
  • Practice writing simple programs.
  • Familiarize yourself with object-oriented programming concepts.
Review 'C# 8.0 and .NET Core 3.0 – Modern Cross-Platform Development'
Reading this book will help you gain a deeper understanding of C# and .NET Core, which are used extensively in Unity game development.
Show steps
  • Read the chapters on C# syntax and object-oriented programming.
  • Study the examples related to .NET Core.
Follow Unity Tilemap Tutorials
Following tutorials on Unity's Tilemap system will help you better understand how to create and manage game environments.
Show steps
  • Search for beginner-friendly Tilemap tutorials on YouTube or the Unity Learn platform.
  • Follow along with the tutorials, creating your own Tilemaps.
  • Experiment with different Tilemap features and settings.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Create a Simple Inventory System
Building a basic inventory system will reinforce your understanding of data structures and UI management in Unity.
Show steps
  • Design the data structure for storing inventory items.
  • Implement UI elements for displaying the inventory.
  • Write scripts for adding and removing items from the inventory.
  • Test the inventory system thoroughly.
Review 'Game Programming Patterns'
Reading this book will help you understand common design patterns used in game development, leading to cleaner and more maintainable code.
Show steps
  • Read the chapters on commonly used game programming patterns.
  • Identify opportunities to apply these patterns in your farming game project.
Document Your Farming Game Progress
Creating a blog or video series documenting your progress will help solidify your understanding and allow you to share your knowledge with others.
Show steps
  • Choose a platform for documenting your progress (blog, YouTube, etc.).
  • Regularly update your content with new features and challenges.
  • Share your content with the course community.
Contribute to a Unity Asset
Contributing to an open-source Unity asset will provide valuable experience in collaborative development and expose you to different coding styles.
Show steps
  • Find an open-source Unity asset on GitHub or GitLab.
  • Identify a bug or feature to work on.
  • Submit a pull request with your changes.

Career center

Learners who complete Learn To Create A Farming Game With Unity 6 & C# will develop knowledge and skills that may be useful to these careers:
Unity Developer
A Unity developer uses the Unity engine to create interactive applications and games. This role often requires expertise in C# programming and a firm grasp of game development concepts. This course specifically works with Unity and C#, helping participants to become a Unity developer. It teaches the development of a complete farming game, covering vital aspects like creating interactive elements, user interfaces, and implementing game logic. This hands-on approach ensures that someone who takes this course emerges with a solid foundation in Unity development.
Game Developer
A game developer is a software engineer who designs, develops, and tests video games. The role involves a deep understanding of game design principles and programming languages. This course, which focuses on creating a farming game using Unity and C#, directly helps build a foundation for a career as a game developer. The course provides practical experience with core game development elements like player movement, inventory systems, and menu design. These skills are essential for any game developer, making this course a valuable step toward this career goal.
Gameplay Programmer
A gameplay programmer focuses on implementing the core game mechanics and player interactions. This role requires a strong understanding of C# and the Unity engine. This course directly addresses the needs of a gameplay programmer by covering a broad range of game mechanics using Unity and C#, from player movement and tool use to inventory and time systems. The course gives a practical, hands-on experience that is very valuable in preparing for this role.
Indie Game Developer
An indie game developer creates games independently, often handling all aspects of game development. This role requires versatility and a broad range of skills, from programming to design and art. Through the course, a prospective indie game developer may gain direct experience in both programming and game mechanics using Unity and C#, as they will create an entire farming game. This experience helps build a foundation for someone wanting to enter the indie game development scene.
Mobile Game Developer
Mobile game developers specialize in creating games for smartphones and tablets. The skills gained from this course are highly transferable to mobile game development. Although the course uses Unity, which allows for cross-platform development, the fundamental skills in C# and game mechanics help build a foundation in mobile game development. Learning how to build game structure and logic using Unity and C# may provide valuable experience for someone entering this career field.
Software Engineer
Software engineers design, develop, and maintain software applications. This role emphasizes problem-solving and programming skills. While this course focuses on game development, the underlying principles of coding, debugging, and software architecture that you gain in this course directly translate to the role of a software engineer. The course also provides practice in developing systematic solutions, and it gives its learners a chance to build an application from beginning to end, which makes it a useful option for anyone entering the field of software engineering.
Virtual Reality Developer
A virtual reality developer builds immersive digital experiences using platforms like Unity. This role requires a strong grasp of spatial and interactive design principles. This course, which teaches the development of an entire game using Unity and C#, is a helpful starting point for working in VR development. The course is particularly helpful in teaching how to create engaging mechanics and environments that are similar to those in VR development.
Game Designer
A game designer is responsible for creating the game's vision, mechanics, and overall experience. While this course focuses on the technical aspects of game development, understanding the mechanics of how a game works is critical for any game designer. This course demonstrates how to implement key game mechanics, such as player movement, inventory, and time progression. The course may be useful to aspiring game designers who wish to see a game design come to life.
Educational Game Developer
An educational game developer designs games that are both entertaining and educational. This course may be useful for a prospective educational game developer, especially if they wish to understand the technical requirements of game development. By building a complete game from the ground up, this course can enhance the foundational skills required to build engaging educational experiences using game mechanics.
Simulation Developer
A simulation developer creates virtual environments for research, training, or entertainment using programming. This role often combines programming skills with a need to model real-world systems and processes. Given that this course teaches the creation of a game that simulates a farming environment, this course may be a valuable step for those wishing to enter the field of simulation development. It can teach a programmer how to create a dynamic and interactive environment.
Tools Programmer
A tools programmer develops software to help game developers work more efficiently and effectively. Though this course does not explicitly teach the creation of tools, the knowledge of game development using C# within the Unity engine that is taught here is crucial for a tools programmer. Having practical experience in the challenges that game developers face enables a tools programmer to create more useful software. As such, this course may be a useful step toward entering the field of tools programming.
Augmented Reality Developer
An augmented reality developer creates interactive experiences that overlay digital content onto the real world. Many augmented reality applications are built with game engines like Unity. Learning to build a complete game using Unity and C#, as is done in this course, may be a good starting point for those wishing to become an augmented reality developer. The course gives insight into creating interactive experiences, which is a fundamental part of AR development.
Systems Designer
A systems designer is responsible for creating the underlying systems and mechanics that govern a game. While this course does not focus on game design, the act of implementing a game using C# within the Unity engine, as taught here, gives a systems designer a valuable understanding of how these systems work in practice. Systems designers who wish to see their work implemented can find value in this course.
Technical Artist
A technical artist bridges the gap between art and programming, optimizing assets and developing tools for game development. While this course focuses primarily on programming using C# within the Unity engine, understanding the technical side of development is essential for a technical artist. The technical artist, working closely with a game developer, may learn a new understanding of the technical implementation of game mechanics. The knowledge from this course may help build an understanding of how the technical side of the art process works.
Software Tester
Software testers are tasked with ensuring that software products are free of bugs and that they perform well. Though this course primarily teaches software development, it highlights the importance of the testing process. As it is used to create a complete game that a learner can both produce and test, this course gives valuable insight into the testing process. The skills acquired in this course may be useful for anyone considering a career as a software tester.

Reading list

We've selected two books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Learn To Create A Farming Game With Unity 6 & C#.
Explores common design patterns used in game development. Understanding these patterns can help you write more maintainable and efficient code. It provides a deeper understanding of how to structure your game code. This book is more valuable as additional reading to expand your knowledge of game development principles.
Provides a comprehensive guide to C# and .NET Core, which are essential for Unity game development. It covers the latest features of C# and provides practical examples. It useful reference for understanding the underlying programming concepts used in the course. This book can be used as a reference text to deepen your understanding of C#.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser