Unity Fundamentals
Unity is commercial software for building interactive 3D and 2D applications, most often video games, that run on phones, consoles, desktop computers, and web browsers. Instead of writing a renderer, a physics engine, and platform export tools from scratch, a team builds scenes out of reusable objects and scripts inside one visual editor, and Unity turns that project into a working app for the chosen target devices.
itSoftware engineering | OpenSkills.info
Course pathWalk it in order
Look it upDip in anytime
Go furtherLeaves this page
Don't Panic
Don't Panic - Unity Fundamentals
Unity is a commercial editor for building real-time games and apps, and it has been around since a small team wheeled it onto a stage at Apple's developer conference in 2005. Two decades later it still does roughly the same job: you build a Scene out of GameObjects, and a GameObject is nothing until you staple capabilities onto it.
Those capabilities are components. A GameObject with no components is an empty box with a location in space, which it keeps track of through a Transform, the one component every GameObject gets whether it asked for one or not. Add a renderer and it becomes visible. Add a Rigidbody and gravity starts caring about it. Add a script and it starts doing whatever you told it to do, which is either the best or worst part of game development depending on how that script was written.
Scripts are C# classes called MonoBehaviours, and Unity calls a handful of their methods in a fixed order every single frame: Awake, then Start, then a loop of FixedUpdate, Update, and LateUpdate for as long as the object lives. This looks tidy right up until you notice the one gap in the promise: Unity never guarantees which GameObject's Awake runs first. Most projects never hit this. The ones that do usually built an invisible dependency between two scripts and got away with it for months, which is the engine's way of teaching patience.
Build a thing once, and you will probably want five more just like it with small differences. That is what a Prefab is for: a saved, reusable GameObject template that every placed copy stays connected to, so fixing one enemy's health bar fixes all forty of them instantly.
Rendering comes with a decision attached: pick the Universal Render Pipeline for broad reach, the High Definition pipeline for a hungrier graphics budget, or the old Built-in pipeline, which Unity itself has already marked for retirement. Choosing Built-in for a new project today is a bit like buying a flip phone because the display model looked familiar.
The one surprise worth carrying out of this course happened off-screen, in the licensing fine print. In 2023 Unity tried charging a fee per game install, developers revolted within days, and a year later Unity canceled the entire idea and went back to its ordinary per-seat subscription. If a sentence in your head still says "Unity charges you per install," that sentence has been out of date since Unity canceled the fee, and deserves to be updated.
None of this requires a verdict on whether Unity is the right engine for your project. It requires knowing what you are actually choosing: a component-based engine with paywalled, read-only source access and one of the largest asset marketplaces in the business, running on licensing terms a company can and did change once already. The Cheatsheet has the exact lifecycle order and the render pipeline table. The Reference tab has Unity's own documentation for everything this page only summarized.
Where this skill leads
Relevant careers
See how this topic contributes to broader role-level skill maps.
Sources
- https://docs.unity3d.com/Manual/index.html
Supports
- General course overview; official_url
- https://docs.unity3d.com/ScriptReference/index.html
Supports
- 06-links.yaml reference entry
- https://learn.unity.com/
Supports
- 06-links.yaml reference entry
- https://docs.unity3d.com/Manual/class-GameObject.html
Supports
- GameObject, component, and Transform architecture (01-intro.md, 03-cheatsheet.md, quiz 01-02)
- http://docs.unity3d.com/Manual/execution-order.html
Supports
- MonoBehaviour lifecycle order and execution-order guarantees (01-intro.md, 03-cheatsheet.md, 04-practice-reference.md, quiz 05, field note difficulty)
- https://docs.unity3d.com/Manual/Prefabs.html
Supports
- Prefab, Prefab instance, and Prefab variant behavior (01-intro.md, quiz 03)
- https://docs.unity3d.com/Manual/render-pipelines.html
Supports
- Built-in/URP/HDRP pipeline facts and Built-in deprecation (01-intro.md, 03-cheatsheet.md, quiz 04, field note signal)
- https://docs.unity3d.com/Manual/scripting-backends.html
Supports
- Mono vs IL2CPP scripting backends (01-intro.md, 03-cheatsheet.md, 04-practice-reference.md, quiz 09)
- https://docs.unity3d.com/Manual/PhysicsOverview.html
Supports
- 3D/2D physics, Rigidbody/Collider, FixedUpdate timing (01-intro.md, 03-cheatsheet.md, quiz 06-07)
- https://docs.unity3d.com/Manual/CollidersOverview.html
Supports
- Collider/Rigidbody collision and trigger rules (03-cheatsheet.md, quiz 07)
- https://docs.unity3d.com/Manual/BuildSettings.html
Supports
- Build Profile terminology and platform build workflow (01-intro.md, 03-cheatsheet.md)
- https://docs.unity3d.com/Manual/upm-ui.html
Supports
- Package Manager description (01-intro.md)
- https://docs.unity3d.com/Packages/[email protected]/manual/index.html
Supports
- Input System Actions/Bindings/Action Maps, recommended over legacy Input Manager (01-intro.md, 03-cheatsheet.md, 04-practice-reference.md, quiz 08)
- https://unity.com/news/unity-technologies-celebrates-six-years-continual-leadership-and-innovation
Supports
- 2005 WWDC launch milestone (01-intro.md, 10-timeline.yaml)
- https://unity.com/news/unity-coming-iphone
Supports
- 2008 iPhone support milestone (10-timeline.yaml)
- https://unity.com/news/unity-technologies-launches-3rd-party-marketplace-unity-asset-store
Supports
- 2010 Unity Asset Store launch (01-intro.md, 10-timeline.yaml)
- https://unity.com/news/unity-4-0-launches
Supports
- 2012 Unity 4.0 release milestone (10-timeline.yaml)
- https://unity.com/news/unity-5-here
Supports
- 2015 Unity 5 and free Personal edition milestone (10-timeline.yaml)
- https://unity.com/news/unity-announces-upcoming-releases-5-6-and-unity-2017-beta
Supports
- 2017 switch to year-based version numbering (10-timeline.yaml)
- https://unity.com/blog/engine-platform/on-dots-entity-component-system
Supports
- 2019 DOTS/ECS first detailed post (10-timeline.yaml)
- https://unity.com/news/unity-announces-pricing-initial-public-offering
Supports
- 2020 IPO pricing milestone (01-intro.md, 10-timeline.yaml)
- https://unity.com/blog/an-open-letter-to-our-community
Supports
- September 2023 Runtime Fee revision (01-intro.md, 03-cheatsheet.md, 10-timeline.yaml, quiz 11)
- https://unity.com/blog/news/unite-2023-keynote-game-development-unity-6
Supports
- November 2023 Unity 6 naming announcement (10-timeline.yaml)
- https://unity.com/pricing-updates
Supports
- September 2024 Runtime Fee cancellation (01-intro.md, 03-cheatsheet.md, 10-timeline.yaml, quiz 11, field notes tradeoff and shift)
- https://unity.com/blog/introducing-unity-6-launch
Supports
- October 2024 Unity 6 global launch (10-timeline.yaml)
- https://unity.com/pricing
Supports
- Personal/Pro/Enterprise tiers and revenue thresholds (01-intro.md, 03-cheatsheet.md, quiz 10, field note tradeoff)
- Read-only Pro/Enterprise source access and the separately priced Source Code Adapt modification tier (01-intro.md, 02-slides.md, 03-cheatsheet.md, 07-video-script.md, 11-products.yaml, 13-dontpanic.md, quiz 12)
- https://unity.com/releases/editor/qa/lts-releases
Supports
- 06-links.yaml reference entry; data/course-update-sources.yaml registry page_url
- https://unity.com/releases/editor/lts-releases.xml
Supports
- data/course-update-sources.yaml registry feed.url
- https://medium.com/@ragso/dreamfall-chapters-extreme-makeover-edition-or-the-rocky-road-to-unity-5-48e1f22ea62
Supports
- Field note mistake card on mid-project engine-version upgrades
- https://dotween.demigiant.com/
Supports
- 09-awesome-links.yaml entry
- https://arongranberg.com/astar/
Supports
- 09-awesome-links.yaml entry
- https://www.photonengine.com/pun
Supports
- 09-awesome-links.yaml entry
- https://heroiclabs.com/
Supports
- 09-awesome-links.yaml entry
- https://developer.vuforia.com/
Supports
- 09-awesome-links.yaml entry
- https://github.com/Cysharp/R3
Supports
- 09-awesome-links.yaml entry
- https://github.com/Fungus-Community-Edition/Fungus
Supports
- 09-awesome-links.yaml entry
- https://github.com/RyanNielson/awesome-unity
Supports
- Discovery source for 09-awesome-links.yaml entries
- https://www.unrealengine.com/
Supports
- 11-products.yaml entry
- https://godotengine.org/
Supports
- 11-products.yaml entry
- https://www.cryengine.com/
Supports
- 11-products.yaml entry
- https://o3de.org/
Supports
- 11-products.yaml entry
- https://www.cocos.com/creator
Supports
- 11-products.yaml entry
- https://gamemaker.io/
Supports
- 11-products.yaml entry
- https://defold.com/
Supports
- 11-products.yaml entry
- https://create.roblox.com/
Supports
- 11-products.yaml entry
- https://www.blender.org/
Supports
- 11-products.yaml entry
