How to make framerate independent movement with smooth collisions

Basically, i need my character to move the same amout at different fps while having no jittering due to collisions.

When i apply AddMovementInput(FVector(1, 0, 0), 1) for 2 seconds once with 60fps, and once with some other framerate like 30fps (by setting fixed framerate in project settings), my character moves different amounts.
So the AddMovementInput Function by itself seems to not be framerate independent.
Though, for my game it’s important to have framerate independent movement. I think this is easily achievable by setting the actor location and multiplying it with DeltaTime manually. But this only works until you hit a wall, because then the actor is gliching, trying to move into the wall while the engine teleports it out due to the collision.
I also tried AddForce, and AddImpulse ,but those also seem to be framerate independent.

Now i wonder, if there is an easy way to achive framerate independent movement with smooth collisions?
Or will i have to make my own movement script with manually setting the actor location and checking for collisions and stuff, which seems quite overkill to me?