Quick answer: RigidBody3D → continuous_cd = CCD_MODE_CAST_RAY. Project tick rate 120Hz for high-speed games.

Fast bullet RigidBody3D passes through walls. Discrete CD per tick steps further than wall is thick.

The Fix

extends RigidBody3D

func _ready():
    continuous_cd = CCD_MODE_CAST_RAY
    linear_velocity = Vector3.FORWARD * 2000

# project.godot
[physics]
common/physics_ticks_per_second = 120
common/max_physics_steps_per_frame = 8

CCD_MODE_CAST_RAY sweeps a ray from previous to current position. Higher tick rate reduces per-step distance.

Verifying

Bullet hits wall consistently. Without CCD: tunnels in >50% of shots.

“CCD on. Tick up. Hits land.”

Related Issues

For Area2D fast mover, see CCD 2D. For ShapeCast3D plane, see ShapeCast3D.

CCD. Tick up. No tunnel.