Skip to content
Álvaro García León edited this page Jan 21, 2019 · 1 revision

Welcome to the Awesome Unity wiki!

This wiki is under construction and will suffer changes during the next weeks. Please be patient and if you consider that needs any change or improvement then don't hesitate creating a new issue in this repository to take it into account and make this better for every visitor.

The goal of this wiki is to provide a separated source of knowledge to new Unity3D users, or already beginner/intermediate/advanced developers. As everyone will have different knowledge of the diverse topics that Unity covers this wiki will try to cover every possible aspect separately with different approaches (from surface only to deep insights).

Also, note that this wiki is just another help provided to developers and doesn't compete with the official sources of help that Unity provides already. So in case of doubt or missing contents, go to the official Unity forums and groups and if you want to include what you have learned, then fill an issue in this repository.

To finish, just thank everybody that contributes and makes this a better repository with every help provided. This is made by you, for you and for everyone that makes Unity.

Thank you!


What you will find here

Classified by its difficulty or the order of learning them:

Begginer Topics:

  • How to use the Unity editor.
  • How to code with the code editor you choose when working with Unity.
  • Unity supported code languages syntax.
  • Unity components (lifecycle, similarities with C# usual programming), how to use them, create your own components.
  • Build your first application (different platforms)
  • Documentation
  • Questions, questions, questions...

Intermediate Topics:

  • Entity Component System (another way to program your applications searching for efficiency)
  • How to be efficient when using the Unity editor.
  • Layers
  • Order of Execution
  • Coroutines (asynchronous programming)
  • Plugins
  • Asset Store (Packages)
  • Packaging your code (creating libraries, plugins and sharing)
  • Version Control Systems (secure your projects, collaborate)
  • Organization of your project
  • Serialization insights
  • Performance
  • Tips and Tricks
  • Shortcuts (Unity editor and code editor)
  • Plugins, tools, utilities we recommend and will boost your productivity.
  • Localization
  • Monetization
  • Services
  • Documentation (build your own, and improve what you create).
  • Render Pipeline
  • Unity Shadergraph
  • Importing assets

Advanced Topics:

  • 3rd Party Tools (appropiate settings and how to use with Unity).
  • Hidden gems when developing with Unity.
  • Algorithms (2D/3D graphics related, useful for some specific topics, curious ones).
  • Extend the Unity editor, make your own tools, advanced plugins or extensions.
  • Create shaders in Unity (reference to other sources if you want to learn more outside of Unity).
  • How to become a better Unity developer (or just developer).

Offtopic:

Jobs Freelance work Inspiration Challenges Open projects

What you need to know

If you are new developing games or you are learning Unity for the first time but you already know how to code, there are (bad) news for you.

You will have to deal with mathematics. Yes, you have read well. All games or apps in Unity include code that takes care of 2D or 3D graphics and these need mathematics to be correctly developed. So be prepared because sometimes you won't understand the concept behind the topics written here or maybe you need to remember old things you forgot at school.

Anyway, don't worry, here we'll try to provide you with easy explanations or guide you to better references that can help you understand what you read here.

Other things you will need to know are:

  • 3D Modeling Knowledge

    • 3D Modeling Tools
  • 2D Drawing Knowledge

    • Hand drawing
    • Digital drawing
    • Vector drawing
  • Music Theory

    • Audio Tools
      • Digital Audio Workstations (DAW)
      • Audio Editing Tools

(Move prerequisites to another wiki page if this gets large)

More to be specified...


Table of Contents (TOC)

  • Beginner Topics

  • Introduction to Unity3D.

  • Learning the tools.

    • Unity Editor
    • Code Editor ^
  • Coding with Unity

    • Languages supported
    • C# (C-Sharp)
  • Intermediate Topics

  • Asynchronous Programming

    • Coroutines
  • Components

    • MonoBehaviours
    • Lifecycle
    • Entity Component System (ECS)
  • Euler Angles / Quaternions

  • Advanced Topics

  • Extend/Customize Unity

  • Shaders

    • Basics
    • Tutorial
    • Next Steps

^: Choose the code editor you prefer. Unity doesn't forces you to use any in particular, but will provide you with Visual Studio as ModoDevelop was deprecated. See more details in this section.