Collisions

2025/12/27

Type
Learning Resource
Format
Glossary Article
Version
General
Subject Tags
Code
Assets
All else
Copyright 2016-2026, GDQuest
Created
2026/02/16
Updated
2025/12/27

Collisions

In games, a collision refers to when two in-game objects touch one another or overlap in a way that the game needs to recognize.

We use collisions mainly to:

Collisions use simple geometry

Collisions rely on simple and invisible geometry to save on performance. They don't directly use the 3D models and sprites the player sees.

While the computer can display and shade millions of polygons in each frame, physics calculations are much more expensive. So, we use a simplified representation of the game world for physics.

We often work with basic geometric shapes like circles, rectangles, capsules, or planes. When we need to match the shape of a sprite or 3D model closely, we also use hand-crafted polygons and 3D meshes. The more detailed these hand-crafted shapes are, the more performance they cost.

Physics nodes and collision shapes

In game engines, not all entities have collision support. Generally, we use specific components to tell the physics engine which entities should support collisions and how they should behave.

We typically use one of the physics nodes in Godot for this purpose. They mainly are:

To be precise, all the nodes that inherit from CollisionObject3D and CollisionObject2D support collisions. We pair them with one or more collision nodes to define their collision geometry:

Become an Indie Gamedev with GDQuest!

Don't stop here. Step-by-step tutorials are fun but they only take you so far.

Try one of our proven study programs to become an independent Gamedev truly capable of realizing the games you’ve always wanted to make.

Nathan

Founder and teacher at GDQuest
  • Starter Kit
  • Learn Gamedev from Zero
Check out GDSchool

You're welcome in our little community

Get help from peers and pros on GDQuest's Discord server!

20,000 membersJoin Server

Contribute to GDQuest's Free Library

There are multiple ways you can join our effort to create free and open source gamedev resources that are accessible to everyone!