Do you ever wonder why your code has so many bugs or find yourself perplexed by code you wrote months ago?
Maybe you've heard of Programming Patterns but don't understand when to use them, or you want to know how to actually implement these Patterns in Unity?
In this course you'll take your coding to the next level.
From fundamental programming best practices including how to write clean, maintainable code to what problems to solve with Programming Patterns, how to write common Patterns in Unity and how Programming Patterns implement best practices.
By the end of the course you'll know how to:
Do you ever wonder why your code has so many bugs or find yourself perplexed by code you wrote months ago?
Maybe you've heard of Programming Patterns but don't understand when to use them, or you want to know how to actually implement these Patterns in Unity?
In this course you'll take your coding to the next level.
From fundamental programming best practices including how to write clean, maintainable code to what problems to solve with Programming Patterns, how to write common Patterns in Unity and how Programming Patterns implement best practices.
By the end of the course you'll know how to:
Spot bad practices.
Refactor bad code into better code.
Unpack common Patterns to see why they work.
Apply Programming Patterns to game specific examples.
If you're an intermediate Unity programmer wanting to make bigger games, without drowning in complex code, then this is the course for you.
To take the course you'll need a strong understanding of basic C# programming (classes, methods, ifs, loops) and some familiarity with more advanced concepts (inheritance, interfaces, events).
All students have access to the Q&A forums where our Instructors, Teaching Assistants and Community are ready to help answer your questions and cheer on your success.
In this video (objectives)…
Sam gives an overview of the course and what we can expect to cover.
In this video (objectives)…
Sam explains the risk of Golden Hammer syndrome and how to use Design Patterns properly.
In this video (objectives)…
We introduce the ways that you can get help, support and contribute to the community.
In this video (objectives)…
Sam explains a famous quote by Phil Karlton and why these two problems are so fundamental to computer science.
In this video (objectives)…
Sam explains the dangers of global state and how to avoid spaghetti code with Loose Coupling and High Cohesion.
In this video (objectives)…
Sam shows us why Composition is more flexible and powerful than Inheritance and why we should try to use it more.
In this video (objectives)…
Sam explains this law, when to apply it and why it leads to better code.
In this video (objectives)…
Sam show us the Observer Pattern and when it is a good idea to use it.
In this video (objectives)…
Sam shows us how UnityEvents are one way to achieve the Observer Pattern in Unity.
In this video (objectives)…
Sam shows us how to use Actions and events in C# to implement the Observer Pattern.
In this video (objectives)…
Sam shows us why the Singleton Pattern violates many of our best coding practices. But how to implement it anyway.
In this video (objectives)…
Sam shows us an alternative to the Singleton that we can use in Unity to persist objects between scenes.
In this video (objectives)…
Sam explains an FSM and how to implement it in C#. We see how it can apply to many game situations.
In this video (objectives)…
Sam shows us how to improve the FSM pattern by making it more object oriented and more human readable with the State pattern.
In this video (objectives)…
Sam show why we need Object Pools and how to implement them with Unity's IObjectPool.
In this video (objectives)…
Sam shows us how the Strategy Pattern works and how we implement it in code using an Ability System as an example.
In this video (objectives)…
Sam shows us how to use the Decorator Pattern to add functionality to our Strategy Pattern classes.
In this video (objectives)…
Sam shows us how to take the decorator one step further with trees of nested abilities. Creating a really powerful lego system.
In this video (objectives)…
Sam takes us through the Model-View-Whatever family of patterns and why they are useful to make our UI and game logic more separate.
In this video (objectives)…
Sam show us how to implement Model-View-Presenter in Unity to separate our game logic from UI.
In this video (objectives)…
Sam shares his favourite resources for improving your coding.
In this video (objectives)…
Sam explains Robert C. Martin's SOLID principles and how they relate to some of the patterns we've seen and our Coding Commandments.
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.
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.