godotengine / godotengine/godot-docs
Clarify usage of FREEZE_MODE in RigidBodies
- Dominant language
- reStructuredText
- Stars
- 5.7k
- Forks
- 3.8k
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 25
Description
- *Production edit: See https://github.com/godotengine/godot-docs-user-notes/discussions/311#discussioncomment-14115387.*
**Your Godot version:**
4.4
**Issue description:**
RigidBody2D/3D's documentation on [freeze_mode](https://docs.godotengine.org/en/4.4/classes/class_rigidbody3d.html#enumerations) `FREEZE_MODE_STATIC` states:
> It can be only moved by user code and doesn't collide with other bodies along its path.
This doesn't specify where the body may be moved (process vs. physics_process). My assumption now is, that in STATIC it can be moved wherever seems appropriate (e.g. I rotate the body directly using _input)
Then in FREEZE_MODE_KINEMATIC it says:
> Similar to [FREEZE_MODE_STATIC](https://docs.godotengine.org/en/4.4/classes/class_rigidbody2d.html#class-rigidbody2d-constant-freeze-mode-static), but collides with other bodies along its path when moved.
I got confused here for quite some time, because I tried to move a body in _input while frozen in `FREEZE_MODE_KINEMATIC`.
It now seems logical to me, that it should be moved in _physics_process when in `FREEZE_MODE_KINEMATIC`, because how could it collide otherwise, but I feel that this should be pointed out in the docs to avoid confusion.
Additionally I think STATIC should say that the restriction on moving the body only be applying forces does no longer apply when frozen in this mode, if my assumption is correct on this.
**URL to the documentation page (if already existing):**
https://docs.godotengine.org/en/4.4/classes/class_rigidbody3d.html#enumerations
[minimal_example.zip](https://github.com/user-attachments/files/21794091/minimal_example.zip)
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.