2D kinematic object's velocities

I have kinematic objects that I’m using either transform.position or rb.MovePosition to modify its position. I don’t want the object to respond to anything physics related, I just want it’s position to move based on this script so I made it kinematic. Since I can’t modify a kinematic object’s velocity vector I have to modify it’s position vector, and I’m doing it every frame using Time.deltaTime.

So my question is, why is there (as far as I know) no way to directly call to a kinematic object’s velocity? If the object is moving a certain distance in a certain time, I figured it would calculate it’s own velocity value and have it available, but in the rigidbody section in the inspector it’s velocity is always 0 despite it’s position being updated every frame. It would be very convenient for me to call on this value instead of having to calculate it depending on the movement formula I used to modify its position. Anyone got any ideas?

You can set the Rigidbody2D velocity, I don’t understand why you are saying you can’t. Surely you’ve tried and it doesn’t work but there’s no reason why it wouldn’t unless you’re also, at the same time, setting the position in which case it can’t move to a position AND use its velocity (those are opposing actions).

Don’t EVER modify the Transform when using physics, the whole point of the Rigidbody2D is to write its pose to the Transform.

I don’t know what I’m talking about, sorry! I could have sworn kinematic rigidbodies couldn’t be affected by rigidbody2d.velocity for some reason. but I just tried it and it worked.

Thanks!