Take your game to the next level with realistic movements and interactions using Unity’s physics engine!

Unity Quick Tips: Implementing Basic Physics in Unity (Rigidbody)

Part 3 of Our Bite-Sized Unity Tips and Tricks for Beginners

James West
3 min readFeb 15

Welcome to Part 3 of our series of bite-sized Unity tips and tricks for beginners! In this article, we’re going to show you how to implement physics in Unity using rigidbodies. Whether you’re creating a game or another interactive application, physics can add a level of realism and interactivity to your scene. This code assumes you have placed a Rigidbody2D component on your game object.

Here’s the code sample:

using UnityEngine;

public class ApplyPhysics : MonoBehaviour
{
public Rigidbody2D rigidbody;

private void Start()
{
rigidbody = GetComponent<Rigidbody2D>();
}

private void FixedUpdate()
{
rigidbody.AddForce(Vector2.right * 10f);
}
}

In this script, we use the Rigidbody2D component to add physics to the object. First, we declare a public Rigidbody2D variable and use the GetComponent method to get a reference to the component in the Start function. Then, in the FixedUpdate function, we use the rigidbody.AddForce method to apply a force to the object, causing it to move. In this example, we're applying a force in the right direction with a magnitude of 10 units.

Here are a few ways you can enhance and optimize the script for implementing physics in Unity:

  1. Add Colliders: You can add colliders to the object to detect and respond to collisions with other objects in the scene. You can do this by adding a BoxCollider2D or CircleCollider2D component to the object in the Unity Editor.
  2. Add Gravity: You can add gravity to the scene by modifying the rigidbody.gravityScale property in the Start function. This will cause the object to fall towards the ground.
  3. Add Drag: You can add drag to the object to slow it down over time. You can do this by modifying the rigidbody.drag property in the Start function.
  4. Use Forces for Movement: You can use forces to control the movement of the…

--

--

James West

Turning my passion for video games and 11 years of software development experience into a focus on video game development using Unity3D.