Week 1 — Unity Fundamentals · w1d3 · 1h 48m

W1D3: Assets, GameObjects and Components

What assets, GameObjects and components actually are, plus the Asset Store, package manager, physics and render pipelines.

Lucian Lazar · 11 Jul 2024

The third stream is the “what is everything made of” session. Lucian walks through the Unity vocabulary you’ll be tripping over for the rest of the course — assets, GameObjects, components — and does it by clicking around a live project rather than reading definitions off a slide. It opens with about fifteen minutes of course admin: narrowing the project list down to three games students can pick from for their graded project. If you want the technical part, skip ahead; if you’re deciding whether this course has structure behind it, the first section is the one that shows the reasoning.

What’s covered

Picking the course project (first ~15 minutes)

  • Why the project list gets cut to two or three games instead of “build whatever you want” — Lucian’s take is blunt: if everyone builds something different, he can’t teach the right way of doing it, and grading falls apart.
  • The three shortlisted games: Magic Jewelry (a Tetris-adjacent puzzle game, the “easy mode” pick since he’s already building Tetris as a teaching example), a 3D sniper shooter, and a 2D platformer.
  • The platformer gets added because the other two keep you in one place, and a platformer gives you actual movement and a camera that follows.
  • Side advice: go post on the Unity forums constantly. Lucian explains why people answer for free — they sell assets, they want exposure — and says he figured that out embarrassingly late.

Assets

  • An asset is a file. 3D models, textures, audio clips, scripts, animations, sprites, plugins, whole template projects.
  • Unity converts whatever you throw at it into its own internal formats — you hand it a PNG, you work with a Texture; you hand it an MP3 or WAV, you work with an AudioClip.
  • Creating a script from the project window, why Unity defaults new scripts to MonoBehaviour, and why the class name must match the filename.
  • A live demo of Update, Start, transform, and Time.deltaTime, including the moment where the rotation goes the wrong way and he has to fix it with Space.Self on camera.

Animation as an asset

  • Creating an Animator Controller, dropping a clip in, recording keyframes on a cube, and seeing the entry state fire on play.
  • Opening the .anim file in a text editor to show it’s just readable instructions about keyframes and interpolation, not magic binary.
  • Setting a clip to loop, and accidentally creating an animation event (then deleting it) along the way.

Asset Store and packages

  • Exporting a folder as a .unitypackage, including the “select none then pick your folder plus dependencies” gotcha.
  • A tour of the store: audio packs, VFX, shaders, complete game templates. Lucian’s admission that he reinvented far too many wheels early on and should have bought more.
  • Importing the free Pixel Adventure pack, and his convention of dropping anything downloaded into a Plugins folder so your own code stays clean.
  • Why an imported Asset Store package doesn’t show up in the Package Manager — there’s no hard link once files land in your project — versus UPM packages, which behave like npm with a manifest.

GameObjects and components

  • Everything in the scene is a GameObject, including the directional light, the canvas, and empty objects used purely as logic holders (an ads manager with a script on it, for example).
  • Creating UI: canvas, auto-created EventSystem, screen space overlay, and why the canvas is enormous compared to a 1×1×1 cube.
  • Transform vs RectTransform, and what the pivot actually does when you rotate or scale a UI element.
  • Mesh filter + renderer for looks, collider + rigidbody for physics.
  • Rigidbody settings walked through live: mass, gravity, isKinematic, constraints (freeze Z and rotation for a platformer), and the collision detection modes with discrete being cheapest and tunneling being the price you pay.
  • Physics materials as a separate asset from visual materials — bounciness cranked up on a sphere to make a ball.

Editor navigation and render pipelines

  • Q/W/E/R/T, the rect tool for blocking out platformer geometry, snapping rotation to 15° increments with Alt/Cmd, orthographic vs perspective.
  • The scroll-wheel-gets-slow problem and how to fix it by middle-clicking or double-clicking a nearby object to reset the view pivot.
  • Built-in vs Universal vs HDRP. The recommendation is plain: learn BiRP first because it’s easiest and has by far the most community shaders, then move to URP later.

Timestamps

  • 00:00:00 — Stream setup, waiting for attendees, first look at the project list
  • 00:03:30 — Why the course needs standardised projects instead of free choice
  • 00:07:00 — Magic Jewelry as the low-risk option and how it relates to the Tetris build
  • 00:11:30 — Adding the 2D platformer, and what a minimum viable platformer looks like
  • 00:16:00 — Use the Unity forums, and why strangers answer your questions for free
  • 00:21:00 — Slides start: assets are files — models, textures, audio clips
  • 00:25:00 — Creating a script, MonoBehaviour, filename must match class name
  • 00:28:00 — Update vs Start, transform.Rotate, and what Time.deltaTime is for
  • 00:34:00 — Space.Self and rotating around the object’s own axis
  • 00:38:00 — Animator controller, recording keyframes, looping, opening the .anim file
  • 00:47:00 — Sprites, sprite sheets, UI images
  • 00:50:00 — Exporting a .unitypackage and sharing assets
  • 00:54:00 — Asset Store tour: audio, VFX, complete game templates
  • 01:00:00 — Importing Pixel Adventure and the Plugins folder convention
  • 01:06:00 — Package Manager, UPM vs Asset Store packages, built-in modules
  • 01:12:00 — GameObjects: lights, empties as logic holders, creating a canvas and UI image
  • 01:18:00 — Units, scale, and the rect tool for blocking out a platformer
  • 01:26:00 — Scene view navigation, view pivot, fixing slow zoom
  • 01:30:00 — Transform vs RectTransform and how pivots affect rotation and scale
  • 01:34:00 — Colliders, rigidbodies, physics materials, making a bouncing ball
  • 01:40:00 — isKinematic, constraints, collision detection modes
  • 01:44:00 — Built-in vs URP vs HDRP, shaders and Shader Graph
  • 01:50:00 — Answering the 2D platformer question, and the homework: pick your game

What you build

Nothing shippable. This is a tour with your hands on the mouse. By the end you’ll have made a cube rotate from a script, recorded a keyframe animation on it, imported a free Asset Store pack, built a canvas with an image on it, and dropped a bouncy sphere onto the floor. The point is that you stop being confused about which panel does what and which noun means what.

The rotation script, roughly as written on stream:

public class MyTestScript : MonoBehaviour
{
    void Update()
    {
        transform.Rotate(Vector3.up * 30f * Time.deltaTime, Space.Self);
    }
}
Thirty degrees per second, not per frame. That's what `Time.deltaTime` buys you, and Lucian spends a good few minutes on it because getting this wrong is one of the most common beginner bugs.

## Who should watch this

Anyone starting Unity who keeps hearing "just add a component" and doesn't know what that means. It's also the session where the course project options get locked down, so if you're enrolled you need the first fifteen minutes to know what you're committing to. If you've already shipped something in Unity, most of this will be revision — though the package manager section and the render pipeline comparison are worth a skim.

Part of the full curriculum. Course overview.