Consistent way to keep part falling down straight/orientated without flinging?

Greetings!

Currently in the middle of working on an update for my game, and I’ve created a little system where you can “poof” (this is a Steven Universe game), which spawns a gem at your HumanoidRootPart and is intended to fall down and once touching the ground, waits a little bit and anchors. I have this working just fine, however, I do not like the fact that sometimes the “gem” (or part in this instance) will bounce around or roll. I’ve tried setting the collision fidelity to a Box, messed with the PhysicalProperties, and made it massless, which has lessened the effect but isn’t exactly where I want it.

I have tried both BodyGyro and BodyPositions, however certain parts will freak out and “fling” across the map and is very inconsistent for whichever reason. I’m not sure if there’s just a more efficient way of handling this, or perhaps not even relying on gravity to drop the gem but rather raycasting to the floor and simply tweening (there are multiple locations at different heights). This isn’t critical since we’ll just be going with the “raw” method, but some advice and help would be appreciated!

while using bodymovers you must remember to set the network owner of the parts to the server (:SetNetworkOwner(nil) for this) so that players cant mess with the physics, I would recommened trying the bodygyro again as that seems like the best way to go but also with a collision group that makes the parts ignore players and maybe make it so when the gem touches the group it force cancels all velocity and deletes your bodygyro to avoid flinging

I see! I did not think about the SetNetworkOwner part and will add that to the current code. As for cancelling all velocity, what is the most effective way to do that? I’ve looked into it and unless I’m more blind then a horse, I couldn’t find the solution I was looking for.

Have you tried changing the Properties of the BodyPosition | Roblox Creator Documentation?
Making the MaxForce large in the X and Z axes and 0 in the Y axis will keep the Part where you drop it and allow it to drop to the ground.
If you script it to drop to the Position of the ground and have it Anchor when BodyPosition | Roblox Creator Documentation fires it shouldn’t fling anywhere.