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

This course is all about starting to learn 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 all about starting to learn 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 doesn't assume you have any previous programming experience. Don't worry if you've never written code before; we'll start at the very beginning and work our way up to building small games by the end of the course. Throughout the course you'll learn core programming concepts that apply to lots of programming languages, including C#, and you'll also learn how to apply those concepts when you develop games.

Computer programming is really fun in general, and programming games is even better!

Caution: Beginning (assuming no prior programming knowledge) is not the same as easy (not hard to do). Learning to program IS hard to do, especially since this course is essentially the first half of a freshman-level college course. Meeting the course challenges while you master the material will be rewarding to you, but doing that will require hard work and maybe even a few expletives along the way.

Module 1: Write your first C# console application and Unity script

Module 2: Learn how we store data in our programs

Module 3: Learn how we use classes and objects to implement our code

Module 4: Learn the basics of Unity 2D games and take "Final Exam"

“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

Starting to Program
In this module, you'll learn about the course and get Unity installed and configured. You'll write your first C# console application and your first C# script in Unity.
Read more
Data Types, Variables, and Constants
In this module, you'll learn how information is stored in the computer using binary and you'll learn how data types tell us how to interpret the bits and memory and what operations we can perform on those bits. You'll also learn about the most commonly-used numeric types in C#, you'll get some practice reading documentation (which programmers do all the time!), and you'll learn how to use the debugger to find and fix bugs in your code.
Classes and Objects
In this module, you'll learn the foundational concepts in the Object-Oriented (OO) paradigm. This paradigm is incredibly useful in game development, because it models our software system as a set of software objects that interact with each other. Those concepts map nicely to games, which typically include lots of game entities that interact with each other. You'll learn how to actually use classes and objects in your code as well.
Unity 2D Basics
In this module, you'll learn some of the basic ideas behind using Unity to develop 2D games. You'll also learn how we can make decisions in our code.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Examines the C# programming language and Unity Engine, which are industry standards in game development
Taught by Dr. Tim "Dr. T" Chamillard who is recognized for their work in game development
Covers foundational concepts in Object-Oriented Programming, which is a core concept in game design
Teaches the basics of Unity 2D, a popular game engine among indie game developers
Requires no prior programming experience, making it accessible to beginners in computer programming
Explicitly cautions learners that the course will be challenging, setting realistic expectations

Save this course

Save Introduction to C# Programming and Unity to your list so you can find it easily later:
Save

Reviews summary

C# and unity for beginners

learners say this course provides a largely positive and engaging introduction to the basics of C# and game development utilizing Unity. The course begins with the fundamentals and is well received by those both new to programming as well as those with some coding background. Students report that the instructor, Dr. "T", is knowledgeable, enthusiastic, and has a knack for clearly explaining concepts in an entertaining manner. The course structure is praised for its logical progression and hands-on approach, with each week culminating in an assignment that reinforces the material covered. Many students took advantage of the optional exercises and found them to be valuable for solidifying their understanding of the concepts. The course also includes a textbook, which some found helpful but is not required. However, there are some areas where the course could be improved. Some students found the pace of the course to be a bit too fast, especially in the latter weeks. Additionally, the auto-grading system used for the assignments has been criticized for being overly strict and not providing helpful feedback. Overall, learners say this course is a solid starting point for anyone interested in learning the basics of C# and Unity, particularly those without any prior programming experience. With its clear explanations, engaging instructor, and practical exercises, this course provides a strong foundation for further exploration in game development.
helpful but not required
"The course also includes a textbook, which some found helpful but is not required."
valuable for solidifying understanding
"Many students took advantage of the optional exercises and found them to be valuable for solidifying their understanding of the concepts."
engaging assignments, logical progression, hands-on approach
"The course structure is praised for its logical progression and hands-on approach, with each week culminating in an assignment that reinforces the material covered."
knowledgeable, enthusiastic, clear explanations, entertaining
"Students report that the instructor, Dr. "T", is knowledgeable, enthusiastic, and has a knack for clearly explaining concepts in an entertaining manner."
too fast in the latter weeks
"Some students found the pace of the course to be a bit too fast, especially in the latter weeks."
overly strict, not helpful feedback
"Additionally, the auto-grading system used for the assignments has been criticized for being overly strict and not providing helpful feedback."

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 Introduction to C# Programming and Unity with these activities:
Review Object-Oriented Programming Concepts
Strengthen your understanding of OOP principles, which are essential for building robust and maintainable code.
Show steps
  • Review OOP concepts such as classes, objects, inheritance, and polymorphism.
  • Practice implementing OOP principles in your own C# code.
Join a C# Study Group
Connect with fellow learners, share knowledge, and support each other's progress.
Browse courses on Collaborative Learning
Show steps
  • Find or create a study group with other C# enthusiasts.
  • Meet regularly to discuss course material, work on projects together, and troubleshoot challenges.
Complete Coding Exercises
Sharpen your C# coding skills through regular practice and problem-solving.
Show steps
  • Work through online coding exercises or challenges.
  • Create your own C# programs to solve specific problems.
  • Debug and refine your code for optimal performance.
Three other activities
Expand to see all activities and additional details
Show all six activities
Attend a Unity Workshop
Gain hands-on experience and learn from industry experts in a collaborative learning environment.
Show steps
  • Find and register for a Unity workshop relevant to your interests.
  • Participate actively in the workshop, asking questions and sharing your knowledge.
  • Apply what you've learned to your own game development projects.
Build a Simple 2D Game Prototype
Apply your knowledge of C# and Unity to create a tangible project, reinforcing concepts and enhancing your portfolio.
Browse courses on Game Development
Show steps
  • Design a simple game concept and mechanics.
  • Implement game logic, physics, and graphics using C# and Unity.
  • Test and iterate on your game to improve gameplay.
Develop a Unity Game Demo
Create a polished and functional game demo to showcase your Unity skills and creativity.
Browse courses on Unity Game Development
Show steps
  • Design and plan your game demo, including gameplay mechanics and storyline.
  • Develop the game using C# and Unity, implementing game logic, graphics, and sound.
  • Test and refine your game to ensure a smooth and engaging experience.
  • Present your game demo to classmates or industry professionals for feedback.

Career center

Learners who complete Introduction to C# Programming and Unity will develop knowledge and skills that may be useful to these careers:
Game Programmer
Game Programmers go one step further than Game Designers by implementing the game's design. They use programming languages such as C# to write the code that makes the game work. Once this course has covered the first module, the topics that follow will provide you with the skills needed to work as a Game Programmer, including data types, variables, constants, classes, objects, and more.
Game Designer
Game Designers begin by creating game proposals and design specs. They then design the game's user experience, story, rules, and aesthetics. Their goal is to make the game fun, engaging, and visually appealing. While the first module of this course won't directly help you in this role, the skills covered in the remaining modules such as data types, variables, constants, classes, objects, and an introduction to Unity 2D Basics will give you a solid foundation.
Software Engineer
Software Engineers focus on designing, developing and maintaining software for everything from computer systems to mobile phones. Since this course will teach you the C# programming language as well as essential programming concepts and Unity 2D Basics, it will be very helpful in preparing you for a career as a Software Engineer.
Web Developer
Web Developers are responsible for designing and developing websites. They use programming languages such as HTML, CSS, and JavaScript to create websites that are both functional and visually appealing. While this course does not cover JavaScript or HTML, the C# programming language, data types, variables, constants, classes, objects, and Unity 2D Basics that are covered here provide a solid foundation for learning more programming languages in the future.
Data Scientist
Data Scientists use data to solve business problems. They use programming languages such as Python and R to analyze data and develop models. As the C# programming language, data types, variables, and constants are all covered in this course, you will gain a solid foundation that will be helpful to your success in this role.
Computer Scientist
Computer Scientists research and develop new computer technologies. They work on a wide range of projects, from developing new programming languages to designing new computer architectures. As someone in this career field, you will be expected to have a strong understanding of programming languages, data structures, and algorithms. This course will provide you will a foundation in programming through C#, data types, variables, constants, and more.
Systems Analyst
Systems Analysts are responsible for analyzing and designing computer systems. They work with users to understand their needs and then design systems that meet those needs. They also work with programmers to implement those systems.
Database Administrator
Database Administrators are responsible for managing and maintaining databases. They use programming languages such as SQL to create and manage databases, and to ensure that they are running smoothly. While you won't learn SQL in this course, the skills you will gain will transfer and help you manage data in other settings.
Information Security Analyst
Information Security Analysts are responsible for protecting computer systems from unauthorized access, use, disclosure, disruption, modification, or destruction. They use a variety of tools and techniques to protect computer systems, including firewalls, intrusion detection systems, and encryption. While this course won't teach you how to implement or work with these tools, your understanding of programming languages such as C#, data types, variables, constants, and more will be helpful as you learn about these.
Quality Assurance Analyst
Quality Assurance Analysts are responsible for testing computer systems and software to ensure that they meet quality standards. They use a variety of tools and techniques to test systems and software, and to identify and fix defects.
Network Administrator
Network Administrators are responsible for managing and maintaining computer networks. They use a variety of tools and techniques to ensure that networks are running smoothly and securely.
Technical Writer
Technical Writers create documentation for computer systems and software. They use a variety of writing styles and formats to create documentation that is clear, concise, and easy to understand.
User Experience Designer
User Experience Designers are responsible for designing the user interface for computer systems and software. They work with users to understand their needs and then design interfaces that are easy to use and visually appealing. While this course does not cover the topic, the programming knowledge you will gain could be very helpful if you choose to work on UIs that involve any kind of programming.
Business Analyst
Business Analysts are responsible for analyzing business processes and identifying opportunities for improvement. They work with stakeholders to define the business requirements for new systems and software. They also work with developers to implement those systems and software.
Project Manager
Project Managers are responsible for planning, organizing, and managing computer projects. They work with stakeholders to define the project scope, schedule, and budget. They also work with team members to ensure that the project is completed on time and within budget.

Reading list

We've selected 20 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 Introduction to C# Programming and Unity.
Comprehensive guide to Java programming. It is more in-depth than Head First Java and is recommended for students who want to learn more about the language.
Covers the Unity game engine in detail, providing a good foundation for developing 2D and 3D games. It is written with a focus on practical examples, making it a good choice for those who want to learn by doing.
Provides a comprehensive guide to Java concurrency. It valuable resource for students who want to learn how to write multithreaded code.
Provides a comprehensive overview of the C# programming language, covering both the basics and more advanced concepts. It is written in a clear and engaging style, making it a good choice for beginners.
Provides a comprehensive guide to software development. It good choice for students who want to learn how to write high-quality, maintainable code.
Provides a set of principles for writing clean, maintainable code. It valuable resource for students who want to write high-quality code.
Provides a collection of best practices for Java programming. It valuable resource for students who want to write high-quality code.
Provides a solid foundation in Java programming. It is particularly useful for beginners who have no prior programming experience.
Provides a collection of common design patterns used in game development. It valuable resource for those who want to learn how to write clean and efficient code.
Provides a comprehensive overview of C# game programming using Unity. It good choice for those who want to learn the basics of C# and how to use it to create their own games.
Provides a practical guide to unit testing. It good choice for students who want to learn how to write high-quality, testable code.
Comprehensive reference for Java programming. It good choice for students who want to have a single resource that they can refer to throughout their studies.
Provides a classic look at the challenges of software development. It good choice for students who want to learn how to manage software projects.
Provides a look at the human side of software development. It good choice for students who want to learn how to work effectively in teams.
Provides a look at the open source software development model. It good choice for students who want to learn how to contribute to open source projects.
Provides a comprehensive overview of algorithms and data structures. It good choice for those who want to learn the theoretical foundations of computer science.

Share

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

Similar courses

Here are nine courses similar to Introduction to C# Programming and Unity.
C# Class Development
Most relevant
More C# Programming and Unity
Most relevant
Intermediate Object-Oriented Programming for Unity Games
Most relevant
Getting Started with GameMaker
Most relevant
Moving, Shooting, and Debugging in GameMaker
Most relevant
Planning, HUDs, and Spawners in GameMaker
Most relevant
Parenting and More GameMaker Language Code
Most relevant
Unity & 100+ Asset Store Kits - The Complete Game...
Most relevant
The Ultimate Guide to Game Development with Unity...
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