Godot Version
4.7
Question
The first question would be can I directly change the position of a CharacterBody2D if I have enough reason to do so. (I need to just ignore the physics collision in some cases) and if I do so, would it functions as I expected? (Be moved to that position in any case.)
The second quesion is about AnimtableBody2D, the doc is very simple, say I should move it by code, I thought it would be changing the position directly and it also says it would deliver its motion to other objects interacting with it. However I dont think AnimtableBody2D is very useful, first, I dont know how it delivers the motion and I can not control it. Secondly, by using AnimatbleBody2D, I can not detect the colllision.
Mostly people use it as moving platform, however what if it hits another CharacterBody2D? In my testing, It can squash my characterbody2d in some cases, Like from up down push the character into the floor!!. This is not what I want, So I need a way to detect the collision.
The only solution for me is to use CharacterBody2D for the all the stuff, this make those components like AnimatableBody2D or RigidBody2D seems no use.
This issue also exists in Unity, I think it is a design issue, If you think your cases, most of the cases you need to know the collision. The only exception would be StaticBody2D, other components, as soon as it needs to move, it needs the collision. So there is no case I dont need the collision while still needs to move it. This would easily cause issues.