Game Dev Cheat Sheet

Physics Layer Collision Matrix

Interactive Unity collision matrix editor with presets and C# code export.

Unity's Physics Layer Collision Matrix controls which layers can collide with which. Configuring it correctly reduces unnecessary physics checks and prevents unwanted collisions. This interactive editor lets you toggle collisions, apply game-genre presets, and export the configuration as C# code.

Edit
Project Settings
Physics
Layer Collision Matrix

Layer Names

Layers 0 to 5 are Unity built-in and cannot be renamed. Layers 6 to 9 are custom and editable.

Layer 0Default
Layer 1TransparentFX
Layer 2Ignore Raycast
Layer 3Water
Layer 4UI
Layer 5Player
Layer 6
Layer 7
Layer 8
Layer 9

Presets

All layers collide with all layers.

Collision Matrix(55/55 pairs enabled)

Collides Ignores
DefaultTransparentFXIgnore RaycastWaterUIPlayerEnemyProjectileEnvironmentTrigger
Default
TransparentFX
Ignore Raycast
Water
UI
Player
Enemy
Projectile
Environment
Trigger

C# Code Output

// ============================================
// Physics Layer Collision Configuration
// ============================================
//
// Collision summary:
//   Default collides with: Default, TransparentFX, Ignore Raycast, Water, UI, Player, Enemy, Projectile, Environment, Trigger
//   TransparentFX collides with: Default, TransparentFX, Ignore Raycast, Water, UI, Player, Enemy, Projectile, Environment, Trigger
//   Ignore Raycast collides with: Default, TransparentFX, Ignore Raycast, Water, UI, Player, Enemy, Projectile, Environment, Trigger
//   Water collides with: Default, TransparentFX, Ignore Raycast, Water, UI, Player, Enemy, Projectile, Environment, Trigger
//   UI collides with: Default, TransparentFX, Ignore Raycast, Water, UI, Player, Enemy, Projectile, Environment, Trigger
//   Player collides with: Default, TransparentFX, Ignore Raycast, Water, UI, Player, Enemy, Projectile, Environment, Trigger
//   Enemy collides with: Default, TransparentFX, Ignore Raycast, Water, UI, Player, Enemy, Projectile, Environment, Trigger
//   Projectile collides with: Default, TransparentFX, Ignore Raycast, Water, UI, Player, Enemy, Projectile, Environment, Trigger
//   Environment collides with: Default, TransparentFX, Ignore Raycast, Water, UI, Player, Enemy, Projectile, Environment, Trigger
//   Trigger collides with: Default, TransparentFX, Ignore Raycast, Water, UI, Player, Enemy, Projectile, Environment, Trigger
//
// ============================================

void SetupLayerCollisions()
{
    // All layers collide with all layers (Unity default).
    // No Physics.IgnoreLayerCollision calls needed.
}