Welcome to the course notes on C# Programming for Unity. In this study guide, we explore the fundamentals of the C# programming language, its execution model, object-oriented design principles, and how they apply directly to game development in Unity.

Course Objectives

By the end of this study guide, you will understand:

  1. The basic constructs of C#, including variables, data types, structures, and control flow.
  2. The core concepts of Object-Oriented Programming (OOP): Classes, Structs, Inheritance, Polymorphism, and Interfaces.
  3. Advanced C# mechanisms such as File I/O, Exception Handling, Delegates, Events, and Multithreading.
  4. The .NET execution journey, compilers (Roslyn), and runtimes (Mono/CoreCLR).

Course Chapters

Use the index outline on the side to browse individual chapters:

  • Chapter 1: Introduction to C# and .NET
  • Chapter 2: Workspace Setup and Life Cycle of C# Code
  • Chapter 3: Comments and Console Output
  • Chapter 4: Variables and Data Types
  • Chapter 5: Basic Mathematics
  • Chapter 6: User Input
  • Chapter 7: Advanced Mathematics
  • Chapter 8: Decision Making (Conditional Statements)
  • Chapter 9: Switch Cases
  • Chapter 10: Loop Constructs
  • Chapters 11-13: Arrays, Enumerations, and Methods
  • Chapters 14-20: Object-Oriented programming (Classes, Structs, Properties, Inheritance, Polymorphism)
  • Chapters 21-27: Advanced OOP (Method/Operator Overloading, Generics, Virtual Methods, Abstract Classes, Interfaces)
  • Chapters 28-32: Files, Error Handling, Delegates, Events, and Multithreading