Why does RigidBody2D's linear velocity change?

Godot Version 4.2.1

Why RigidBody2D’s linear velocity’s x components change over time?

If you lazy to read this jump straight to the problem.


I am using RigidBody2D to do some physics for me. So I Created 2d scene with Node2D and added RigidBody2D as child. Now for the body (Referring to RigidBody2D I added :blush:) I added Sprite2D with texture for it and CollisionShape2D which is required by the body.

And I changed position to (100, 500) and linear velocity to (500, -700).
Important: I did not use any scripts.

Fine part:

When I run the project the body is traveling in a parabola which is fine because the gravity affecting the linear velocity.

The problem:

As per physics gravity doesn’t affects the x component of the linear velocity but the y component. But rather it staying in 500 (which I initially set) it is reducing over time. I don’t know what affecting it.

Solutions I tried:

I messed with some values nothing helps but I change linear_damp_mode to Combine the reduction decreased. Yet still deviation is considerable.

I want to know what causes this phenomenon. And how to avoid it. Thank you for your time.

I would check project settings to see if there is a default linear damping enabled. Just set it to zero.