Is it bad to move a StaticBody3D?

Godot Version

v4.2.2.stable.official [15073afe3]

Question

I’ve seen people say moving a StaticBody3D node is bad for performance, does that mean I should use AnimatableBody3D if I have my node moving in global space? If that is the case, why is AnimatableBody3D inheriting from StaticBody3D?

yes use animatable body 3d if you want to move it from code. the static body 3d should never be moved. animatable body exist because ppl want to move static body

from the doc:

A 3D physics body that can’t be moved by external forces. When moved manually, it affects other bodies in its path.

Description

An animatable 3D physics body. It can’t be moved by external forces or contacts, but can be moved manually by other means such as code, AnimationMixers (with AnimationMixer.callback_mode_process set to AnimationMixer.ANIMATION_CALLBACK_MODE_PROCESS_PHYSICS), and RemoteTransform3D.

When AnimatableBody3D is moved, its linear and angular velocity are estimated and used to affect other physics bodies in its path. This makes it useful for moving platforms, doors, and other moving objects.

1 Like