
Explore movement, rotation, and scaling of objects in Unity, with data like vectors and quaternions, and tackle practical problems through guided explanations and hands-on solutions.
Know that this Unity beginners course requires basic Unity and C# knowledge, including C# syntax, outlines prerequisites such as hierarchy, prefabs, and the update method, and invites help when needed.
Ask questions when something remains unclear in Unity tips: position, rotation, scale. Remember that questions and mistakes indicate progress; post in discussions or message the instructor.
Access course materials on the GitHub page, download assets or clone the repository, and freely use lecture code in your games to explore position, rotation, and scale in scenes.
Position and move objects using vectors, with separate classes to let you try lessons independently. Move an object with rigidbody velocity, while gravity and force stay outside this course.
Teleport objects in Unity by copying a transform to the mover on button click. Use vectors, transform positions, and the serialize field attribute to link A and B at runtime.
Build a Unity conveyor line by spawning figure prefabs every 2 seconds, moving them with vector addition or Translate, and shredding them at the end using Vector2/Vector3 shortcuts.
Explore how to modify a vector using the Set method and visualize vectors with Debug.DrawLine and Debug.DrawRay, noting the difference between positions and directions; enable ExecuteInEditMode for in-editor display.
Multiply a vector by a scalar to control speed, expose speed in the inspector with serializefield, and use Time.deltaTime to ensure consistent movement across frames.
Move poker cards from calculated starting positions to target positions using Vector3.MoveTowards; store start and end coordinates with CardCoordinates and DeckPosition, and trigger movement with a button and MovingCard script.
Discover how Vector3.Lerp in Unity delivers all cards at once by interpolating from the initial to the end position, using timing and clamping to ensure consistent arrival.
Create a 2D top-down character controller in Unity that moves in all directions by reading input with GetKey, GetButton, GetButtonDown, and GetAxis, using Input Manager bindings and a MovementManager class.
Learn to fix straferunning in Unity by normalizing the combined vertical and horizontal movement vectors, using Vector3.Normalize or the normalized property, and then translate the character by the normalized vector.
Learn to build a 2d side-scroller character controller in Unity by moving left and right with a Rigidbody2D velocity, using a ground collider, fixed update physics, and input axis handling.
Implement a ground-checked jump in a 2d side-scroller by adding vector2.up to the current velocity when the jump button is pressed, using jumpSpeed and Input.GetButtonDown, while keeping horizontal velocity separate.
Move a platform in Unity using PingPong and Repeat to create back-and-forth motion, using Time.time or a speed multiplier, and even teleport back to the start for conveyor-like movement.
Move a platform along a complex path using Unity animation by recording frames in the animation window, which adds an Animator component and stores position, rotation, scale, or component state.
Move the player with the platform by parenting to the platform using transform.parent and the detach-children method, then detach on leave by setting the parent to null.
Detonate a bomb on click and calculate character damage by distance from the epicenter using vector subtraction. In 2D, raycast with a wall layer mask to prevent damage behind walls.
Create a radar HUD that tracks enemies within a radius and shows red dots on a 2d top-down view using inverse transform point for relative positions.
Use the vector dot product in Unity to decide when a monster should look away within its view, using a view collider, normalized vectors, and angle projections.
Explore how to use cross and dot products to steer a Unity monster in a maze, reducing the chance of turning toward the player while handling perpendicular and directional vectors.
Rotate objects with Euler angles using the transform, around its axis or around another object. Learn why quaternions are widely used in game development and review Unity's quaternion methods.
Rotate a 2D top-down player using Unity's transform.Rotate with tank controls, exploring overloads, Time.deltaTime, and world versus local rotation, plus a serialized rotation speed field.
Create a 3d character controller that rotates left/right with mouse input while clamping vertical angles to -90 to 90 degrees. Use Mouse X/Y, Mathf.Clamp, and Transform.EulerAngles.
Create a camera in Unity that tracks the player in 3D using the LookAt method to rotate toward the player's position, including overloads for position, transform, and optional worldUp.
Use Transform.RotateAround to build a circular star array that orbits a center while looking at the main camera with Time.deltaTime-based rotation, using a star prefab.
Explore quaternion basics and how to rotate around a single axis using Quaternion.Euler. Learn how quaternions avoid gimbal lock and apply them with time-based rotation for objects in Unity.
Learn to rotate a spaceship around two axes in Unity using quaternions, focusing on multiplication order, relative rotations, and two practical approaches: storing angles and combining axis rotations.
Apply quaternion.angleaxis to rotate a 3d spaceship in a 3d third-person shooter style with the mouse, update rotation frame using getangleaxis, and adjust velocity with a rigidbody while disabling gravity.
Explore building a 3d character controller in Unity using quaternions, transform.TransformDirection, and transform.InverseTransformDirection to rotate around a global up while clamping Y to ±90 degrees in a third-person shooter style.
Use Quaternion.LookRotation to compute the target rotation from the vector to the player. Use Quaternion.RotateTowards with Time.deltaTime for a smooth, slow aim.
Rotate a 2D turret toward the player using Quaternion.FromToRotation, and compare it to the LookRotation/RotateTowards approach, aligning the barrel with up and using the player vector as the up direction.
Rotate your 2D character to look at the cursor via Camera.ScreenToWorldPoint, hide the cursor, add a custom cursor, handle mouse and touch with Input.mousePosition and Input.getTouch, using platform dependent compilation.
Spawn a bullet near the 2d player gun, move it with a set speed, and destroy it when it leaves the camera view, using a bullet prefab.
Compare three quaternion methods - lerp, slerp, and slerp unclamped - as we move three suns, highlighting slerp's constant speed for larger rotations and the unclamped option's percent beyond 0-1.
Avoid quaternion constructors; x, y, z don’t map to axes. Keep inputs 0–1 and normalize via Normalize or the normalized method for Unity.
Learn to use Quaternion.Inverse and quaternion comparison in Unity to rotate a key when standing in a designated area, reset on exit, and apply localRotation with Quaternion.identity for parent-relative rotation.
Explore implementing a lockpicking mechanic in Unity using quaternion dot product and Quaternion.Angle to compare rotations, and use Vector3.Angle for vectors while rotating three cylinders to simulate safe cracking.
Explore scaling in Unity by changing object scale in code and comparing local and global scale. See practical examples in games and learn to slow time or pause the game.
Learn how to grow or shrink Alice using Unity scaling basics, localScale and the Vector3.Scale method, with raycasting-triggered resizing and smooth interpolation via Mathf.Lerp.
Explore how scale affects movement in a Unity 2d side-scroller by using transform vector methods to adjust horizontal and jump speed, and safely handle velocity when scaling.
Switch 2d player direction by rotating sprite 180 degrees around the y axis, flipping with flipX, or scaling the sprite, using a 0.01 threshold and an enum to track direction.
learn to scale a platform in Unity without resizing the character, using local scale recalculation or unparenting and reparenting, and manage growth with a rescale script and a children list.
Explore implementing slow motion and a pause menu in Unity by manipulating Time.timeScale on right-click, and charging/recharging a five-second slo-mo ability with coroutines.
Reflect on the tasks and explanations from this Unity Tips course on position, rotation, and scale, and share your feedback in the discussion or via direct message.
Tackle common beginner problems in unity with practical tips, avoiding a start-to-finish game project, and explore Zenject, a dependency injection framework, plus courses by Ben Tristem and GameDev.tv.
The main goal of this course, as its name suggests, is to teach you how to perform movement, rotation and scaling of Unity gameobjects.
In the Position section, we will start with the vector math basics. Each lecture represents a task that you could try to do yourself after I give you some theory and code examples. We’ll cover most if not all the ways you can move an object or calculate its position:
By using transform methods
By using Matf and Vector methods
By applying velocity to the rigidbody
By using animation
We’ll cover vector operations such as addition, subtraction, scalar multiplication, dot and cross products and normalization, and try them out in real game development tasks you might face.
Next, we’ll take a look how to use Euler Angles and Quaternions in order to Rotate your gameobjects. I’ll show you pros and cons of each approach and, of course, provide you with some challenging tasks to solidify your new knowledge.
Finally, you will work with the Scale. In this rather small section you will learn how to change the object size to achieve your goals such as a sprite flip or modifying the parent object without affecting the children. We'll also take a look on how to scale the 4-th dimension - the time itself.
In this course, you will also learn how to get input from different sources such as keyboard, mouse and touchscreen, take a look at raycasting, rigidbody, and a lot of other cool stuff that you can use during the game development. And of course you can freely experiment with the code I provide with my repository.