This is the Complete Unity C# Developer 3D, the long-awaited sequel to the Complete Unity C# Developer 2D - one of the most successful e-learning courses on the internet! Completely re-worked from scratch with brand-new projects, our latest teaching techniques,. You will benefit from the fact we have already taught over 350,000 students game development, many shipping commercial games as a result.
You're welcome to download, fork or do whatever else legal with all the files! The real value is in our huge, high-quality online tutorials that accompany this repo. You can check out the course here: Complete Unity C# Developer 3D
C# functions, refactoring, enumerations, basic state machines. Arguments, parameters, strings, conditionals, variables. Whitespace management, bug fixes and basic game design. (Ref: TH_CU2)
This is a Unity project. If you're familiar with source control, then "clone this repo". Otherwise download the contents, and navigate to Assets > Levels
then open any .unity
file.
This branch is the course branch, each commit corresponds to a lecture in the course. The current state is our latest progress.
Here are the lectures of the course for this section...
- About the provided terminal asset.
- You will learn foundational C# skills.
- Experienced developers should skim this section.
- Identify our game design intention for the Terminal Hacker game.
- Game flow and screens required for this game.
- Creating our library of anagrams.
- Download the asset from lecture resources.
- Import your first asset pack.
- How to rename a Unity project.
- Introducing our
Terminal.WriteLine()
command. - Your firs look at our Docs.
- Write and share your game menu screen.
- How C# is organised into functions, classes, etc.
- The format of a C# function (without parameters).
- About naming and encapsulating.
- Why we are introducing variables at this stage.
- What a variable is and how to use one.
- Using our first variable.
- Where we are in our journey towards messages.
- How go DECLARE, DEFINE & CALL functions with parameters.
- How to PASS variable parameters to a function.
- Messages vs. Functions in C#.
- An analogy to help you understand messages.
- Using our
OnUserInput(string input)
message.
- Operators are like special functions that do things.
- Syntax is the rules about the way code is written.
- Expressions evaluate to something, e.g.
1 == 2
isfalse
- Using an pure expression to detect if the user typed 1.
- How important being able to "branch" is.
- The syntax (structure) of an
if
statement. - Giving our player control over the menu system.
- A brief explanation of supplied function.
- How to download previous versions of Unity.
- A little more about the
void
keyword. - About our "spiral syllabus" approach.
- A quick overview of our optoinal forum.
- Well done getting this far.
- You've learned ALL the programming basics now.
- I'd love your comments against this lecture.
- What are we doing well? What could we do better?
- We're about to pick up pace and code much faster.
- What member variables are.
- Why they are useful.
- Use member variables sparingly to hold state.
- Introducing a finite state machine.
- How 'enum'erations are helpful here.
- Declaring and using our first 'enum'
- Getting an eye for when code it too complex.
- Using the "extract" tool of your IDE.
- A function should only do one thing.
- Moving our game forward.
- Don't be afraid to fail.
- A solid challenge for you.
- Getting basic password working.
- What an array is.
- Why we would use one.
- How to create an array in C#.
- Using arrays to store our passwords.
- A trick with using
bool
andif
. - Introducing
switch
- When to use
switch
vsif
- How namespaces can "clash" with
Random
. - Using Unity's
Random.Range()
. - How random numbers benefit your game.
- How to avoid "caching" information.
- Introducing ASCII art.
- How to engage your player's emotions.
- An opportunity to get creative.
- Adding a third difficulty level.
- Introducing
const
for constants. - Correcting typos!
- Refactoring & extra steps on PC (thanks Daniel).
- Playback speed, closed caption and self-pacing.
- Comments on switch vs if (thanks Jeepty).
- How to use our spiffy course repo on GitHub.
- About deleting your Library folder (ShadeWolf).
- Keep sharing screenshots, video clips next.
- We’d love a review :-)
- How to create a WebGL build.
- Using ShareMyGame.com.
- Share your game for feedback.
- Our first play testing session.
- How to take feedback.
- Bug fixes.
- Congratulations.
- A recap of what you learned.
- Some notable C# you didn't learn.
- Some further challenge ideas.
- Start the next section right away.