
Create your Unity id to access the entire Unity ecosystem, download and install Unity for free. Click the profile icon to create your Unity id and confirm your email.
Download and install the Unity Hub to manage multiple Unity versions and projects. Use the student and hobbyist free plan, with personal edition downloads for Windows or Mac.
Learn to use Unity Hub to install and manage multiple Unity editor versions (2020 LTS, 2021 LTS), enable Visual Studio 2019, and configure Android and web build supports Io2 CPP.
Create a new Unity project using the 3D core preset, select editor version 2020.1.3, explore templates like 2D, 3D, URP, and VR core, and save to a designated folder.
Master the Unity editor essentials—scene view, game view, hierarchy, inspector, project view, and console—and learn to create objects, adjust a camera, and test your game in the editor.
Improve Unity workflow by adopting a default to tall layout, docking the game view under the scene view, and organizing the hierarchy, inspector, project, and console for efficient game development.
Learn to use Unity by creating a scene, centering and scaling a floor cube, then add a sphere, a capsule, and a cylinder around it.
Create game objects in the hierarchy, add a cube, capsule, and cylinder, position them, adjust rotation and camera alignment, zoom with the mouse wheel, and rename objects in the inspector.
Learn to fly through the scene in Unity, using the right mouse to pan and look around. Use the z keys to move, and the scroll wheel to adjust speed.
Learn to manipulate game objects with scene tools, toggling 2d mode and lighting, and use the transform component for move, rotate, and scale, and the rect tool for UI scaling.
Create and manage materials to attach color and textures to game objects, using albedo color and material sharing rules to control visual changes, and create distinct materials for unique colors.
Create and manage Unity scenes as levels, save new built-in scenes with a camera and directional light, switch between them, and note they don’t communicate unless connected.
Explore basic level design concepts, learn object placement, and use vertex snapping with a plane as the floor to accurately align objects for prototyping.
Begin in a blank scene on canvas and create a floor with a sphere hovering slightly above it, then prepare for the challenge review.
Create a floor plane at the world origin, rename it floor, and position a sphere hovering above the center, lifting it by grabbing the bottom vertex with the V key.
Create two materials, assign red to the floor and blue to the ball, and place them in a new folder named materials in the project view.
Create floor_matte red and ball_matte blue materials in materials folder by setting albedo colors, then drag them onto floor and ball in the scene or hierarchy and save the scene.
Enter Unity animation basics by creating simple keyframe animations and opening the animation window. Dock the window beside the scene view as you prepare to keyframe a floating orb.
Open the animation window, select an object, and create an animation clip in an animations folder named sphere hover. The animator controller holds this clip for keyframing the sphere.
Create a hover animation by recording keyframes in the animation window, adjust the frames per second for smooth looping, and apply the sphere animator controller.
Create a cube at 0,0,0 beside a sphere and practice one-at-a-time keyframe animations, then ping-pong the sphere up and down using an animation clip.
Animate a cube in Unity by creating a cube move animation clip, adding an Animator component, and keyframing with record mode, then preview looping in the Animator.
Record and keyframe a mesh renderer's albedo alpha in Unity to animate transparency on a sphere, not just its transform, and switch rendering mode to transparent to reveal the effect.
Learn to create and manage multiple animation clips for a game object, such as cube move and cube sideways, set a default state in the animator, and prepare for transitions.
Learn to create animation transitions in Unity by linking two clips, cube sideways and cube move, using the animator controller. Adjust speeds, test in play mode, and save the scene.
Animate the sphere with a second animation moving forwards and backwards, then set up a ping-pong transition so it loops: hover animation, then forward and back, then back to original.
Animate a sphere by creating forward and hover clips, keyframing positions, using a ping-pong loop, lowering the sample rate, and configuring has exit time for transitions.
Explore Unity's physics properties and create physics based game objects. Set up your environment and scene with a cube, a ramp, and a ball to complete the challenge.
Create a new physics scene from scratch by adding a floor plane and a ramp from a scaled cube, then position, rotate, and drop a sphere to demonstrate physics.
Learn how the rigidbody component adds mass, drag, and gravity to objects with colliders, enabling realistic physics interactions and movement like a rolling sphere and collisions with walls.
Create a physics material in Unity and apply it to the sphere, ramp, and walls to control bounciness and friction, exploring dynamic and static friction values.
Understand how play mode in Unity runs in the scene view, and why changes don’t save until exit play mode, using the play mode tint as a visual cue.
Build a full-fledged Unity 3D zombie shooter without coding, importing assets, creating audio, shotgun effects, and AI, while moving with Z keys and running with left shift.
Create a brand new 3d core Unity project named zombie shooter from scratch, save it to your preferred location, and prepare to import assets using a tool called File Base.
Download and unzip the Unity foundations assets, then import each Unity package into Unity to build the zombie shooter scene.
Install the universal render pipeline via the package manager. Convert the built-in scene to URP and upgrade materials for the zombie city.
Install post-processing to enhance visuals with camera image effects, and set up the universal render pipeline along with a post-processing profile featuring bloom, vignette, and color grading.
Drag in the FPS controller, set up a main camera for first-person navigation, and adjust walk and run speed, gravity, jump height, head bob, crouch, and look sensitivity.
drag the shoot script onto the gdq fx controller and wire in the tracer, muzzle flash, smoke particle, and blood splat. test in play mode, adjust volume, and save scene.
Import the zombie rig, configure its animator with walk and death states, and use a navmesh agent with the enemy AI script to chase the player.
Select and apply a reticule as the crosshair to center the aim, then display a target sprite in Unity's UI and test shooting to register hits and blood effects.
Create a game audio object in Unity, attach an audio source, drag a soundtrack into the audio clip, enable play on awake and looping, and set volume to 0.2.
Wrapping up the Unity 101 course, this lecture inspires you to build plug-and-play game components from scratch and explore code in Visual Studio, tweaking serialized damage amounts.
Grab the latest Unity 2019.1 or newer with Unity Hub, create a Personal edition setup, install and manage versions, enable web, Windows, and Android builds, and prep your first project.
Sign in to Unity Hub with a Unity ID to access the ecosystem, then create a Space Shooter Pro project using the latest Unity version with 3D and 2.5D settings.
Explore the Unity editor basics by navigating the scene view, game view, hierarchy, inspector, and project panels to place objects, manage assets like cameras and lights, and test your game.
Navigate the Unity scene view with left-click selection, hierarchy highlighting, right-click pan and zoom, FX mode for free movement, speed adjustment, and focus with the F key.
Learn to manipulate game objects in Unity using translate and rotate tools, adjust position, rotation, and scale via the transform, and explore stretch, rect, and move/rotate/scale tools.
Learn to create and manipulate 3D game objects in Unity, adjust the main camera transform, and apply colored materials via the albedo channel of the standard shader.
Arrange Unity panels to view scene and game in real time, customize the layout, and save a professional layout to streamline workflow with hierarchy, inspector, and project views.
Create a Unity scene, build a blue player cube with a material, set the camera background to solid black, and raise directional light intensity for the 2D game prototype.
Set the aspect ratio to 16:9 to maintain a consistent hd presentation as you stretch the environment, enabling easier porting to consoles, vr, and mobile.
Define the starting position of the player by creating a C# script, attaching it to the player, and setting transform.position to zero using a vector three.
Move the player along the x and y plane using transform.translate in Unity, while learning to read the scripting API and use vector3 directions like right to adjust position.
Multiply Vector3.right by Time.deltaTime to convert frame-based movement into real-time motion, achieving one meter per second.
Explore variables in c# for unity, covering public and private access, data types (ints, floats, bools, strings), naming, and using the serialize field attribute to expose values in the inspector.
Learn to map horizontal input in Unity with the input manager, moving via A/D or arrows by retrieving the horizontal axis value and applying it with transform.translate.
Capture vertical and horizontal inputs from the input manager and move in Unity with transform.Translate using a direction vector and time.deltatime.
Learn to constrain the player with bounds in Unity, implementing wrap on the x axis and vertical clamps on the y axis using if statements and transform.position.
Review the player wrapping challenge, converting the pseudocode into Unity C# code that teleports the player when x exceeds 11.3 or is less than -11.3, preserving the y coordinate.
Refactor the player class by moving movement logic into a dedicated calculate movement method, call it from update, and clamp the y position with Mathf.Clamp between -3.8 and 0.
Create a laser projectile in unity, convert it into a prefab for runtime instantiation, and apply a blue laser material with optional rigid body physics for firing on space press.
Spawn lasers by pressing the space key using instantiate to clone a laser prefab at the player's position with quaternion identity rotation, after handling input in update.
Create the laser behavior in Unity by writing a laser script that moves the laser north at a constant speed of eight meters per second, applied to the laser prefab.
Move the laser upward with transform.Translate and Vector3.up, scaled by time.deltaTime, using a private float speed set to 8.0f for eight meters per second, inspector-adjustable in the space shooter prototype.
Practice to clean up projectiles by destroying lasers when their y-position reaches eight, preventing endless objects from cluttering the scene; implement per-frame movement and off-screen destruction in the laser script.
Learn how to destroy lasers in Unity using a simple if statement on transform.position.y greater than eight, calling the destroy method on the game object.
Adjust the laser spawn offset from the player's center to prevent clipping, implementing a 0.8 unit y-offset and updating the instantiate method to use the object's position plus offset.
Apply a 0.8 unit vertical offset to lasers spawned at the player's position, ensuring each laser appears 0.8 units above the player when the space key is pressed.
Implement a cooldown system to limit firing of lasers by time.time, using a nextFire and campfire check with a configurable fire rate of 0.5 seconds.
Clean up the laser code and comments, and remove the unused start method. Introduce a dedicated fire laser method and handle input in update to fire on space key.
Create an enemy that mirrors the player by duplicating the player into a red, scaled cube, applying an enemy material, and turning it into a prefab for future spawn management.
Implement enemy behavior in Unity C# by moving enemies down at four meters per second and respawning them at the top for reuse, with optional random x positioning.
Move the enemy down at four meters per second with a configurable speed. When it passes the bottom, respawn at the top and randomize its x position using random range.
Explain hard surface vs trigger collisions in unity, using colliders and rigidbodies with isTrigger to detect hits and destroy lasers and enemies while damaging the player.
Learn to implement collision-based destruction in Unity by destroying enemies on player contact, and destroying lasers on laser contact, using tag checks in the enemy script.
Clean up Unity scripts and set up a spawn manager to spawn enemies for gameplay. Refine player damage and collision logic, add serialized fields, and ensure destruction on life loss.
Create a spawn manager to continuously spawn enemies as the game runs, using timed or randomized intervals in Unity. Attach a Spawn Manager script to an empty holder object.
Spawn enemy prefabs every five seconds in Unity by using a coroutine of type enumerator with yield to wait for seconds.
Learn to build a spawn routine with Unity coroutines and StartCoroutine. Instantiate an enemy prefab at a random x between -8 and 8, then wait five seconds.
organize spawned enemies by instantiating them under an enemy container in the spawn manager, using a stored GameObject reference to set the parent transform.
Learn to stop spawning when the player dies by linking the player to the spawn manager, using a stop spawning flag and GetComponent communication.
Import the custom assets pack, including audio and sprites, into the Unity project, preview the explosions and animations, and convert the 3D prototype to 2D for UI and power-ups.
transition from prototyping to production in Unity by converting the 3D player into a sprite, adding a nebula background, and using 2D mode with sorting layers for proper rendering.
Convert the 3d player to a 2d sprite by attaching the player script, wire laser prefab, tag as player, and adjust sorting layer; convert lasers and cubes to 2d colliders.
Convert the enemy from 3D to 2D by removing mesh components, adding a sprite renderer, using a 2D collider and 2D rigidbody with gravity zero, and set foreground sorting layer.
Rebuild the laser in 2D, drag in a new sprite, add collider and rigidbody, set is trigger, tag the laser, and prefab it for a polished 2D production.
Create and set up a triple shot power-up by assembling three laser prefabs, parenting them into a single triple shot object, and prefab it for efficient instantiation in Unity.
Develop triple shot behavior by using a boolean flag to track when the triple shot is active, switching to three lasers for five seconds after collecting a power-up.
Demonstrates implementing triple shot behavior with a private boolean isTripleShotActive, firing three lasers when active and one when not, by instantiating a triple shot prefab and testing via the inspector.
Create a triple shot power up with a 2D collider and rigid body, move it down at speed three, and destroy on player collection via on trigger 2D.
Review explains implementing the triple shot power-up as a scrolling collectible: translate down with a speed variable, detect offscreen destruction, and handle player collision to collect and destroy the power-up.
Implement a triple shot power-up in Unity by enabling a public tripleShotActive method and using a coroutine to disable after five seconds via script communication.
Set up a triple shot power-up by communicating between the power-up and player scripts, enabling triple shot, and starting a five-second power-down coroutine that disables it.
Implement parent destruction in the laser script so that when lasers are destroyed after power-down, their parent objects are also removed, preventing leftover triple-shot objects.
Identify and destroy the parent object of a laser when present by checking transform.parent for null, then destroy the parent game object to remove the entire hierarchy.
Animate the triple shot power up by creating an animation clip, using the animator controller, and applying keyframes in Unity’s dope sheet to control looping.
Modify spawn manager to include the triple shot power up and add a spawn power up routine that triggers every 3 to 7 seconds at a random x and y=7.
Spawn a triple shot power up at a random x between -8 and 8 with y fixed at 7, using a coroutine and prefab instantiation, then repeat every 3–7 seconds.
Organize the project by creating dedicated prefab folders for enemy and power ups, and tidy up scripts by removing unnecessary comments to prep for more power ups.
Modular power up creation teaches building a speed power up with reusable power up logic using a single script and power up IDs to distinguish triple shot, speed, and shields.
Explore a modular power-up system in Unity, mapping ids to triple shot, speed, and shields, with clean if-else logic and future switch-based optimization.
Switch on the power up id to replace dozens of if-else checks with a clean switch statement, using cases, break, and a default, improving readability and efficiency in Unity.
Learn to implement a speed power up that increases speed from five to 8.5 m/s, then reverts after five seconds, integrated with the movement system and power up collection.
Learn to implement a speed boost power up in Unity by using a speed multiplier, activation and cooldown via a coroutine, and updating player movement with conditional speed scaling.
refactor the spawn manager by replacing hardcoded instantiation with a power ups array that maps IDs to prefabs and randomizes spawns for speed boost, triple shot, and shield.
Animate the speed boost powerup using the provided speed sprite animation, apply the override to the prefab, and ensure the animation carries when instantiated in the scene.
Animate the speed boost power up by creating a new animation clip, adding sprites, and arranging frames in the dopesheet. Test animator, apply overrides, and ensure speed plays on launch.
Drag the first frame into the hierarchy, rename and resize it, attach the required components, and assign it power-up behavior, then preview the shield animation in the next video.
Set up shield power up by adding a 2D circle collider and rigidbody 2D with gravity scale zero. Attach the power-up script, assign its ID, and animate into a prefab.
Integrate the shield power up into the spawn manager, extend logic to support three power ups, and randomly instantiate zero, one, or two for varied spawns.
Implement the shields power up in Unity, enabling one-hit invincibility by returning in the damage method when shields are active, then deactivating on the next hit; test in the editor.
Implement shield behavior in Unity with a private isShieldsActive boolean and a ShieldsActive method, granting one-hit invincibility before deactivating shields and wiring shield power-ups via OnTriggerEnter.
Make the shield a child of the player and toggle the shield visualizer on collection and off when inactive, using a variable reference and a ShieldsActive method.
Visualize shields in Unity by wiring a shield visualizer as a private GameObject, assigning it in the inspector, and toggling it with SetActive(true/false) to show or hide on damage.
Animate the shield visualizer by creating a new shields_visualizer_anim clip, dragging all sprites into the dope sheet editor, previewing, saving, and testing with the animator on the active shield object.
Create a live-updating score display in Unity by building a UI canvas and a score text, anchored to the top-right and scaled with screen size.
set up a UI manager to update the on screen score by binding a score variable to a text component, initializing at 50 and adding ten when enemies are destroyed.
Learn to implement a player score system in Unity with C# by adding ten points for destroying enemies, caching getcomponent calls via a player reference, and updating the UI efficiently.
Implement the lives display by swapping sprites in a UI image based on lives, starting with three and updating as they decrease, using a sprite array and update lives method.
Create a UI text named game over on the canvas, set its message to game over in white, and display it when the player runs out of three lives.
Display the game over text when three lives are depleted by wiring a UI manager field, dragging the text into the inspector, and toggling the text object on.
Practice building a flicker effect for the game over text in Unity by toggling the text component or the game object's active state to simulate a retro arcade flicker.
Learn to implement a game over text flicker using a UI manager, coroutines, and a flicker routine that toggles text every 0.5 seconds.
Implement a restart feature: show a white 'press the R key to restart the level' message during game over, and load a new scene when the R key is pressed.
Press the R key to restart the level after game over, using a game manager's game over flag and scene manager to reload the current scene.
Create a Unity main menu for a galaxy shooter with a nebula title screen and a new game button that loads the game scene via scene manager, plus credits.
Apply vfx and audio to explosions, thrusters, and asteroid destruction using sprite animations and prefabs, then control enemy death with a trigger in the animator, plus post-processing and deployment options.
Implement enemy explosion in Unity by accessing the animator component, using GetComponent and SetTrigger to fire the death animation on collision or destruction, then destroy the enemy.
Set up the enemy's animator, trigger the on enemy death animation, and destroy the object after the clip. Freeze movement by zeroing speed and disable has exit time for transitions.
place a rotatable asteroid that starts an enemy wave when shot, using a circle collider and 2D rigidbody. prefab the asteroid, create a behavior script, and experiment with rotation speed.
Define a rotateSpeed field, expose it in the inspector, and rotate the asteroid with transform.Rotate on the z axis using Vector3.forward and Time.deltaTime; disable gravity.
Instantiate an explosion prefab at the asteroid’s position when a laser collision occurs, and animate the explosion using a dedicated animation. Destroy the explosion after three seconds to clean up.
Explore implementing asteroid explosions in Unity: detect laser collision with Ontriggerenter 2D, instantiate an explosion prefab at the asteroid, destroy the asteroid and laser, and add a self-destroying explosion script.
Connect the asteroid to the spawn manager by using GameObject.Find and GetComponent, then call a public start spawning method when destroyed, and delay spawning with WaitForSeconds.
Attach a thruster sprite to the player, adjust its scale and position, and create a thruster animation in the Unity animation window using the first to last frames.
Visualize player damage by adding left and right engine thrusters, positioning them above the sprite, and enabling engines as lives decrease until game over at three hits.
Explore implementing player damage visualization by wiring left and right engine thrusters, enabling them as lives decrease, and animating engine failure with inspector setup and animator controllers.
Install the post-processing package from the Unity package manager to apply image effects and filters, acting like a Photoshop for your game, and recompile your project.
Create a global post-processing profile and apply bloom, color grading, and tonemapping by configuring a post-process volume and the main camera's post-process layer.
Create an audio manager with a background object and audio source, attach a music clip, and enable play on awake and looping to bring the game to life.
Learn to play the laser shot sound after the visual effect by storing the audio clip in a variable and using an audio source in the player script when space is pressed.
Learn to add a laser sound in unity by using an audio source and clip, assign the laser clip, retrieve the audio source with get component, and play on fire.
Implement an explosion sound in Unity C# by playing it when destroying the asteroid, the enemy, or the player, and research solutions during the challenge review.
Attach an audio source to asteroids, enemies, and explosions, assign the explosion clip, and play it when the explosion prefab instantiates, testing across player and enemy interactions.
Play the power up sound when you collect a power up to provide immediate audio feedback during gameplay.
Learn to play a power-up sound in Unity by using play clip at point to play a clip at the power-up's position, avoiding audio cutoff when the object is destroyed.
Explore deployment options for games by building WebGL, PC/Mac, and Android mobile versions to share your game with friends, family, and the world.
Learn how to build a Unity game for pc, mac, and linux, configure build settings and player options, and manage full screen, windowed mode, and quit behavior.
Build a unity webgl game by selecting the webgl platform, switching color space to gamma in player settings, compiling, and deploying the index.html to a web server.
Improve the space shooter by cleaning up and enhancing its features in this extra section, and share ideas like a wave system, multiplayer, or co-op in our community.
Fixes an enemy explosion bug by destroying the collider 2D after a hit to prevent multiple explosions and sounds from repeated collisions.
Add enemy fire by implementing randomized shooting every 3 to 7 seconds, with bullets descending toward the player in Unity C#.
Add enemy fire by instantiating enemy lasers under container, use a laser script for enemy and player lasers, and loop through lasers to assign them, with a 3–7 cooldown.
Use the game manager to quit the application when the escape key is pressed, enabling a clean exit from full screen gameplay.
Use a simple check for the escape key to call application.quit in full-screen Unity game. Note that quit is ignored in the editor and requires a build to test.
Set the triple shot prefab z-axis to zero and align each laser's z, apply overrides, then test in play to ensure bullets spawn at the correct position.
Master virtual reality basics in unity using no code tools as you tackle the VR pentathlon, five mini projects on spatial interaction with the XR Interaction Toolkit.
Set up a Meta Quest 2 as a developer device from scratch. Pair with the Meta Quest app, sign in, update software, and configure guardian boundaries and Quest Home.
Download and install the Oculus Rift software, configure Quest 2 for PC VR using Air Link or link cable, enable unknown sources, and get up and running with Unity.
Create a new Unity project with the URP template, install XR Plugin Management, and enable the Oculus plugin to connect Unity to Oculus Link.
Install the XR interaction toolkit and switch to the new input system. Explore starter assets, presets, and the input actions asset to customize bindings and study an XR origin setup.
Explore the xr interaction toolkit demo scene with teleportation areas and anchors, grab interactables in kinematic, instantaneous, and velocity tracked modes, and a ui example.
Explore XR interaction toolkit by building an XR rig with locomotion, then use grab and activate interactables, socket interactors, and a 3D UI that activates to knock down a building.
Build a simplified XR origin from the XR interaction toolkit, positioning the player's perspective at the scene origin and adjusting x, z, and rotation for a usable VR experience.
Explore the XR origin component and its role in room scale VR, including camera offset, main camera, and left and right hand controllers, while comparing floor-based and device tracking origins.
Enable the input action manager to activate all actions from the new input system on enable, and listen for headset data including head position, hand position, and button presses.
Explore XR controller component in Unity's interaction toolkit, handling position, rotation, tracking state, and actions like select and UI press. Presets wire left and right controllers and assign hand models.
Discover how the ray interactor creates a visible raycast with the line renderer and XR line visual to interact with distance objects, and start adding locomotion to the XR rig.
Configure the main camera as the head using a tracked pose driver that applies XR head mounted display eye position and rotation, with default XR origin bindings for head tracking.
Connect the locomotion system to the XR origin to manage movement requests from move providers, acting as a gatekeeper between systems. Use the help button to view the documentation.
Learn to use the XR interaction toolkit by reading the documentation, following the locomotion guide, and configuring the XR origin with input actions, a locomotion system, snap turn, and teleportation.
Add a snap turn provider to the locomotion system, compare it with continuous turning for comfort, and set 45-degree turns with debounce time and preset input mappings.
Add a continuous move provider in VR, configure move speed and gravity, choose a forward source (main camera or left hand controller), and resolve conflicting snap turns alongside teleportation.
Attach a collider to the XR origin, switch to a character controller, and use the character controller driver with a continuous move provider to auto adjust height and enable collision.
Add a teleportation provider to the XR rig, linking it to the locomotion system and XR origin, to enable teleport actions after setting up continuous movement and snap turns.
Add the teleportation provider, teleportation areas, and anchors to ground planes; configure the teleportation trigger to grip press via XR controller select actions, with hover cues indicating selectability.
Learn to manage two controllers for interaction and teleportation in Unity using the action based controller manager to switch between ray interactor and teleport interactor via activate and cancel actions.
Set up the xr origin with an action based controller manager and ray interactor, add direct and teleport interactors, and configure xr interaction group to map teleport to joystick forward.
Learn to isolate interactions with the interaction layer mask, letting the teleport interactor target only teleport objects while the ray interactor handles everything else, then validate left-hand behavior.
Explore curved raycasts for teleporting, choosing between projectile and bezier curves. Adjust velocity, acceleration, ground height boost, flight time boost, and sample frequency for a smoother teleport path.
Change the teleport line color in Unity by updating the line interactor's color scheme to a blue gradient for valid targets, creating a more teleporty feel.
Spawn a ground teleport reticle from the line visual component to show your destination, using the default directional reticle and enabling match directional input to align direction after teleport.
Create and apply new materials for the teleport reticle and blocked version, adjust blue and red emission, and switch to fade rendering for transparency; observe consistent updates across all prefabs.
Place teleportation anchors around the obstacle course to enhance navigation and accessibility, using the teleport pad prefab from starter assets and experimenting with anchor placements for faster travel.
Place teleport anchors aligned with the blue forward arrow to set the facing direction. Test the pads and tune configuration options to smooth the teleport process.
Debugs teleportation by adjusting anchor selection and ray interactor settings, compares prefab and XR rig, and aligns select action options to improve consistency.
Navigate the xr rig with teleportation and anchors, completing event one and advancing to event two, then begin exploring grab interactables in the next section.
Import hand models to replace virtual hands in the XR rig and enable grab interactables in VR by attaching hands from filebase and testing with the XR origin.
Add hand models to your XR rig using model prefab, linking left and right hands to the XR controller components so they track the controllers, with rotations adjustable if needed.
Apply a transparent blue material to VR hands using prefabs. Experiment with shader graph ideas, such as a Fresnel effect, to customize the hands, and animate them for grip input.
Import and set up hand animations in Unity with the XR interaction toolkit, selecting default and fist FBX files for left and right hands, and explain bone structures driving animation.
Open the left or right hand prefab, inspect the parent object and its capsule colliders, and learn how a skinned mesh renderer uses bones to animate and collide.
Preview hand animations on the model, then fix name mismatches with the underscore replace tool by converting underscores to colons to restore the left hand fist animation.
Create a runtime animator controller as a state machine to cycle left hand animations based on conditions, assign it to the left hand animator, and open its window.
Create animation states for hands using a simple state machine in the animator controller. Define open and closed states, add transitions, and configure state speeds in the inspector.
Assign animations to states by setting open state's default motion and closed state's fist motion; lock the inspector and drag the left hand motion (fbx take 001) into each state.
Learn to create and manage state transitions in Unity by linking open and closed animation states, inspector options, and disabling exit time to trigger transitions only when something happens.
Add parameters and triggers to control unity animations, using select and deselect to drive transitions for left and right hand xr controllers with the xr interaction toolkit.
Replicate the left hand animation approach for the right hand. Identify which parts stay the same and which require adjustments.
Duplicate the left hand animation controller, swap to the right hand, and assign its animator controller. Observe open/close transitions driven by select and deselect parameters enabling grabbing in Unity.
Wire up XR interaction toolkit components to make basketball prefabs grabbable in this overview. The hoop's collider and rigid body work with the hoop script to update the scoreboard.
Modify basketball prefabs by adding a sphere collider to define physical boundaries and enable automatic sizing, preparing for the upcoming grab interactable component.
Add an XR grab interactable to a prefab, explore movement type and interaction options, including interaction layer mask, then use ray interactor to grab, throw, and refine the character controller.
Set the XR origin's character controller radius to 0.25 meters to reduce collisions and keep a safe distance from basketballs, and use the direct interactor for grabbing Grabbable objects.
Learn to prevent collision between an XR origin and grab interactables using physics layers and the layer collision matrix, unchecking XR origin and grab interactables to solve movement weirdness.
Use dynamic attach in the XR interaction toolkit to grab objects at the grab point, not the center. Adjust attach transform, snap to collider volume, and rotation settings for picks.
Convert the left hand into a direct interactor only, eliminating ray interactions and aligning with the right hand’s direct interactor setup.
Remove the ray interactor visuals, add an XR direct interactor to the left hand, fix the interaction manager reference, and demonstrate isTrigger sphere collider behavior for both hands.
Adjust basketball physics by creating a physics material, tuning bounciness and friction, and altering mass and throw velocity to simulate realistic throws and score points in the hoop.
Apply a physic material to the ground to control bounce, balancing ground and ball bounciness, then experiment with separate materials for different areas.
Replace basketballs with tennis ball, football, and beach ball in a Unity scene, create prefabs, and organize them in the correct hierarchy for reusable dynamic objects.
Turn the tennis ball into an interactable object by enabling pick up, throw, and collision with other objects, using the basketball as a reference.
Make the tennis ball interactable by adding a sphere collider, rigidbody, and XR grab interactable, adjust throw velocity, mass, and enable dynamic attach for realistic grabbing and respawn.
Create a physics material for the tennis ball in Unity, adjusting bounce to suit the ball, as demonstrated for basketball and ground, and review the solution video.
Create and assign a tennis ball physics material to its sphere collider, adjust bounciness and friction, and switch to continuous collision detection to prevent floor penetration and refine feel.
Dial in the tennis ball feel by tweaking rigid body mass and throw velocity on the grab interactable to score with the basketball net, reinforcing Unity physics mechanics.
Dial in the tennis ball feel by adjusting throw velocity scale, mass, and drag to form a natural arc and place ball on the grab interactable layer for XR origin.
Apply the same changes to the football and beach ball to make them feel unique, exploring different parameters and collider options beyond a sphere collider.
Tune colliders to match football and beach ball shapes, apply rigidbodies and grab interactables to prefabs, adjust mass, drag, throw velocity, physics materials, and add two balls.
We complete event number two by testing throws with tennis balls, a football, and a beach ball to score points and verify mechanics, then move on to the shooting event.
Advance to event three to activate interactables with the handgun and pistol controller script; targets with colliders respond to trigger pulls with muzzle flash and a hit prefab.
Take on a challenge to make the pistol grabbable by testing different colliders to best match its shape and feel, with a solution video to review results.
Make the pistol grabbable by adding an xr grab interactable, a rigidbody, and a handle-focused compound collider, limit grabs to the handle, and adjust the xr origin.
Use an attach transform to align the hand with the gun, creating an attach point for a precise grip. Iterate by moving the point and testing until it fits.
connect the activate event on a grab interactable to the pistol controller's trigger pull method, so pulling the Oculus Touch trigger produces a muzzle flash and gun firing.
Tag all targets as target to enable hit detection, trigger muzzle flash, and provide hit feedback via raycast and hit prefab. The video sets up sound effects next.
Learn to add a gunshot sound effect by configuring an audio source on the gun, setting play on awake off, 3D spatial blend, and triggering play through an interaction.
Add a second pistol to your Unity scene by importing a one-handed gun, making it grabbable, and configuring a pistol controller script to mirror the first pistol's functionality.
Learn how to add a second pistol to a Unity scene by importing FBX, unpacking the prefab, and setting up a pistol controller with colliders, grab interactable, and 3D audio.
Import and place a two-handed shotgun as a grab interactable in the scene, exploring two-handed weapon setup and interaction within Unity.
Rename the object to shotgun, add a box collider, adjust the bounding volume, and create a ray point with an attach transform to enable XR grab interactable behavior.
Learn to implement two-handed interaction for a shotgun with the XR interaction Toolkit, switching between single and multi-hand modes, and configuring a secondary attached transform for natural hand placement.
Add a shotgun sound by locating a shotgun audio file in the file base and playing it when the grabbable object is activated, matching the revolver and pistol setup.
Implement a shotgun sound by adding an audio source, playing on activation with 3D spatial blend, importing and assigning the shotgun clip, and confirming three working guns in the scene.
Add a sword as a grabbable melee weapon in the scene, enabling two-handed grabs and experimenting with movement types, including kinematic or velocity tracking.
Add a melee sword to the scene, unpack the prefab, add the grab interactable component, and set blade, hilt, and handle colliders for two-handed grabbing with velocity tracking.
Add a rocket launcher to your scene by wiring the rocket prefab using the existing script and unity events to launch the rocket, incorporating two-handed interactions and sound playback.
Drag in the rocket launcher, add a grab interactable and box collider, configure two-handed grab points, enable kinematic movement, and implement rocket firing with a prefab, sound, and explosion.
Add a rigidbody and a trigger capsule collider to the rocket prefab, disable gravity, set istrigger, and test the ontriggerenter explosion in the rocket collision lesson.
Explore the escape room using a socket interactor to dock a key into the keyhole, turning a drawer into a grab interactable to open the door.
Examine how to make a cabinet drawer in Unity using a configurable joint for linear movement, lock axes, and prepare for VR by attaching a handle with a fixed joint.
Attach a handle as a child of the top drawer, connect it with a fixed joint, and test that grabbing opens the drawer in vr.
Understand why the handle is a separate rigid body with a fixed joint, not the whole draw as a grab interactable, to preserve controlled physics.
Tackle a challenge to convert the key into a grabbable object in Unity, reinforcing repeated techniques for making objects grabbable.
Make the key a grabbable object by adding a box collider and a grab interactable, then plan to fix the drawer collision in the next video.
Add a collider to the drawer to interact with the key, evaluate mesh, cube, and box options, then use a bottom box collider to prevent the key from dropping.
Configure a socket interactor on the keyhole to accept the grabbable key, enable a live preview, and trigger hover and select events as you dock the key in.
Use interaction layer masks to restrict a socket to key objects only by creating a key layer and assigning it to the socket and the key.
Examine how the door's animator controller, avatar, and a door open trigger drive a transition from the closed state to the open animation when the socket activates.
Learn to connect a socket interactor to a door animator, using the select enter event to trigger the door open animation via the set trigger name door open.
Add a head socket and wear a hat as a socket object, then preview the result in a mirror by importing a crown asset and placing it on a table.
Create a new socket interactor on the head-mounted camera to socket a hat, add an optional interaction layer mask to restrict hats, and preview the result in the mirror.
Convert the crown into a grab interactable with a hat layer mask. Add a hat socket on the main camera and test in VR for a player hat inventory.
Create a key socket as a child of the chosen tracked point (XR origin, main camera, or left and right hand) and attach a socket interactor to accept the key.
Attach a key pocket socket to the xr origin, shrink and hide the key, and use a trigger collider to grab and store keys for door access.
Import a food asset into the scene, turn it into a grab interactable with a collider, and create a dedicated food interaction layer mask for picking up and eating.
Create a head-mounted food socket in Unity and connect it to the Food Eater script and a socket interactor to eat food when hovered or selected, destroying the food.
Duplicate the hat socket to create a food socket, connect the food eater to the socket interactor, and test hover and select interactions to eat food with XR interaction toolkit.
Explore gaze interaction concepts in the demo scene: gaze hover, gaze assisted, and gaze select, using raycasts from the headset center with eye-tracking on future headsets in mind.
Learn how gaze interaction works with XR simple interactables, enabling gaze interaction and selection on an XR rig by adding a gaze interactor and a gaze-specific XR controller.
Add an XR gaze interactor to the main camera, wiring eye gaze position, rotation, and tracking state to reveal the lock when looking at the mirror.
Configure the mirror as a simple interactable by adding an interactable script and a box collider set to trigger, enabling gaze interaction. Test hover vs gaze reveals issues to troubleshoot.
Troubleshoot and align the gaze interactor with head tracking by un-parenting it from the main camera and using a sibling relationship, ensuring accurate gaze at mirrors.
build a two-step interaction where the mirror's lock appears only after you put on the king's hat, using component enablement to control responses.
Wear the hat to enable the mirror's simple interactable, then gaze at the mirror to activate the keyhole and unlock the door.
Execute the escape room puzzle by retrieving the key from the drawer, using the crown and mirror to reveal a hidden keyhole, and escaping to the next section.
Build 3D controls to operate an excavator and demolish a building in event five of the VR pentathlon, then add a 2D UI controllable with controller raises.
Reposition the XR origin and use an excavator controller to move the cab, arm, bucket, and tracks, adjusting drive speed and limits with 3D UI elements that accept float inputs.
Import the Xri examples project as a Unity package to borrow assets for excavator controls, since programming isn’t covered in this course.
Explore the XR interaction toolkit examples, including grab and activate interactables and teleportation, and see how existing components are extended into a joystick, lever, and slider in Unity.
Design and place a lever in a Unity scene using XR 3D UI prefabs, enabling an up-and-down arm motion and prepping for interfacing with the excavator controller script.
Use a two-position VR lever to move excavator arm, mapping on to 1 and off to 0. Discover inverted activate and deactivate, raise arm limits to 270, and start deactivated.
Explore the lever assembly and change the default lever value to stop snapping. Unchecking the value option makes the lever lift the excavator arm as intended.
Tackle a second lever in Unity, planning the start position and possible inversion to lower the arm, and decide how deactivating the lever moves the arm.
Add a second lever and flip it to oppose the first. Set it to -50 and 180-degree y flip, wire to move the excavator arm with negative activation; challenge complete.
Drag the joystick prefab into the scene and test its gamepad-like behavior, even in VR, with separate x and y axes that drive forward, backward, and turning via Unity events.
Control an excavator with a joystick, mapping x and y axes to rotate tracks and move forward with dynamic, analog inputs, and prepare to rotate the cab next.
Add a wheel to rotate the cab, wiring a Unity event to the excavator controller with a dynamic float starting at zero, and test in play mode.
Learn to control an excavator bucket using a dial or wheel with the ZR knob script, adjusting clamped motion and twist sensitivity for full 3D UI control.
Use the joystick to rotate the demolition crane, raise the arm, and knock off the building’s top layers, then drive forward to complete the destruction and review 3D UI coverage.
Explore Unity 2d UI on world space canvases in VR using the XR interaction toolkit. Learn how render modes, canvas scaler, and tracked device graphic raycaster enable VR UI interactions.
Create a 3D UI label in Unity using Text Mesh Pro on a canvas, switch from screen space overlay to world space, and place the 'arm up down' text.
Take on a practical challenge to add more text labels on a single canvas, creating multiple text objects to label everything, then continue to the next lesson.
Label and organize 3D UI elements by creating and positioning canvases, naming tracks move rotate, cab rotate, and bucket. Proceed by creating another canvas to continue labeling the UI.
Create and position an excavator control canvas with a bold title, add a semi-transparent backdrop, and name elements clearly for future slider integration.
Add a premade UI slider with min -1, max 1, start value 0; wire its on value changed Unity event to rotate the cab via the excavator controller.
Add a tracked device graphic raycaster from the XR interaction toolkit to enable canvas interaction, so pointing the ray highlights the canvas and the 2d cab rotation slider works.
Add three more sliders to control track movement, track rotation, and bucket movement, linking them to the excavator controller methods to enable near full control of the excavator.
Add three more sliders to control cab rotation, bucket rotation, tracks rotation, and forward movement, set the bucket to -1 to 1, align vertical orientation, and test the integration.
Use boolean levers instead of a slider to drive the arm, with a dynamic move arm method. Hook controls to move arm, rotate bucket, tracks, and cab via a joystick.
Add a ui button to the excavator controller canvas at the top right as an exit labeled with an X, and use onClick to deactivate and reactivate the canvas.
Create a 3d grip button from UI 3d prefabs, wire its on press to activate the excavator control canvas, set default off, and enable a 2d label for controls.
Explore the user interface by guiding an excavator to move and rotate tracks to demolish a building. Reuse the excavator controls panel to repeat the demolition.
Learn to create AR experiences using Unity's AR Foundation and XR Interaction Toolkit for Android and iOS. Build custom AR mechanics in C#.
Identify device compatibility for mobile AR by comparing iOS and Android, ARKit and ARCore, then build iPhone apps on Mac and Android on Windows, testing with Unity device simulator.
Install the Unity editor (2020 2.3 LTS) and enable Android and iOS build support to begin AR development, noting platform constraints and preparing to demonstrate cross-platform builds.
If you're on Mac and want to build for iPhone, install Xcode from Mac App Store, since Unity exports an Xcode project that you sign and build to your device.
Select the correct Unity editor version (2022.3), set up a URP project, install the 3D URP core template, name it Magic Box R, and create the project to build.
Import AR Foundation to enable multi-platform AR in Unity by abstracting ARCore and ARKit, allowing once-builds to run on Android and iOS, with features like image, object, and face tracking.
Install ARKit for iPhone on Mac or ARCore for Android on Windows or Mac, with plans to install both; once one is installed, you’re ready to move on.
Switch the build platform in Unity to iOS or Android to target your device, then verify the change when the Unity logo appears beside the chosen platform.
Enable the AR plugin in Unity via XR Plugin Management, selecting platform-specific plugins: ARKit for iOS, ARCore for Android, or Oculus OpenXR for stand-alone builds.
Install and explore the XR interaction toolkit, enabling AR interactions with gesture interactor and interactables for placement, selection, translation, scale, and rotation, and adjust project settings to build without coding.
Create a simple augmented reality app that tracks and highlights planes, rendering a plane on a detected surface to demonstrate AR Foundation.
Create an XR origin in Unity from the XR section with the AR template, then delete the scene's main camera so the XR origin controls the project perspective.
Examine the XR origin setup with camera offset, main camera, and left and right controllers for a mobile AR experience; tracked pose driver and input actions move the main camera.
Add an AR session game object with the AR session component to enable tracking and pass positional data to the XR origin, making AR features functional in the scene.
Learn how AR Foundation detects planes, uses an AR plane manager to spawn a plane prefab, and visualize horizontal, vertical, or both planes with an AR default plane prefab.
Learn to set up an AR plane manager on the XR origin, choose horizontal plane detection, and prepare to create the corresponding prefab in Unity.
Create an AR default plane prefab and link it to plane detection, so a prefab is created for every detected plane.
Test the AR app by enabling XR simulation in project settings, then run the editor to verify plane detection and display before building to devices.
Install sample environments from the XR environment window and explore categories like bedrooms, backyards, and kitchen to test your app across diverse spaces without real devices.
Launch the XR simulator in Unity, view the game scene loading in the hierarchy, planes pop up, but a step was missed.
Add an AR background renderer feature to every URP renderer asset (balanced, high, performant) to pass the camera feed into the game view and render AR planes.
Fix ar default plane rendering by replacing the standard debug plane material with a urp shader material, then apply a transparent yellow plane to the mesh renderer.
Learn how to test your iOS app using a normal Apple ID, understanding why the Apple Developer Program is optional for testing, and how builds expire after two days.
Switch to the iOS build platform, enable development build, and enable ARKit support to request camera permission; tune player settings such as company name, product name, version, and icons.
Build an iOS Xcode project using the build or build and run option, place the iOS build in an iOS build folder, then Xcode opens for fixes.
Add your device to the devices list in Xcode, enable developer mode and trust this computer on the device, restart, and proceed to signing the app after the build failure.
Add your Apple ID to Xcode accounts to sign your iOS app and obtain a provisioning profile for building on devices.
Enable automatic signing to auto-fill provisioning details, select your personal development team, and automatically create a signing certificate so the Unity iOS app runs on a real device.
Launch the unity app on an iPhone by pressing the play button in Xcode to deploy to a real device, track planes, and view live debug logs for debugging.
Switch your Unity project from iOS to Android by changing build settings, and note that larger projects may re-import assets, though this new project will finish quickly.
Enable USB debugging on Android devices by navigating to developer options, turning on USB debugging, and approving the connection, then refresh the device list and select your phone to build.
Raise the minimum Android API level to 24 for ARCore, switch scripting backend to IL2CPP, enable 64-bit architecture, and remove Vulkan to use OpenGL ES 3.
Deploy Unity AR apps to Android devices by using build and run to automatically install the APK on your phone, verify plane tracking works, and test on Android.
Harness AR Foundation raycasts with the XR Interaction Toolkit to place a virtual object on tracked planes when the user taps the screen, using the built-in physics raycast.
AR raycasts optimize performance and accuracy for AR environments, while physics raycasts can hit planes with mesh colliders; both can interact with physics objects.
Learn ARRaycast sample code to talk to the component, perform touch-raycasts or a ray data type, and access plane alignment and hit details for object placement.
Learn to use the XR Interaction Toolkit to place objects on planes in AR by tapping the screen, using the AR placement interactable, raycast manager, and AR gesture interactor.
Add an AR raycast manager to the XR origin alongside the AR plane manager, via AR Foundation, to perform AR raycasts; optionally spawn a prefab on hit.
Add an XR placement interactable and its XR interaction manager, specify the XR origin, and use interactable events to trigger actions in custom scripts when an object is placed.
Specify a placement prefab by creating a default cube at 0,0,0, scaled to 0.1 m, and drag it into the placement prefab field to instantiate on raycast hit.
Place the AR gesture interactor on the main camera and connect its XR interaction manager. Tap to trigger the placement interactor's raycast and place the cube at the hit point.
Load XR simulation, observe tracking, and tap to place cubes on planes; note simulator incompatibility between XR Interaction Toolkit and AR Foundation, with a fix in 2.5 and real-device demo.
Test tap to place on a device by building for iOS, running on the phone, and tapping to place multiple cubes on a plane, offsetting to sit on the plane.
Add interaction by implementing the selection, translation, scale, and rotation interactables for the cube, with selection visualization created on touch to designate the selected cube for translation, scaling, or rotation.
Learn to place a cube on a tracked plane by creating a zero-position parent, offsetting the child by half its scale, and recreating the prefab.
Add an AR selection interactable to the placement prefab and attach it to the parent to preserve offset. Define the collider, enable single selection, and set up a selection visualization.
Create and apply colorful materials to a plane and cube, organize assets, and control selection visuals to showcase an interactable placement prefab in Unity.
Test AR selection interactable by tapping placed blue cubes to select or deselect, with only one object selected at a time using the XR Interaction Toolkit and plane tracking.
Add the R translation interactable to the placement prefab to enable dragging placed objects with a finger, constrain translation to a horizontal plane, and use a collider.
Test and demonstrate AR translation interactable by building and running, tracking planes, placing cubes, and dragging selected objects with smooth finger-following movement using the XR Interaction Toolkit.
Add the R scale interactable to resize objects with pinch gestures, configure minimum and maximum scale, elasticity, and sensitivity in Unity, and test it in the next video.
Test the AR scale interactable by building and running, place a cube, pinch to scale up or down, then select and move or scale multiple objects.
Experiment with elasticity and elastic ratio limit on the R scale interactable to make the cube bounce at the minimum or maximum scale.
Experiment with the elastic ratio and elasticity to create a smooth, bouncy scale interaction for a cube, adding polish as it hits those limits.
Implement an AR rotation interactable that rotates the selected object with twist or drag gestures, configure it in the prefab, and test in the project to refine sensitivity.
Test ar rotation interactables in unity, rotating with two fingers while translating and scaling a cube, using ar gestures and xr interaction toolkit, and preview ar annotation interactable next.
Explore how the Unity AR annotation interactable floats labels over objects, hides them when you aren’t looking or are out of range, and supports multiple annotations on one object.
Implement the r annotation interactable by adding it to placement prefab, linking its visualization object, and configuring max fov offset angle and annotation range (0.25, 10) from the documentation.
Create an annotation visualization by adding a Text Mesh Pro world-space canvas labeled 'cube', tying it to an annotation interactable that activates on selection and remains off by default.
Increase the activation area for the annotation interactable and experiment with different colliders to reliably trigger the pop-up above the cube.
Increase the annotation's max fov center offset angle and set the collider volume to improve the annotation appearing when pointing your phone at the cube, then test.
Remove the stray red line by disabling the XR ray interactor, line visual, and line renderer on the left and right controllers, ensuring clean builds while preserving interaction with objects.
Take on a hands-on challenge to recreate the placement interactable for a new primitive (sphere, capsule, or cylinder), duplicating selection, translate, scale, rotate, and annotation, and updating the prefab.
Create a sphere placement interactable prefab with an empty parent and a scaled sphere, then add translation, rotation, and elastic-scale interactions plus annotation visualization for placement and selection.
Replace primitive objects with polished assets from GameDev HQ's File Base by importing the File Base plugin into Unity and opening the File Base menu to browse and import assets.
Import assets from filebase to create an AR experience, place and adjust cubes and spheres, and explore crime scene assets, with FBX imports and future material updates.
Fix pink shader issues by converting built-in materials to URP in the materials folder, and update shaders to universal render pipeline shaders so crime scene assets reference the new material.
Duplicate a primitive to create a pylon placement prefab, swap in a cone scaled to real life size, and add a box collider with updated annotations.
Swap the placement prefab for a pylon and test the interaction. Then build a system to switch between placement prefabs and place the cone by tapping and scaling.
Create another placement prefab using a different asset from the pack, such as a crime scene asset, following the same process shown earlier for the pylon.
Duplicate the placement prefab, replace asset with evidence bag, unpack, update colliders and annotations, and test in a build; then set up a 2d user interface to choose between prefabs.
Create a simple menu system with on-screen UI buttons to switch the AR placement interactables between the evidence prefab and the pylon prefab, enabling on-the-fly changes.
Create a screen space canvas to host 2D UI elements, using the canvas scaler and graphic raycaster to anchor bottom buttons while previewing portrait and landscape layouts.
Add a button to the Unity canvas by selecting UI and button Text Mesh Pro, creating a centered button with an image and a button component, and note rect transform.
Anchor presets pin a UI button to bottom center, making it adapt to screen changes; use scale with screen size and adjust match area to fit portrait and landscape.
Enable a UI button in Unity by applying hover color tint, wiring an onClick event to perform actions, and optionally hide the button by deactivating its game object.
Create a button bar by using a horizontal layout group and a button parent to automatically arrange cone and evidence buttons at the bottom, responsive to screen size and orientation.
Make buttons communicate with the placement interactable to set the placement prefab, switching to the cone or evidence bag objects for placement, with no prefab by default.
Test UI buttons on a real device to switch between placing cones or evidence, while continuing to manipulate existing objects as before.
Add a plus button that toggles the add-item menu, enabling the cone and evidence buttons for placement and then turning itself off after an item is placed.
Practice using Unity events to reset the main menu after playing, making the plus button active and the cone buttons inactive, while leveraging placement interactable events.
implement the placement menu reset: on object placed, toggle cone, evidence, and add buttons, then set the placement prefab to none to return to the initial state.
Learn to build your first AR app in Unity with plane tracking, placing cones via a plus button, and manipulating them by selecting, moving, scaling, and rotating.
Develop a custom examine mechanic in Unity using C# that toggles objects between world and screen space; tap to place, drag to examine, and tap again to return.
Create a fresh scene in the scenes folder named object placer, then a second scene called object examiners, and tidy assets by using a prefab folder for placement prefabs.
Tap to place a cube by programming a custom interaction, ensuring the scene tracks planes and places a prefab on the tracked plane.
Tap to place an examinable cube prefab on tracked planes using an XR origin with plane and raycast managers, a gesture interactor, and an AR session.
Plan and implement examinable placement prefabs that parent to a camera-controlled examine target, using an examinable manager to enforce single-object examination and support offset positioning.
Create your first C# MonoBehaviour script by renaming the default to examiner so the class matches the file name; then make an Examinable script to attach to objects.
Open your Examinable script in Visual Studio by double-clicking it. If it won’t open, check editor in Unity preferences and use Regenerate Project Files to relink Unity and Visual Studio.
Explore how Monobehaviour enables scripts to be used as components in Unity, with start and update methods, and learn to attach scripts to game objects for console logs.
Turn the examinable script from printing on start to printing something every frame, exploring how to output continuously each frame.
Learn to print every frame by placing output in the update loop, understand the difference between start and update, and observe a live frame render rate in Unity.
Create an Examinable Manager script and a game object named Examinable manager in the scene, then attach the script as a component to set up from the start.
Create an examinable manager script, rename it correctly, then create an empty game object named examinable manager and add the script as a component to keep it in the scene.
Attach the Examinable script to the placement prefab so every placed cube is examinable. Make sure the prefab already defines the Examinable interaction by default for all placements.
Add the examinable script to placement prefabs and ensure each cube is examinable, then open both scripts in Visual Studio to verify communication with the Examinable manager.
Switch to dark mode in Visual Studio across macOS and Windows, using preferences and appearance options to set a dark theme for easier viewing.
Learn how to declare variables and strings in Unity, set a default value, print to the console at start, and use the inspector to vary output without hard coding.
Expose and serialize variables to edit in the inspector by using public, private, or serialize field, allowing external scripts and the editor to read or override values.
Create a null examine target as a child of the main camera. Add a serialized transform field on examinable manager and drag the target into the inspector to reference it.
Learn to access data on a transform component using dot notation, read properties like local position and local rotation, and print the game object's name to show data flow.
Learn to connect an examinable prefab to its examinable manager using a serialized field and a one-time start call to find object of type examinable manager.
Tap the cube to trigger a selection interactable event, have the Examinable manager move it to the examined target, and set its parent so it follows the camera.
Create custom public methods in Unity objects and invoke them via Unity events, wiring an examinable object's request examine method to the select entered event.
Expose the method as public to let other scripts and Unity events call it from the editor. Save the change, select Examinable, and see the requestExamine method ready to run.
Learn to decouple selection by having the examinable script call the examinable manager's public perform examine method via a reference and dot notation, triggered by the select entered unity event.
Pass the examinable as a parameter to the perform examine method, use this to reference the calling instance, and move and parent the examinable to a new target.
Access the examinable's transform, set its world space position to the examined target, and parent it to that target to follow the camera with a five centimeter offset.
Rework print statements to use the Xcode console and indicate when examine is requested. Clean up the examinable manager and remove unnecessary prints for clearer feedback.
Test the examine mechanic by building and running the scene with a tracked plane and an examinable cube, then adjust the target distance to reveal it.
Adjust the target position by trial and error, place and examine a cube in Unity, and watch it appear in front and follow the phone as it's parented.
Learn to implement unexamined behavior in a Unity C# game by adding two empty methods, perform unexamined and request unexamined, to return an examined object to its original position.
Create two methods: request unexamined in the examinable class and in the examinable manager, and implement perform unexamined; this completes the challenge.
Cache the examinable's position at the start of the perform examine method by storing its current Vector3 in a private cached position field, enabling undo later.
Store a reference to the examinable as a class field. Initialize current examined object to null and set it in the perform examine method to access the cached position.
Write the perform unexamined method to reset the current examined object's transform to the cached position, set its parent to null, and update naming for readability.
Save the script, call examinableManager.performUnexamined to request the unexamined with empty parentheses, and print the status to the console before wiring it up in the editor.
Hook up the request unexamine method for the examinable cube by wiring the select exited event to unexamine, while the select entered triggers the examine.
Tap to place and toggle cubes, verify examine and unexamine actions through console messages, and identify the need to remember rotation in addition to position for the mechanic.
Install Android Logcat from the Unity registry via the Package Manager, then connect your Android device and filter logs by your app to debug on-device errors, warnings, and print statements.
Cache the object's rotation alongside its position by using a quaternion, storing the current rotation in cached rotation, and applying it during unexamine to restore world-space orientation.
Update the perform unexamined method to cache and restore rotation, completing the rotation restoration like the position process by setting the current object's rotation to the cached rotation.
Update the PerformUnexamine method with one line of code to restore the object's rotation by applying the cached rotation from the transform component, completing the challenge.
Test the examine mechanic with rotation to see how rotation affects interactions, using cubes to observe improved examining and preparing for more interactivity in the next lesson.
Interact with objects by dragging to rotate them and reveal clues, using Unity's input touch count in the update loop to respond when the screen is touched.
Learn to access touch input in Unity with the get touch method, retrieve the first touch's position and phase, and print touch data to drive object movement.
Limit per-frame checks to when an object is being examined by introducing a private bool is examining and guarding with a nested if that prints the touch position.
Learn how to detect finger movement in Unity using the touch phase enum to rotate an object, compare touch.phase to touch.phase.moved, and print the movement or position each frame.
Use the delta position to measure movement since the last frame and rotate an object with finger movement.
Rotate the current examined object in Unity using the touch delta position mapped to transform.rotate, with z fixed at zero; plan to add rotation speed control in the next video.
Multiply the touch delta rotation by a serialized rotate speed to slow rotation, exposing a float in the examinable manager for easy in-editor tweaking.
Cache the object's local scale in a private Vector3 called cached scale, then restore it after examination by reapplying the cached scale to the object's local scale.
Add a per-object scale modifier in Unity by introducing examine scale offset in the Examinable class, expose it publicly, and convert it to a Vector3 for local scale updates.
Set a local vector three offset for the examinable's scale by caching its transform, multiplying by the examine scale offset, and applying the offset scale for viewing.
Replace the placement prefab with a chosen asset to test the examinable system, ensuring it is marked as examinable and the scale offset fits the screen.
Replace the Examinable cube with a real asset by importing a stapler, converting to URP, and wiring the selection interactable and the placement interactable to examine and place.
Explore creating an interactive Unity scene by solving a gem-order puzzle using selection interactables and an examinable skull to reveal a new gem.
Create a new scene, set the magic box as the startup (index zero) in build settings, and import the magic box starting point prefab with office tools and gems.
Tackle a hands-on challenge to set up a placement interactable, creating XR origin and placing a magic box starting point on a plane using the raycast manager and plane manager.
Set up the XR origin and AR plane tracking, add a gesture interactor and a placement interactable, then ensure tapping places a single starting point via an on-place event.
Make the skull in the magic box starting point prefab examinable by applying the examinable script, building on prior examples to explore interactive objects.
Make the skull examinable by creating an examinable manager, setting the examine target under the XR origin, adding the examinable script, and wiring the selection interactor to reveal the clue.
Plan the three gem objects with gem and selection components to test order, illuminate taps, and trigger the box opening via the box manager and animator.
Create a box manager class on the prefab to hold the correct gem order and compare it to the input, triggering the lid animation via the animator when they match.
Create a correct gem order and an entered gem order using colors blue, green, and red; compare them after three taps and open the box with the box animator.
Implement the public void gem select to add the gem color to entered gem order, increment current gem, and trigger a three-gem order comparison with the color as a parameter.
Create a gem class in Unity with a public color name field, implement a gem selection method that appends chosen gem color to the entered order, and print gem selected.
Compare the entered gem order to the correct one; if equal, open the box, else reset the game and implement open box and reset game methods.
Implement the open box method by setting the 'open' trigger on the box animator to transition from lid idle to lid open, with feedback when correct.
Implement restart game method to reset current gem to zero and clear entered gem order with an empty string, planning to reset gem emission later in the gem script.
Hook up the gems to the selection interactable script, assign red, green, and blue colors, and pass taps to the box manager to call gem select and form gem order.
Test the box mechanic by running the scene, tapping blue, red, green, and viewing feedback in the console, then print the current order to diagnose the incorrect sequence.
Debug the box manager to verify the entered gem order against the correct sequence, reveal mismatches with prints, and align the prefab order so blue red green opens the lid.
Plan and implement a gem class that toggles emission with a public changeEmission(bool) method. Cache the initial emission color and start with black to revert to the original color.
Retrieve and cache the gem material and its original emission color, expose a public target material for editor setup, and set the emission color to black in the start method.
Implement the changeEmission method to set a target material's emission color to the original cached color. Disable emission by setting the emission color to black.
Call the gem's change emission method when selected to light it up, then reset all gems to emissive using a serialized gems array and a for each loop.
Test and validate gem emission feedback by tapping in the correct blue, red, green sequence to unlock, and observe resets when the order is wrong, with visual tapping cues.
Create a win text with Text Mesh Pro, rotate to face forward, and reveal it via an annotation interactable that appears only after winning.
Define a public Unity event for when the game is won and invoke it to trigger editor-set actions, like enabling win text and calling an animator trigger.
Test win text in the AR magic box game, ensuring Unity event triggers and the congratulations message follows you correctly. Fix prefab rotation so text faces the right way.
Build a scene switcher in Unity by adding scenes to build settings and wiring UI buttons to switch between object placer, object examiner, and magic box using scene index.
Deliver a run-through of three Unity AR experiences, object placer, object examiner, and magic box, showing manipulation, snapping, position caching, and a blue, red, green clue to win the diamond.
Develop a stunning sci-fi control room in Unity by mastering level design, pipelines, and advanced lighting techniques, including volumetric lighting and post-processing, to deliver a polished game ready for publication.
Install Unity 2019.3 and create a 3D project called control room, install and import File Base assets via Game Dev HQ, sign in, and load assets to support level design.
Download first assets from GameDev HQ's file base, install sci fi floors and walls, and import them into Unity to quickly build levels with ready-made content.
Drop sci-fi floor assets into the scene view, duplicate them to build a floor base, and enable auto generate lighting to see the layout clearly in Unity.
Learn to create a varied floor using atlas textures and duplicating assets with ctrl+d. Rotate groups around a center pivot using 15-degree snapping to form a seamless pathway.
Learn to replace repetitive floor pieces with unique assets and use prefab folders in Unity to create reusable floor groups; editing one prefab updates all instances.
Add variation to tiled environments by swapping and rearranging tileable assets to reduce repetition, making sci‑fi floors look more organic and vibrant using file base, all within the Unity workflow.
Keep your unity hierarchy clean by creating an empty game object, resetting its position to zero, and using a static divider to group nonmoving elements like floors.
Tackle a hands-on challenge to build a floor using clean hierarchies and a prefab, importing assets into your Unity project and setting up the floor correctly.
Create a sci-fi floor layout in Unity by duplicating and snapping tiles, assembling corner pieces, converting groups into prefabs, and cleaning up the hierarchy for a polished scene.
Build a modular wall system using prefabs to create unique wall elements, arches, and archways for a hallway, then stitch varied segments into a cohesive scene.
Build walls with a light-to-dark gradient to create depth, using top light, middle dark, and a center light, then convert to a reusable prefab and organize in a walls folder.
Unpack a prefab to break it into editable parts, then create a new prefab variant by tweaking walls, floors, and borders for varied, reusable game environments.
Apply vertex snapping in Unity to align walls and prefabs precisely, using V to snap vertices, duplicate and rotate to build a seamless control room layout.
Create a wall in Unity by stacking sci-fi floor pieces and a circular center. Build variations with different center and floor pieces, and use vertex snap to align walls.
In unity, learn to create and align walls by arranging floor pieces, unpacking a prefab, duplicating and rotating segments, using vertex snap and pivot adjustments to avoid clipping.
Organize the Unity scene by creating a walls object under static to keep the hierarchy clean. Emphasize depth with alternating hallway and room heights through archways and columns for verticality.
Import sci fi column assets and assemble a column prefab by snapping pieces with vertex snap and precise 15-degree rotations, then create and scale multiple columns with prefab overrides.
Position columns in the scene, centering and rotating them against walls, duplicate and adjust placements to add depth, making the room feel architecturally alive before crafting archways.
Create an archway by unpacking and resizing a prefab, kitbashed from columns, then align with vertex snap and center view for a seamless doorway.
Create walls by generating column prefabs and an archway leading to the doorway. Progress forward by building the rest of the scene, and watch the challenge review for guidance.
Apply vertex snap to align columns and build an archway by duplicating and rotating prefabs, then create empty game objects to organize columns and archway.
Organize the environment by placing columns in the static area, then design ceilings that are seen and detailed with beams, pipes, banisters, and electricity to engage players above.
Build ceiling layout in Unity by placing floor tiles, aligning center tile around archway, duplicating and rotating pieces, then organize under empty game object named ceiling oh one.
Duplicate floor elements into the ceiling, swap and rotate tiles, and add sci-fi pipes and wall elements to craft a detailed ceiling while adjusting offsets to prevent vertex clipping.
Add struts to the ceiling by placing and rotating columns, snapping assets, and duplicating components to form a base structure; create and organize prefabs in a ceiling folder for reuse.
Design and implement the roof for this area and build the struts, taking on the challenge and basing your work on what we've already done.
Build and refine a sci-fi ceiling with modular floor and pipe panels, duplicating, rotating, and aligning components while replacing assets with prefabs and centering struts for a cohesive roof.
Create a kitbashed sci-fi wall using asset-pack elements, duplicate and place sections, adjust scale and perspective to avoid clipping, and add an archway ceiling.
Position a sci fi doorway by adding its frame and single door, align walls, duplicate assets, and create a dynamic door while others stay static.
Add sci-fi terminals, test tubes, and overhead displays to a control-room scene by importing assets, placing and scaling them, and building a stairway for user access.
Import sci-fi stairs, resize and place them as a scaffold for a test-tube environment, then duplicate and position platforms, bases, and monitor scaffolding to complete the scene.
Build a scalable monitor support system in Unity by creating modular sci-fi struts, aligning them with monitors, and turning them into prefabs with emission lighting for reuse.
Construct a doorway by adding a frame, a main door, walls, columns, and a middle brace or strut to define the doorway area and practice the build process.
Practice kitbashing a sci-fi doorway by constructing wall segments, an archway, and a door frame, then resize and position components for a functional entryway.
Learn how to choose between mesh and box colliders for efficient level design, when to use high-detail mesh colliders, and practical tips for applying colliders in a Unity environment.
Create a colliders object and build a room with floor and walls using cubes, then decide on ceiling colliders and adapt for first- or third-person play.
Add colliders to walls, columns, and the door, adjust sizes, and use a rigidbody for collision detection, then test with the first person controller.
Add and configure colliders (box, capsule, mesh) for test tubes, terminals, and stairs; build ramps with 45-degree slanted cubes, hide mesh renderers, and test collisions with the first person controller.
Export your finished scene as a complete package before applying lighting to preserve a clean version, include prefabs, and secure a control room scene for flexible pipelines.
Choose between the standard, universal rendering pipeline (URP), and the high definition render pipeline (HDRP) to fit your game; URP suits simple 3D or iOS, HDRP for high fidelity.
Learn to set up a brand new Unity project with the universal render pipeline, import the control room URP package, upgrade materials, and fix pink shaders.
Learn to create a procedural skybox in Unity, tune exposure, atmospheric thickness, and sun size, and align lighting with the directional light for realistic URP and standard renderer skies.
Learn four skybox generation methods in Unity: procedural, six-sided cube map, cube map (texture type), and panoramic, and apply them to a shader while adjusting the skybox intensity.
Explore the four light sources in unity—directional, point, spotlight, and area lights—and learn how real-time versus baked lighting, shadows, and static objects shape scene illumination.
Learn how to implement light source culling in Unity by creating a ceiling layer, assigning it to objects, and using the light's cull mask to ignore ceilings and shadows.
Add point lights to illuminate key areas and guide players toward important items, while using mixed lighting with shadows off and cooler colors to create silhouettes of essentials.
Add a mixed light and spotlight to emphasize test tubes and a computer, adjust inner and outer angles and intensity, rotate the spotlight, and toggle gizmos to explore scene focus.
Learn to recolor texture maps for a steely, metallic look by editing textures in Photoshop using hue, saturation, and curves, then update Unity assets with PNGs.
Apply an emission map in Unity to illuminate a specific area, and adjust emission with the GI system in URP and HDRP; emissive behaves differently for static vs dynamic objects.
Create and apply an emission map from a UV texture to an FBX asset, using a 3D program to paint emission and add an emission channel to sci-fi floors.
Create a texture map for Unity, replace the colorful texture with a blue one, and create an emission texture to brighten the columns, using Photoshop or a free editor.
Learn to adjust texture maps for Unity by editing the wall albedo and emission map, including hue/saturation edits, creating layers, saving PNGs, and applying them to a surface with emission.
Discover post-processing in Unity 2019.3 and above, using a global volume to enable effects, and apply anti-aliasing to sharpen edges in your scene.
Adjust post-processing in Unity using URP to enable bloom, emissions, and color tweaks, enhancing emissive textures, screens, and scene lighting.
Explore post-processing color adjustments in Unity, including exposure, contrast, HDR filters, and hue/saturation, to refine shadows, midtones, and highlights.
Learn to enhance scenes with vignette, film grain, and motion blur in URP. Adjust depth of field, focal length, aperture, lens distortion, and chromatic aberration via the post-processing volume.
Learn to use local post-processing with volumes and a post-processing layer in Unity, creating cold and hot rooms with color adjustments, blend weights, and effects on the player.
Practice building two post-processing volumes—one warm and one cool—by using the post-processing stack to craft distinct environments beyond a single color adjustment.
Explore how to craft cold and warm environments using post-processing volumes, adjusting bloom, tint, color filters, and lift gamma gain to shape shadows, mids, and highlights.
Set up occlusion culling to optimize your Unity scene by tagging nonmoving objects as static or occluder static, baking the occlusion, and limiting rendering to what the camera sees.
Learn to add fog using file base, download a fog prefab, place and scale it, tune start speed and size, and adjust material settings for a glowing fog effect.
Learn how reflection probes define scene reflections in Unity, compare HDRP screen space reflections with URP box reflections, and adjust size and intensity for balanced realism.
Explore the universal render pipeline's final look and performance, showcasing occlusion culling, heavy optimization, and real-time gameplay capable on iOS, desktop, or web builds.
Set up the HDRP pipeline in Unity, import control room assets, upgrade materials to HDRP, adjust post-processing, and reconnect textures to preview a bright, final scene.
Compare universal render pipeline and high definition render pipeline. URP suits simple games on lower-end devices; HDRP provides options like decals, displacement, bent normals, and layered tessellations plus enhanced post-processing.
Reconnect assets by dragging the file base plugin into your HPE project, then rescan your profile to rediscover assets from gamedev HQ.
Explore HDRP standard lit materials in Unity, comparing HDRP and URP materials, examining mask maps, surface types, emission, subsurface, anisotropy, iridescence, and screen space reflections.
Explain height maps, vertex and pixel displacement in Unity HDRP to enhance stone textures like cobblestone with realistic lighting and normals.
Explore tessellation in HDRP by using the lit tessellation shader with height map displacement to add 3D detail, noting it works on planes or terrains and can break 3D objects.
Create a cobblestone pathway by applying a tessellated cobblestone texture from Poly Haven to a simple plane, and refer to the review for assembly tips.
Create a cobblestone pathway by texturing a plane with diffuse and normal maps, then apply hdrp tessellation with heightmap displacement in Unity. Tune tessellation and roughness for a wet look.
Learn to use Unity decals to project textures onto 3D objects, wrapping blood splatters around spheres or faces with color, normal, and mask maps via the decal projector.
Combine two textures into a single texture using the HDRP layered lit shader, guided by a layer mask to mix dirt, stone, and grass dynamically.
Set up the HDR global volume by dropping in the post-processing stack, using the HDR default, and turning off exposure, visual environment, and HDR sky.
Turn on visual environment and attach a sky, choosing gradient or HDR sky; adjust colors, diffusion, and exposure to shape interior lighting, leveraging reflection probes and screen space reflections.
Master area lights in Unity’s HDR pipeline, tuning color temperature, intensity, and shadows for realistic lighting; apply changes to prefabs and duplicate across columns and arches.
Adjust emission channels in unity to enhance scene lighting, brighten materials, and add a subtle glow with emission textures or colors, using intensity controls and hdr bloom.
Demonstrates setting HDRP fog particles by using a sprite texture on a prefab, adjusting alpha, start size, and speed, plus a green tint to show fog emitting from the ground.
Learn how to add fog with real-time light sources in Unity by enabling volumetrics, using point lights or spotlights, and configuring global volume fog, attenuation, and post-processing effects.
Fix fog and ghosting in HDRP by setting high quality volumetrics, enabling fog volumetric albedo and attenuation, and applying the filter.
Enable light layers in HDRP to cast volumetric fog rays without real illumination, then place and adjust a volumetric spotlight's radius, range, color, and intensity for fog visuals.
Learn how to enhance Unity lighting with cookie textures, using grayscale alpha as a mask for spotlights and point lights to create realistic projections, chandeliers, and wall illumination.
Discover how global illumination baking creates realistic light by simulating bounced light in Unity, using baked light maps, auto generate, and static objects for accurate shadows.
Diagnose crashes in Unity's baking engine when using progressive GPU or CPU, where bake times stall on preparing. Restart the Unity project to fix the issue.
Save a final lightmap bake in Unity by turning off auto generate and enabling generate lighting, producing lightmap data and shadow masks for a static, optimized scene.
Explore how too many area lights or spotlights can cause shadow conflicts in a Unity scene, sometimes shutting down lights and impacting baking.
Compare real-time, baked, and mixed lighting on an area light in Unity, showing how global illumination, shadows, and specular highlights, reflections, and hdr behave in each mode.
Build and edit a light probe group in Unity to form a lattice that lights dynamic objects in real time. Duplicate probes to shape light-to-dark areas.
Set room surfaces to static to bake light probes that dynamically project light onto doors and props, then adjust exposure and main light to balance brightness and observe probe-driven GI.
Apply exterior lighting using light probes to bring color back to shaded areas by baking static geometry with a GPU, then adjust indirect multiplier for balanced diffuse color.
Enable screen space reflections in HDRP using real-time reflection probes with an influence volume, then turn on screen space reflections in HDRP asset and adjust volume overrides for quality reflections.
Explore using multiple reflection probes to create real-time, localized reflections that blend as you move between regions, such as separate probes for hallways.
Learn to use multiple post-processing volumes in Unity to create dynamic scenes with color overrides, exposure, chromatic aberration, and film grain. Use box volumes as triggers with adjustable blend distance.
Create targeted volumetric lighting and fog with density volumes, adjust scale and blend distances, enable per-axis control, and light with a spotlight to see region-specific effects.
Enhance visuals by applying post-processing in Unity, adjust lift gamma and gain, explore tone mapping, chromatic aberration, bloom, dithering, and temporal anti-aliasing.
Blend baked lighting with real-time dynamic lights in Unity HDR pipeline to achieve rich GI without lengthy bakes. Create stunning interior and exterior scenes with interactive, on-off lighting.
Explore interior lighting in Unity HDRP using a gradient sky and a global volume to simulate indirect lighting, manage dynamic scenes, and avoid heavy baking of GI.
Learn to selectively bounce global illumination in Unity by using static light probes and a light probe group to fake GI, baking only essential objects for brighter rooms.
Apply post-processing in HDRP to simulate real-time GI with sky and room volumes, ambient occlusion, fog, direct and indirect lighting, shadows, and bloom.
Increase indirect lighting without rebaking by adjusting the indirect multiplier, causing light to bounce via light probes and brighten the scene.
Learn to use lighting in games to guide players with minimal light sources, avoiding shadow clipping and light conflicts; emphasize emissive details and baked elements for optimized, real-time interiors.
Explore Cinemachine as a camera system and Timeline as a non-linear editor in Unity to choreograph events. Use Cinemachine for camera control and Timeline to sequence actions, separately or together.
install Cinemachine in Unity via the package manager and Unity registry, then open the new Cinemachine menu and playables tab to access the timeline sequence and assets.
Set up a new Unity 3D project in Unity Hub, select version 2023, and build a scene with a cube and plane while learning object placement and materials.
Explore Cinemachine virtual cameras and how the main camera adheres to them to switch shots effortlessly. Understand follow, look at, priority, lens, transitions, extensions, and impulses to shape cinematic behavior.
Create a quick cube animation and set the Cinemachine virtual camera to look at and follow the cube, using look at and aim for consistent framing.
Use the composer with the virtual camera to offset the tracked object and apply look ahead. Tune dampening, dead zones, soft zones, screen x/y, and bias for smooth, centered perspectives.
Create five virtual cameras around the object in Unity using Cinemachine, align each to the view of the object, and practice positioning to form a semi-circle.
Set up multiple Cinemachine virtual cameras in a Unity scene, create and label five cameras, and align them with the view to plan the main camera shot.
Create a script on an empty object to gather three virtual cameras, set priority one for the dominant camera, and switch to the third via input using an array.
Develop a camera system in Unity using three virtual cameras with Cinemachine, adjust priorities, and use a script to toggle active cameras in an array for seamless switching.
Practice setting four Cinemachine cameras to follow an animated cube: a hard look with no dampening, a dampened look-ahead, and two with dead and soft zones.
Switch between virtual cameras by enabling and disabling them, letting Cinemachine choose the active view, with priorities selecting a dominant or closest virtual camera, while the main camera remains ready.
Experiment with Cinemachine camera settings to tune dampening, look ahead, dead zones, soft zones, and field of view across multiple virtual cameras for smoother motion.
Access a Cinemachine virtual camera in C# by GetComponent and adjust its lens field of view, follow, look at, and screen X/Y via a script.
Cycle between a cube and sphere with r; zoom from 60 to 40 to 20 with space; adjust lookat and field of view using Cinemachine in C#.
Build a Cinemachine zoom target system that switches between two targets and adjusts field of view with space, using a simple boolean toggle to swap targets.
Create a Cinemachine virtual camera named cmd cam one, configure its body to follow or look at a target, and adjust dampening for precise or fluid camera motion.
Explore the body Transposer binding modes, including world space and lock to target on, and world up or no-roll variants, plus simple follow with world up as a chase camera.
Learn how the framing transposer extends the regular transposer with aiming elements, ideal for 2d and 2.5d games, featuring deadzone, lookahead time, lookahead smoothing, and hard edges with soft zones.
Explore hard lock targets that fix the camera to a target, ignore rotation, and provide dampening, acting as a mounting point for your virtual camera.
Position the third person follow camera behind your character and adjust dampening, shoulder offset, arm length, camera distance, and camera side for the ideal view; enable collisions with Cinemachine Collider.
employ the orbital transposer to create a ring around the character for an external third-person camera, allowing rotation, adjustable offset, recentering, and wrap with limits without coding.
Create and configure a tracked dolly camera on a Cinemachine path, assign a look-at target and follow path, adjust path units, then enable auto dolly to smoothly track the player.
Take on a hands-on challenge to implement four body camera systems—a transposer, third-person, orbital, and tracked camera—into a capsule scene with animated transitions.
Explore building four Cinemachine cameras—transposer, third person, orbital, and on-rails tracked dolly—linking them to a follow target, look at behavior, and swap via priority.
Combine follow and look at with cinemachine to create dynamic camera shots, adjusting depth, distance, and damping for third-person and 2.5d perspectives.
Build a third person orbital camera activated by right mouse button, with move speed and rotation speed, snapping back when released, and learn swapping cameras via enable/disable or priorities.
Create a third-person follow camera and an orbital Cinemachine camera, adjust offset and dampening, and switch between them with a simple switch cam bool script using the right mouse button.
Navigate dynamic third-person cameras as a capsule passes four triggers, switching to a high look-down, a dolly-on-track, a static look-at camera, then back to the main camera using priorities.
Learn to switch between multiple cinematic cameras in Unity using Cinemachine, virtual cameras, track dolly, and camera manager triggers.
Use Cinemachine’s group target and group composer to keep a capsule and two cubes in frame, adjusting radii and tracking offsets to maintain all objects in view.
Add handheld camera shake to a cinemachine virtual camera using noise settings, adjusting amplitude and frequency for realistic, dynamic movements in game footage.
Learn how the hard look at camera instantly snaps to and locks onto a target with no dampening, unlike transposer, for security cameras or missile guidance systems.
Use the same as follow target camera in Unity to have the camera inherit the target’s rotation and position, with dampening and adjustable z depth for a pseudo third-person view.
Set up a POV camera under a capsule, using follow target forward and look at target with recentering and axis limits to create a flexible first-person view.
Explore Cinemachine extensions like offset, composer, third person aim, collider, minor, and tracked dolly to improve framing, constrain movement, and achieve dynamic zoom while reducing aim noise.
Use Cinemachine storyboard to overlay a preloaded texture as a guide for matching scenes. Adjust alpha, position, and scale, and use global mute to hide or show overlays across cameras.
Learn to configure a Cinemachine impulse listener and impulse source, tune axis-specific frequency and amplitude, and implement a camera shake script triggered by input.
Create collision-based camera shake in Unity by using Cinemachine collision impulse sources and listeners, with a trigger cube and no script, adjusting noise amplitude and frequency for a first-person setup.
Set up post-processing in your project with a global volume and a post-processing layer, then assign per-camera profiles to Cinemachine cameras to switch looks.
Explore the free look camera, following and looking at your object, like the orbital camera, and adjust its three rings—top, middle, bottom—to vary radius and height for flexible three-dimensional viewing.
Build a blended list camera that swaps between multiple virtual cameras on a time sequence, enabling holds, transitions, and automatic looping for creative playback.
Create a looping security camera using Cinemachine's blended list camera to cycle through perspectives with transitions and holds, panning between areas and looping continuously.
Learn to build a looping security camera effect in Unity using Cinemachine blended list camera to pan between two views with left/right rotations and holds.
Learn how to implement a state driven camera with an animator and two states, controlled by a bool, to smoothly switch between a third-person and over-the-shoulder view using Cinemachine.
Learn to implement clear shot cameras in Unity using Cinemachine, switching between two virtual cameras based on object visibility with obstacle avoidance, all without coding.
Compare dolly track with auto dolly that follows the player to a dolly track with cart that moves along a path at a consistent speed, without auto dolly.
Explore setting up a target group camera with Cinemachine, add objects to the group (capsule, cube one, cube two), align the virtual cam with your view, and adjust radiuses.
Develop a third person character controller with run behind the player camera when holding shift, aim down sights, and a death state, using starter assets and humanoid rig animations.
Implement a state-driven camera system with Cinemachine to switch between run, aim, and death cameras. Use an animator-driven workflow triggered by keys and mouse, plus Perlin noise for shake.
Set up a 2D Cinemachine camera in orthographic mode, follow the capsule with a framing transposer and look ahead time, and confine it inside a 3D box for edge testing.
Create custom blends with the Cinemachine brain to switch between multiple virtual cameras, enabling instant cuts or varied easing between specific camera transitions, controlled by a custom blend asset.
Create a three-hallway security camera system that activates on trigger entry, cycles through a static camera, a limited fov camera, and an auto-pan camera, and resets when the player leaves.
Learn to import a third-person starter asset, set up three Cinemachine cameras (static, pan, and point of view), and switch between them via a camera manager and trigger input.
Explore timeline, a non-linear editor in Unity that streamlines animating properties like position, rotation, and scale across scene objects.
Learn how the playable director controls timelines in a non-linear editor, configure playback with update methods and time scales, and manage bindings to timeline objects.
Explore the timeline window in Unity, learn to control playback, adjust duration and frame rate, and add tracks with ripple and replace modes.
Create your first timeline animation in Unity by adding a cube, recording keyframes, and adjusting speed, ease in and out, and converting to a clip track for looping motion.
Explore creating multiple animations for one object using the director timeline: record keyframes, save and delete sequences, then play them sequentially or overlapped with easing for dynamic npc-like motion.
Create a new timeline for a cube and add three separate animations on the same timeline: left and back, up and back, and right and back to the start.
Set up a director timeline to animate a cube with keyframes on multiple animation tracks, using record, convert clip to track, and playback between tracks for simple, modular motion.
Master Unity timeline controls to sequence animations with frames, keyframes, and markers. Compare mixed, ripple, and replace modes, and learn practical techniques for framing, zooming, and splitting clips across timelines.
Explore animation extrapolation to see how clips behave before and after playback, including hold, none, end-of-sequence loops, and ping-pong transitions with easy ease.
Match offsets to next clip and match offsets to previous clip to connect consecutive animations in a timeline, creating a smooth, looping sequence without transform edits.
Drop a spaceship from file Base into your scene, create three blended animations with the timeline, return to the original position, and loop the sequence without animating the spaceship directly.
Create a spaceship animation in unity using a timeline, set keyframes, blend and stitch clips, and configure wrap modes and director bindings for a seamless start-to-finish playback.
Learn how to organize Unity timeline animations by placing the director under a parent object, and move the parent to reposition while preserving the animation and avoiding caching issues.
Use the activation track to turn game objects on and off along a timeline, controlling single or multiple objects and keeping them active after the timeline ends, without code.
Explore how to add and manage audio tracks in Unity, including importing WAV/MP3/OGG files, creating 3D audio sources, and layering sounds with fade, speed, and volume controls.
Learn to use a control track to nest timelines in Unity. Create a second timeline with a sphere animation and attach it to the first timeline's control track.
Harness all four tracks in director to synchronize the cube’s animation, sound, and particle effects. The sphere moves to hit the cube, triggering the cube’s director-driven sound and particle effects.
Create two directors for a cube and a sphere, and choreograph them using animation, activation, control, and sound effects tracks to trigger particles and synchronized playback without scripting.
Explore lighting and sound by flickering a point light on a bulb, then turning it off to a dead bulb, with sway and explosion sound triggered by the K button.
Create a light bulb blowing out sequence in Unity using a director and timeline, with activation tracks, flicker, and a minimal script triggered by pressing K.
Use timeline and director to visually choreograph an explosion sequence, employing activation tracks, particle prefabs, and a staged setup with empty objects to disable geometry after impact.
Explore how signal emitters in Unity timeline enable events to trigger scripts across objects, using signal receivers and markers to activate cube actions, drive boss sequences, and load next level.
Learn how to use signal emitters to control Unity's timeline playback by scripting a playable director, pausing, playing, skipping to specific times, and looping.
Create two scenes and use a director on the main timeline to emit a signal that loads the next scene, such as after a five second cutscene.
Create a director with a timeline and an activation track that starts on play. Use a signal emitter and a level advance script to load the next scene.
Create a character sequence in timeline, set the character to humanoid, import mixamo animations, and combine idle, punch, a right turn, and walk backwards with offset matching and looping.
Learn to implement a character override animation by blending a punch with a walking cycle on the timeline, using avatar masks and manual clip offsets.
Learn to manually change a character's position in Unity by adding a second animation track, keyframing the Y position, and adjusting curves to linear tangents for immediate motion.
Create a timeline-driven race sequence using the provided fast run, two victory, and limp animations to trigger a finish-line celebration with a particle burst and a hands-up during the run.
Develop and synchronize a race winning sequence by animating a humanoid with a victory celebration, then trigger two fireworks particles on a timeline using activation and control tracks.
Create a cinematic event by wiring a trigger to a spaceship's timeline, folding landing gear, and launching the ship using a PlayableDirector in Unity.
Delve into practical loot by building a treasure chest that opens via a trigger, plays sound and particles, and spawns items like swords or gems using director sequence and timeline.
Build a treasure chest system in Unity using a playable director with activation tracks, audio, and bursts, triggered to spawn a sword prefab at a spawn point.
Combine Cinemachine and Timeline to create camera moves toward a treasure chest. Drop a virtual camera into the activation track, attach a Cinemachine brain, and blend back to third-person view.
Use Cinemachine timeline to trigger in-game cutscenes, where the player enters a trigger, the camera moves to the action center as a looping idle armature plays, then returns to gameplay.
Create an in-game cutscene in a Unity third-person game by using a trigger and a vehicle, controlling the camera with director and cinemachine to play out and return control.
Create an in-game cutscene in Unity using a car director, recorded animation, and a blended list camera with Cinemachine; trigger playback on player collision and return to control.
Learn to build a cinematic cutscene in Unity by wiring humanoid characters to animation tracks, using a director object and Cinemachine cameras, with an activation track for smooth playback.
Craft an in-game cinematic cutscene with Cinemachine, using a slow establishing dolly forward, an over-the-shoulder shot that passes between characters, then a quick face snap to trigger gameplay.
Create cinematic cutscenes in Unity by building a director timeline with looping animations for characters, blending cameras with Cinemachine, and triggering playback via a scene trigger.
Explore the new input system, its four approaches, and master the c sharp event-driven programming model as a practical, unity-agnostic approach for production-ready applications.
Launch a new Unity project using the new input system, ditch the old system, and build confidence as a software engineer through 3D setup and practical challenges.
Explore the Unity new input system by reading the documentation and develop problem-solving skills through self-guided research rather than spoon-fed videos, to identify key setup information.
Install and enable Unity's new input system from the official docs, using the package manager, and enable both backends in Active Input Handling on Unity 2019.
Learn to create and map inputs with Unity's input action assets from the documentation. Create an input folder and a player input actions asset, then double click to open window.
Explore the new Unity input system using action maps to switch between walking, car, and flight controls, and manage pause menu actions by enabling one action map at runtime.
Create your first action in the new input system by defining a fire action, choosing a button action, and adding bindings for space and T keys, then save and test.
Design and implement a dog action map in unity's input system, creating bark, walk, run, and die actions with key bindings and composites while consulting the action editor documentation.
Map bark to space and walk to a 2D vector with WASD in Unity input system. Use left shift hold for run and D plus F key modifier for die.
Learn to integrate Unity's new input system with C# scripting, generate a player input actions class, enable dog action map, and handle bark actions and perform and cancel events.
Script the walk action in the action map, register performed walk inputs from the dog, and print the walk context when pressing A or D keys, yielding a vector2 input.
Review how to script the walk input in Unity by registering the performed walk action in the player input class and reading the value vector for cardinal and diagonal movement.
Explore the left shift run input and map it to the run action. Register the input only when the elapsed time is at least one second.
Register the run input and trigger a run action after holding left shift for more than one second, logging running and capturing context data.
Register the dye command in Unity by configuring a button with a single modifier composite and the f modifier, and implement its perform action in the player input actions.
Register the di input using the f and d modifier, test with df or g and h, and explore event-driven systems, delegates, and multiple listeners for actions.
Explore implementing smooth character movement in Unity using a 2D vector composite with digital normalized input, polling input in update, and translating the player with time-based speed.
Develop a custom input controller by starting with a center cube or player script, delete input assets, and implement space key functionality to assign a random color.
Learn to randomize a cube's color on space input by creating a player input action, binding space to change color, and applying a random HSV color to the mesh renderer.
Learn to rotate a cube in Unity using the A and D keys, holding to rotate left or right, and prepare for a challenge review.
Learn how to rotate a player in Unity using a 1D axis for left-right input, mapping A/D and arrow keys, reading the value, and optionally inverting it with a processor.
Create an action map for driving the cube and swap to it by pressing the T key, enabling 3D movement with the left, right, forward, backward, and Z keys.
Learn to set up a driving action map in Unity's new input system, switch to it with the T key, and implement vector2 movement using WASD and arrow keys.
Create a bouncing ball in Unity where jump height depends on hold duration, using a floor, a sphere with rigidbody and gravity, and a force-based jump.
Explore building a bouncing ball mechanic by configuring a Unity input action for tap and hold, mapping space to light and full jumps via context duration and impulse force.
Prototype quickly in Unity by using the new input system to detect space key presses and mouse clicks, testing a player jump and left-click interactions in real time.
Explore how to set up mobile UI controls with Unity's new input system, using an on-screen joystick to move a cube left and right via a vector two input.
Learn to create a charging progress bar in Unity using a UI slider, holding space to fill and releasing to drain, with fill and padding adjustments to reach full range.
Implement a fire system with a half-second cooldown using a fire action and space binding, instantiate a projectile prefab, and ensure projectiles move upward and are destroyed off screen.
Create a simple ammo system with a private ammo count of three, firing only when ammo is greater than zero and decrementing ammo. Use the player manager for input handling.
Explore raycasting, the 3D line technique that detects intersections to determine hits and bullet holes in shooters, AI-driven cars, and interactions centered in the crosshair.
Explore raycasting fundamentals and the syntax of physics.raycast in Unity, navigating overrides and reading documentation while building a scene where clicking a cube changes to a random color.
Create a raycast interaction by attaching a player class to the main camera and detecting left mouse clicks. Change the hit object's color to a random color on hit.
Learn to use the new input system to left-click and raycast from the mouse, detect hits, and color hit objects with a random color using their mesh renderers.
This challenge refines click interactions in Unity by using a physics raycast and tags to color only cubes, while spheres remain unchanged and capsules turn black.
Tag objects in Unity, use a raycast to identify hits, and switch on tags to color cubes randomly, set capsules to black, spheres unchanged.
Set up a ten by ten floor, adjust the main camera to a top-down view, and instantiate a red sphere prefab at the clicked floor position via raycast.
Left-click to instantiate objects on the floor by casting a ray from the mouse position and placing the sphere prefab at the hit point.
Use Unity layer masks to filter raycasts by a 32-bit flag, enabling hits only on specified layers like enemies through bitwise operations.
Implement directional raycasts using Vector3 direction and a starting point to detect the floor. Visualize the ray with gizmos and set a one-unit distance.
Learn to control a sphere's gravity by caching its rigidbody, using raycasts to detect the floor, and freezing the object when hit, with debug and fixed update considerations.
Set up a crosshair image, center it on screen, and implement a viewport-centered raycast to spawn a bullet hole prefab on a wall when firing.
Cast a ray from the camera center on left click, instantiate the bullet hole prefab at the hit point, and orient it to face the surface.
Create a floor, set up a click to move mechanic using raycasting to identify the destination, and implement a player that moves toward the target.
Implement click-to-move by raycasting from the camera to the mouse position, hitting the floor, and updating the player's destination. Move toward that destination with distance checks and y-axis locking.
Begin building the AI for Geoeye one by creating a waypoint scene and FSM logic. Place points A through F across a catwalk floor to enable AI movement and pauses.
Bake a navigation mesh in Unity to enable AI to navigate walkable surfaces, configure a nav mesh agent, and use off mesh links and nav mesh obstacles for realistic navigation.
Set up a navmesh agent on a sphere, adjust base offset to sit on floor, and tune speed, acceleration, stopping distance, and auto braking for waypoint navigation to a target.
select a random waypoint for the sphere, attach an AI script, and use the Navmesh agent to set destinations and travel to the chosen waypoint, with six stored waypoints.
Move a NavMesh agent to a random waypoint by storing waypoints as a serialized list of transforms, obtaining the NavMesh agent, and setting its destination to a random waypoint position.
Design a smart AI that navigates a sequence of waypoints using a navmesh agent, updating destinations as it reaches each point, then looping or reversing at the end.
Design a smart AI that reverses its waypoint path by tracking the current waypoint, detecting the end, and toggling reverse mode with a boolean to move backward and forward.
Clean up code in Unity C# game development by refactoring the update method, extracting reverse and forward logic into voids, and organizing eye movement calculations for better maintainability.
Explore the finite state machine approach to game AI, using enums to define walking, jumping, attacking, and death states, and implement state transitions with a glorified switch statement in C#.
Design a state-based AI that starts in walking, switches to jumping when the E key is pressed, and stops the AI while in the jumping state using calculate movement.
Learn how to enter the jump state in Unity with the new input system by pressing E, set the AI agent's isStopped to true, and observe the jump transition.
Trigger the attack state when the target distance drops below 0.5, pause for three seconds, then resume walking, ensuring attack logic occurs before setting the next destination.
Implement an attack state in Unity AI using a coroutine to pause for three seconds, stop and resume the agent, then transition to walking.
Learn how off mesh links enable the AI to jump between points using bake settings like drop height and jump distance, illustrating navigation from F to G.
Explore physics in Unity by working with rigid bodies, colliders, terrain and mesh colliders, wheel colliders, triggers, physics materials, and code-driven forces, then visualize trajectories and unlock ragdoll physics.
Learn the basics of using rigid bodies in Unity to create 3D physics simulations, add Rigidbody and box collider components, observe gravity, collisions, and optimization considerations in lab zero one.
Apply physics in Unity by examining rigid body basics: add box colliders and a rigid body, experiment with stacking and interactions, and observe a pressure plate lighting green when triggered.
Explore primitive colliders in Unity 3D, including box, capsule, and sphere colliders, and learn to optimize physics interactions by matching object shapes and editing collider properties.
Compare box, capsule, and sphere colliders for a cylinder, choose a capsule to enable rolling, and observe how a Rigidbody makes it fall and interact with the ground.
Create compound colliders by combining a capsule collider for the main shape with box colliders for the feet, using orthographic views, and copying, pasting components to align and stack them.
Learn to rotate colliders by creating a leg collider as a separate game object, shaping a compound box collider, and testing with a rigidbody to ensure accurate collisions.
Create a compound collider by combining box and capsule colliders to shape a light, edit in isometric and orthographic views, then add a rigid body and test in play.
Create terrain and terrain collider, adjust width, length, height, and detail resolution, apply a terrain material, and enable tree colliders; then add a crate with a box collider and rigidbody.
Add a terrain collider and attach lab zero three terrain data, disable tree colliders, then assign a crate with a box collider and rigid body to test collision in play.
Master mesh colliders in Unity, compare convex and non-convex shapes, and learn when to use is kinematic for concave physics with optimized cooking options.
Learn the solution for creating mesh colliders by adding a mesh collider to a rigid body, ensuring a convex collider via the physics engine, and watching the lab complete.
Set up wheel colliders in a structured vehicle with a rigidbody, then tune suspension distance, radius, and mass (1500kg) to test visuals and physics in play mode.
Set up the rover with a rigidbody mass of 1500, add and align wheel colliders, adjust suspension and radius, and explore center of mass with the physics debugger.
Match a wheel mesh to its wheel collider by using get world pose to obtain position and rotation, then apply those values to the visual wheel’s transform in Unity C#.
Align wheel visuals with physics by using the wheel collider's world pose in fixed update to set the visual wheel's position and rotation.
Refactor a Unity C# wheel system to manage all wheel colliders with lists, apply visuals via child transforms, and streamline with a new method and parent-child hierarchy.
Refactor the wheel visuals by listing wheel colliders, applying per-collider world pose transforms, and assigning the visual mesh child, with editor restructuring for the rover.
Learn to implement triggers in Unity using box colliders marked as isTrigger to fire on trigger enter, stay, and exit events, and update object materials or emissive colors through scripts.
Learn to implement and validate triggers in Unity by editing the trigger, adjusting the collider, enabling is trigger, and changing a material's emission color to green to visualize success.
Create and fine-tune physics materials to control friction and bounce on a collider, using dynamic and static friction, bounciness, and combined options to simulate a crate sliding on a ramp.
This lecture demonstrates solving physics material lab by assigning smooth and rough metal materials, tuning dynamic and static friction, and exploring averages and overrides on object interaction in play.
Learn to apply forces to Unity rigid bodies with code, using add force and add torque, and explore force modes like force, impulse, and acceleration.
Learn to apply rigidbody forces in Unity using GetComponent to access the rigidbody, apply relative forces with a public force value, and choose impulse for a one-time push during setup.
Apply torque to rigidbodies to create rotation with add torque and relative torque using transform.up. Script and test force modes to punt a crate toward a portal while it spins.
Apply an initial impulse on start with upward force and local x axis torque to launch the rigidbody toward a portal, then tune force and torque for the desired arc.
Learn to detect collisions between a rigid body and a collider using on collision enter, leveraging hazard tags to trigger audio, debug lines, and explosion prefabs at contact points.
Learn to detect collisions in Unity using OnCollisionEnter and compareTag to filter by a hazard tag, print a collision message with Debug.Log, and test by dropping a capsule onto barrels.
Learn to use Unity's AddExplosionForce to apply explosive force to rigidbodies on collision with barrels, using overlap sphere to detect objects and configure radius, position, upwards modifier, and force mode.
Learn to apply explosive force to hazard colliders in Unity by using overlap sphere to find nearby objects, then apply add explosion force with position, radius, power, and upward modifier.
Explore creating a projectile prefab variant in Unity, including adding a box collider and rigidbody, scripting a package launcher, and using model prefabs and variants to simulate physics-based trajectories.
Learn to script the air mail package projectile in Unity, giving it its own Rigidbody velocity and add force, while the launcher supplies power to fire it.
Apply physics to the package by obtaining a rigidbody, initializing velocity via a launcher, and applying an impulse force to propel the projectile through the air.
Create a launcher script that instantiates the package prefab at a spawn point, applies force on a button press, and handles input in update before calling the package init function.
Instantiate a private serialized airmail package prefab with a force on spacebar, then spawn it under the lab root and call init to apply the force, while verifying lab completion.
Learn to create a simulated physics scene using the scene manager, load multiple scenes, carry over local physics, and track a package's position each frame to form a trajectory.
Create a simulated physics scene in Unity by using the scene manager to create a new local 3D physics scene and obtain its physics scene for object placement.
Move lab obstacles into the simulated physics scene by tagging objects as obstacle, instantiating simulated obstacles, and disabling mesh renderers to rely on box colliders, avoiding duplicate scripts.
Learn to move objects tagged as obstacles into a simulated physics scene in Unity by instantiating simulated obstacles, disabling their mesh renderers, and transferring them to the new scene.
Create and visualize a simulated trajectory with a line renderer by instantiating a prefab in a separate simulated physics scene, applying velocity, and updating each frame via a launcher script.
Instantiate the airmail package prefab to create simulated objects for a line renderer trajectory, apply velocity, move them to the simulated scene, and destroy after 100 frames.
Plan and implement a script to drive a line renderer by updating its positions from a simulated trajectory, using a loop and physics simulation to plot a curved path.
Learn how to script a line renderer by iterating through simulated physics interactions, updating line positions with each object's transform, and optimizing with physics iteration settings.
Optimize the simulated physics script by moving calculations to fixed update, lowering max physics iterations, switching to fixed delta time, and disabling line renderer rendering to improve rate and trajectory.
Modify Unity gravity through code using physics.gravity as a vector3, changing the default -9.81 in project settings, and apply a new value in a start method via a gravity script.
Expose a private serialized gravity value and apply Unity physics gravity via a Vector3, controlling the y component to affect all objects in the scene.
Learn to apply gravity to a single object using a constant force, counteracting world gravity with a rigidbody, and trigger changes via space press.
Learn to apply a custom gravity using a constant force component in Unity, triggered by space input, with a world-direction vector to push a box and enable portal traversal.
Learn how to use the fixed joint to connect objects via the physics engine, add rigid bodies, and control break forces, torque, and kinematic behavior.
Learn to implement fixed joints in Unity by attaching a fixed joint to a cube, adding a Rigidbody to a circle, and connecting them to observe their interaction.
Learn how hinge joints create a pivoted rotation between connected bodies, configure anchors, and enable limits, springs, and motors to control swing.
Create a hinge joint for a hydraulic system by adding a connected body and a rigid body, then adjust the pivot, angular limits, and housing to kinematic.
Explore the spring joint in unity by linking two cubes, adjusting anchor points, spring and damper strengths, and min/max distances to simulate a springy connection.
Configure a spring joint in Unity, adjust connected anchors and spring strength, and observe how the hinge and fixed joints influence the spring’s movement, preparing for the configurable joint.
Learn to use Unity's configurable joint to control linear and angular motion, with locked, limited, and free modes, and drive targets, springs, and anchors for a hydraulic sliding system.
Finish a hydraulic system by configuring a configurable joint, connected bodies, and y motion limited. Tweak anchors, linear limit spring, and switch to hinge and fixed joints.
Explore articulation bodies by building a robot arm with a parent-child hierarchy, configuring mass, gravity, damping, and joints (fixed, prismatic, revolute, spherical) to move freely or within limits.
Learn to extend a ragdoll by adding a foot joint with a capsule collider and a character joint, adjust angular limits, and test twisting motion with the right leg.
Add ragdoll joints by applying capsule colliders and a character joint to the right forearm and hand, set rigidbodies, adjust angular limits, and test the scene.
Welcome to The Complete Unity C# Bootcamp Part 1 of 2, the only course you need to master Unity and launch your career in game development. With thousands of success stories and glowing reviews, this is one of the most comprehensive and highly acclaimed Unity courses ever released on Udemy.
At over 80+ hours of video tutorials (Including part 2), this Unity Bootcamp covers every aspect of game development, taking you from absolute beginner to a job-ready professional. Whether you want to build 2D games, 2.5D projects, 3D environments, or dive into AR/VR, this course will guide you step-by-step. No prior programming experience is required, and by the end, you’ll be ready to build your own games and showcase a portfolio that gets you hired.
Why This Course?
This course is packed with never-before-seen content, covering the latest tools and techniques used in top studios worldwide. Here’s what makes it stand out:
Taught by GameDevHQ, a leading platform in game development education, this curriculum has been tested and refined over years of teaching developers just like you.
The course is 2024 ready and includes new, cutting-edge content like Timeline & Cinemachine, AI Navigation, URP & HDRP lighting, Unity’s New Input System, and an in-depth Physics & Interactions course that’s never been publicly released before.
Save thousands by learning the same content offered in top programming bootcamps, but at a fraction of the cost. Gain access to all the materials that helped countless students break into the industry—no college degree required.
This course doesn’t cut any corners. It features beautiful, animated explanations, real-world projects, and hands-on challenges to solidify your skills. You’ll build games from scratch, implement best practices, and create a professional portfolio along the way.
What You Will Learn: Part 1
Throughout this comprehensive bootcamp, you'll cover a wide array of topics, including:
Core Unity & C# Programming: Master the essentials, from variables, loops, and conditionals to abstract classes, interfaces, and advanced data structures like dictionaries.
Advanced Game Development Techniques: Learn cutting-edge content, including never-before-seen tutorials on Timeline & Cinemachine for cinematic cutscenes, AI navigation to create intelligent NPCs, and the new Unity Input System with Action Maps.
2D, 3D, and AR/VR Game Creation: Build everything from simple 2D games to immersive 3D worlds and AR/VR experiences, using URP & HDRP for advanced lighting and rendering.
Complete Physics & Interactions: Explore a brand-new, in-depth physics course that dives into everything from basic interactions to advanced mechanics, giving you the tools to create engaging, dynamic games.
Professional Portfolio Development: By the end of the course, you’ll have a polished portfolio of games to showcase to employers and kickstart your career.
What You Will Learn: Part 2
Throughout this comprehensive bootcamp, you'll cover a wide array of topics, including:
Core Unity & C# Programming: Master the essentials, from variables, loops, and conditionals to abstract classes, interfaces, and advanced data structures like dictionaries.
Advanced Game Development Techniques: Learn cutting-edge content, including never-before-seen tutorials on 3D Game Development and IK Animation, Advanced Game Logic Interactions, User Interface Design, and Optimization Techniques.
Professional Portfolio Development: By the end of the course, you’ll have a polished portfolio of games to showcase to employers and kickstart your career.
What Students Are Saying:
"Jonathan is an incredible instructor. This course taught me more than I ever imagined. The new AI and physics content blew me away!" - Emily R.
"By far the best Unity course on Udemy! The level design and lighting sections using URP & HDRP were exactly what I needed to take my skills to the next level. Thank you, Jonathan!" - Michael T.
_"This course not only taught me the fundamentals but gave me the tools to create full games on my own. The new input system tutorials were a game changer." _- Sarah L.
"The most thorough and well-explained Unity course out there! I’ve taken several game development courses, but this one stands out in terms of both depth and clarity. I’ve already landed a junior developer job thanks to this!" - David G.
Special Note About Unity Versions:
This course was developed using Unity 2019.x to ensure the best learning experience, though it can also be followed with Unity 2020.x, 2021.x, and even Unity 6 with simple modifications. For an optimal experience, we recommend using Unity 2019.x (Or the version recommended during the Intro section of each project)
Sign Up Today and Get Access To:
Over 44 hours of HD video tutorials. Another 38+ hours in Part 2.
Exclusive content never released before, including Physics, AI, Timeline, and Cinemachine
Engaging real-world projects that you can add to your portfolio
Quizzes, coding challenges, and downloadable resources
A professional portfolio of games to showcase your skills
All the tools you need to start your career in game development
Our 100% Guarantee:
I’m so confident that you’ll love this course that I’m offering a FULL 30-day money-back guarantee. There’s absolutely no risk, and everything to gain. If you're serious about breaking into the games industry, this is the course that will make it happen.
What are you waiting for? Click the 'Buy Now' button and join the thousands of students who have already transformed their lives with this course!