We may earn an affiliate commission when you visit our partners.
Course image
Dr. Tim "Dr. T" Chamillard

This course is the fourth course in the specialization about learning how to develop video games using the C# programming language and the Unity game engine on Windows or Mac. Why use C# and Unity instead of some other language and game engine? Well, C# is a really good language for learning how to program and then programming professionally. Also, the Unity game engine is very popular with indie game developers; Unity games were downloaded 16,000,000,000 times in 2016! Finally, C# is one of the programming languages you can use in the Unity environment.

Read more

This course is the fourth course in the specialization about learning how to develop video games using the C# programming language and the Unity game engine on Windows or Mac. Why use C# and Unity instead of some other language and game engine? Well, C# is a really good language for learning how to program and then programming professionally. Also, the Unity game engine is very popular with indie game developers; Unity games were downloaded 16,000,000,000 times in 2016! Finally, C# is one of the programming languages you can use in the Unity environment.

This course assumes you have the prerequisite knowledge from the previous three courses in the specialization. You should make sure you have that knowledge, either by taking those previous courses or from personal experience, before tackling this course. Throughout this course you'll build on your foundational C# and Unity knowledge by developing more robust games with better object-oriented designs using file input and output, inheritance and polymorphism, and event handling.

This course gives you even more tools to help you build great games with C# and Unity!

Module 1: Start using files to implement your Unity games

Module 2: Learn how inheritance and polymorphism help us write less code for our games

Module 3: Implement event handling to make better object-oriented designs and add menus to your Unity games

Module 4: Explore the complete implementation of a small Unity game

“Unity” is a trademark or registered trademark of Unity Technologies or its affiliates in the U.S. and elsewhere.

This course is an independent work and is not sponsored by, authorized by, or affiliated with Unity Technologies or its affiliates

Enroll now

What's inside

Syllabus

Exceptions and File IO
Inheritance and Polymorphism
Event Handling and Menus
Read more
Feed the Teddies
Supplemental Material
Please read the Supplemental Material reading in Week 1. I've included the material in this module for those learners who might have missed it based on the course and Specialization they were currently enrolled in when the new versions of the courses and the new version of the Specialization went live. There's nothing graded in this module, the materials are just provided here so nobody misses any of the great stuff in the Specialization! Note that the exercise and programming assignment numbers are from a different course and have nothing to do with the exercise and programming assignment numbers listed in the four "real" weeks of this course.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Examines object-oriented design principles, such as inheritance and polymorphism, which are foundational to most modern programming languages
Develops proficiency with file handling in C#, which is essential for storing and retrieving data in game development
Introduces event handling, a fundamental concept for creating interactive and responsive user interfaces in games
Provides hands-on experience in building a complete Unity game, offering practical application of the concepts learned
Requires prior knowledge of C# and Unity, making it suitable for intermediate learners with some programming experience
Assumes familiarity with the previous courses in the specialization, limiting accessibility for those who may not have taken them

Save this course

Save Intermediate Object-Oriented Programming for Unity Games to your list so you can find it easily later:
Save

Reviews summary

Unity oop intermediate

Learners say that these courses are well received and fun and are a good way to learn the basics of object-oriented programming in the context of game development with Unity. Dr. T's enthusiastic and informative teaching style makes these courses engaging and rewarding. However, some difficult concepts, such as event handling, could use more detailed explanations. Overall, these courses are a solid choice for learners looking to dive deeper into Unity and C# programming.
The course difficulty is appropriate for intermediate learners.
"it is a great course but its difficulty level increases a notch compared to the previous 2 courses."
"It will help you build your gaming technicalities by alot"
Concepts are explained in a way that makes them easy to understand.
"Dr. T is a master of explaining difficult subject in a easy and joyful way."
"He knows how to explain things easy to understand and he is fulfilled by a high sense of humor."
Dr. T is an engaging and knowledgeable instructor.
"Dr. T's enthusiasm is infectious and inspiring."
"He has lots of fun games to share for examples that you can really get your teeth into."
The event handling section is difficult for some learners to understand.
"Last 2 weeks seems to hard. Things about event handling were really hard to understand. And it was very few lectures about this."
"I think more explanation of the Unity event system was needed. I managed to figure it out, but I really struggled with that particular part of the course."

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 Intermediate Object-Oriented Programming for Unity Games with these activities:
Volunteer as a Game Tester
Volunteering as a game tester will provide you with valuable hands-on experience in evaluating and providing feedback on game design and development.
Browse courses on Game Testing
Show steps
  • Find game testing opportunities at local game development studios or online platforms.
  • Apply for the position and provide samples of your work.
  • Test games and provide detailed feedback reports.
Develop a Simple 2D Unity Game
Creating a 2D game will allow you to apply the concepts learned in the course and build a portfolio piece that showcases your skills.
Browse courses on 2D Game Development
Show steps
  • Brainstorm and design your game concept.
  • Create the game's assets and environment in Unity.
  • Implement the game's core mechanics and gameplay.
  • Test and polish your game for a smooth user experience.
Record a Video Tutorial on a Specific Unity Game Development Technique
Creating a video tutorial will help you master the technique while also potentially helping other learners in the community.
Show steps
  • Choose a specific Unity game development technique to focus on.
  • Plan and script your tutorial.
  • Record and edit your video.
  • Share your tutorial on YouTube or other platforms.
One other activity
Expand to see all activities and additional details
Show all four activities
Develop a Unity Game Prototype
Creating a game prototype will allow you to test your game concept and get feedback before investing significant time and resources into full development.
Browse courses on Game Prototyping
Show steps
  • Define the scope and objectives of your game prototype.
  • Create a basic game design document.
  • Implement the core gameplay mechanics and features.
  • Test and iterate on your prototype to improve its design and functionality.

Career center

Learners who complete Intermediate Object-Oriented Programming for Unity Games will develop knowledge and skills that may be useful to these careers:
Game Tester
Game Testers are responsible for playing video games to find bugs and ensure that they are working properly. They work closely with programmers and designers to help identify and fix problems. This course is a great way to learn the basics of game testing, which is an essential skill for any Game Tester.
Game Programmer
Game Programmers are responsible for writing the code that makes video games run. They work closely with designers and artists to translate their ideas into a playable experience. This course is a great way to learn the basics of programming, which is an essential skill for any Game Programmer.
Video Game Designer
Video Game Designers are responsible for designing the overall concept and mechanics of video games. They work closely with programmers, artists, and other team members to bring their ideas to life. This course is a great way to learn the basics of programming and game design, which are essential skills for any Video Game Designer.
Game Producer
Game Producers are responsible for managing the development of video games. They work with all members of the development team to ensure that the game is completed on time and within budget. This course is a great way to learn the basics of game production, which is an essential skill for any Game Producer.
Level Designer
Level Designers are responsible for creating the levels and environments that players explore in video games. They work closely with designers and programmers to ensure that the levels are both challenging and fun. This course is a great way to learn the basics of level design, which is an essential skill for any Level Designer.
Technical Artist
Technical Artists are responsible for creating the technical assets used in video games, such as 3D models, textures, and animations. They work closely with programmers and designers to ensure that the game's visuals are both appealing and functional. This course is a great way to learn the basics of 3D modeling and animation, which are essential skills for any Technical Artist.
Computer Programmer
Computer Programmers are responsible for writing the code that makes computers work. They work closely with software developers and other team members to develop and maintain computer systems. This course may be useful for aspiring Computer Programmers, as it can help them learn the basics of programming and computer science.
Game Writer
Game Writers are responsible for writing the story and dialogue for video games. They work closely with designers and programmers to ensure that the game's narrative is both engaging and entertaining. This course may be useful for aspiring Game Writers, as it can help them learn the basics of programming and game design.
Information Technology Specialist
Information Technology Specialists are responsible for managing and maintaining computer systems and networks. They work with users and clients to provide technical support and troubleshooting. This course may be useful for aspiring Information Technology Specialists, as it can help them learn the basics of programming and computer science.
Game Animator
Game Animators are responsible for creating the animations used in video games. They work closely with designers and programmers to ensure that the game's characters and objects move realistically and smoothly. This course may be useful for aspiring Game Animators, as it can help them learn the basics of programming and game design.
Computer Scientist
Computer Scientists are responsible for studying and developing new computer technologies. They work on a wide range of topics, from artificial intelligence to computer graphics. This course may be useful for aspiring Computer Scientists, as it can help them learn the basics of programming and computer science.
Game Designer
Game Designers are responsible for designing the overall concept and mechanics of video games. They work closely with programmers, artists, and other team members to bring their ideas to life. This course may be useful for aspiring Game Designers, as it can help them learn the basics of programming and game design.
Game Developer
Game Developers are responsible for all aspects of video game development, from design to programming to testing. They work closely with all members of the development team to ensure that the game is completed on time and within budget. This course may be useful for aspiring Game Developers, as it can help them learn the basics of programming and game design.
Game Artist
Game Artists are responsible for creating the visual assets used in video games, such as characters, environments, and textures. They work closely with designers and programmers to ensure that the game's visuals are both appealing and functional. This course may be useful for aspiring Game Artists, as it can help them learn the basics of programming and game design.
Software Developer
Software Developers are responsible for designing, developing, and maintaining computer software. They work with clients and users to understand their needs and develop software solutions that meet those needs. This course may be useful for aspiring Software Developers, as it can help them learn the basics of programming and software development.

Reading list

We've selected ten 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 Intermediate Object-Oriented Programming for Unity Games.
Focuses on design patterns specifically for game programming, providing practical examples and explanations of how to apply them in game development. It complements the course's emphasis on object-oriented design and can serve as a valuable reference for implementing design patterns in Unity games.
Introduces software design patterns using a conversational style and engaging examples, making it a great supplementary resource for understanding object-oriented design concepts. While not specific to Unity or game development, the patterns it covers are widely applicable in software development, including game development.
Practical guide to developing games with Unity. It covers the basics of Unity development, including creating and manipulating game objects, writing scripts, and using the Unity editor. It also covers more advanced topics, such as physics, animation, AI, and multiplayer networking.
This seminal work on design patterns provides a comprehensive catalog of reusable design solutions. While not specific to game development, it valuable reference for understanding and applying design patterns in various software domains, including game programming.
Delves into the details of the C# programming language, covering advanced topics such as generics, LINQ, and threading. It valuable resource for learners who want to deepen their understanding of the language used in the course.
This classic textbook provides a comprehensive introduction to object-oriented analysis and design. It covers fundamental concepts, design principles, and best practices, providing a solid foundation for understanding and applying object-oriented design in game development.
This textbook provides a comprehensive introduction to algorithms and data structures. While not specific to game development, it offers a solid foundation for understanding algorithms and their applications in various software domains, including game programming.
Explores the principles and practices of game design from a holistic perspective. While not directly related to programming or technical aspects, it provides valuable insights into the creative and conceptual aspects of game development, complementing the course's focus on implementation.
Provides an in-depth exploration of game engine architecture. While not directly related to the course's focus on game development in Unity, it offers valuable insights into the underlying principles and design considerations of game engines, complementing the course's practical approach.

Share

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

Similar courses

Here are nine courses similar to Intermediate Object-Oriented Programming for Unity Games.
More C# Programming and Unity
Most relevant
C# Class Development
Most relevant
Introduction to C# Programming and Unity
Most relevant
Intermediate Object-Oriented Programming for Unreal Games
Most relevant
Planning, HUDs, and Spawners in GameMaker
Most relevant
Moving, Shooting, and Debugging in GameMaker
Most relevant
Data Structures and Design Patterns for Game Developers
Most relevant
The Ultimate Guide to Game Development with Unity...
Most relevant
More C++ Programming and Unreal
Most relevant
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 - 2024 OpenCourser