Summary

Use Transform movement when the object is being positioned directly and does not need physics to control its motion. Use Rigidbody2D movement when the object participates in Unity’s 2D physics simulation, needs reliable collision response, or uses velocity and forces. The course introduces both because transform movement is easier to read first, while Rigidbody2D movement is the better model once collisions, knockback and physics timing matter. (course lab series, see source-csharp-unity-labs)

Comparison table

DimensionTransform movementRigidbody2D movement
Typical APItransform.Translate, transform.positionrb.linearVelocity, rb.MovePosition, rb.AddForce
Main ideaPut the object at a positionAsk the physics body to move
Best forSimple scripted movement, UI-like objects, beginner first stepsPhysics objects, player controllers, knockback, collisions
TimingUsually Update with Time.deltaTimeUsually FixedUpdate, with input read in Update
Collision behaviourCan bypass physics if used carelesslyWorks with the physics simulation
Beginner readabilityVery highMedium, because physics timing must be understood
Main riskMissed collisions or jitter on physics objectsOvercomplication for simple movement

When to choose Transform

Choose Transform movement when:

  • the object does not use a Dynamic Rigidbody2D
  • the movement is simple and directly controlled by code
  • the teaching goal is to understand axes, positions and Time.deltaTime
  • the object is a camera target, menu object, marker, simple pickup animation or non-physics visual

Transform movement is often the right first teaching step because students can see the direct relationship between input values and position changes.

When to choose Rigidbody2D

Choose Rigidbody2D movement when:

  • the object should collide reliably with walls, hazards, platforms or pickups
  • movement uses velocity, forces, knockback or gravity
  • you need physics callbacks such as OnCollisionEnter2D
  • the object is Dynamic or Kinematic and should remain inside Unity’s physics model

For a physics player, the common pattern is: read input in Update, store it in a field, then apply velocity in FixedUpdate.

unity-transform · unity-rigidbody2d · monobehaviour-lifecycle · unity-input · unity-collider2d-and-triggers · overview-beginner-2d-unity-route