I have been trying to use BodyPositions to consistently move characters a specific distance; however, due to what I assume can only be friction (despite testing it multiple times on the same part...), the distance the characters are moved is not consistent. Is there a way to always either disregard friction or counteract it using BodyPositions or should I switch over to using something else (I'm not too familiar with BodyForces or BodyGyros or anything like that, so you'll have to fill me in)? As long as the player moves consistently and takes collisions into account, it should work. Thanks in advance.
There are a few ways to solve it. If you want to completely get physics out of the equation, doing something like editing the CFrame is quite useful.
However, if you wanna continue using the body movers, I believe body velocities disregard gravity. Afaik, the only friction in roblox is caused by gravity. Theres no default air resistance or anything like that, so it should work.
https://developer.roblox.com/en-us/api-reference/class/BodyVelocity
According to the wiki, BodyPositions also ignore gravity;
https://developer.roblox.com/api-reference/class/BodyPosition
If you truly want something thats consistent 100% of the time though, I'd definitely invest in a bit of Vector magic.