Get the Course

What you will learn:

Theory with examples

In Section 1 I will explain all the concepts of OOP:

  • Encapsulation
  • Abstraction
  • Inheritance
  • Polymorphism

*I will also explain Composition and WHY "prefer composition over inheritance" is a good advice.

Example usage
Refactoring an example Shoot'em up game prototype

To understand OOP you need to practice how to apply Encapsulation, Abstraction, Inheritance and Polymorphism in a real project.

That is why I have prepared an example prototypical game project that we will refactor to show the benefits of OOP.

UML diagrams
Clear explanation of OOP solution

In the Hands-On part I will explain every solution using simple UML diagrams as well as by explaining WHY this solution will make is easy for us to add new features to our games or to make the current functionality more maintainable..

What you can expect:

5h of video content

Learning OOP can be done only through practice. After you watch the theory (Section 1) I have prepared few example problems related to Game Dev so that you can PRACTICE what you have learned.


A Fully working Shoot'em up game prototype

Theory (WHY) is useless if you don't know how to apply it in practice.

I have prepared a working prototype of a small game that we will refactor so that you can learn HOW to use OOP and WHEN to do it.

Project files and scripts 

For each video where we write some code I will provide a github link so that you can view the changes in the code as well as my full project that you can open in unity to find any issue / difference / bug that you might have.

My help 

If you don't understand something just ask here in the comment section or on courses Discord channel. I do my best to daily answer any question.


For each video I have provided English and Spanish subtitles (autogenerated).

14-Days refund policy

If you don't enjoy the course let me know and I will issue a refund if you are within the 14 days from the date that you made the purchase.

Who am I

About Sunny Valley Studio:

Hi! I'm Peter - a programmer with around 5 years experience in Unity 👋

I have always loved to code and to play games 😁

Professionally I have mostly worked as a HVAC Engineer and a Programmer on a Machine Learning project using Python. I have spend all my free time improving my coding skills and creating small unity game projects, and helping other indie devs on their projects as a programmer.

You can find all most of them on my YouTube channel: Sunny Valley Studio 🙂

I know that learning to code can be hard. At the same time creating games is a very much iterative process which means that new features needs to be added to the code.

If it is not maintainable you will spend more time fixing bugs then on actually designing the game. 😬

That is why I am doing my best to help others to learn how to write well architected code in Unity 😉


Available in days
days after you enroll
  Starter project + OOP Theory
Available in days
days after you enroll
  Problem 1 - Adding Multiple Weapons
Available in days
days after you enroll
  Problem 2 - Adding meteorite to our game
Available in days
days after you enroll
  Problem 3 - Duplicate code
Available in days
days after you enroll
  Problem 4 - Creating different enemies
Available in days
days after you enroll
Available in days
days after you enroll