Hi, you’re trying to implement Terminal Velocity. The way it typically works is that you have an additional force (other than gravity) that represents drag or air resistance, which points up instead of down, and is proportional to your speed. When you’re stationary, this force is 0, and when you reach your terminal velocity, this force is equal to gravity and they cancel out. If you were to go faster than terminal velocity, this force would be greater than gravity and you would slow down until you reached terminal velocity again.
Here’s an interactive graph that shows how velocity evolves when you implement air resistance. g represents the value of gravity, while m represents air resistance (value between 0 and 1). Your terminal velocity would be v_t = g/m as indicated by the green line on the graph (the red dots show the evolution of velocity, which falls toward the green line but never go past it). Finally, the blue curve follows the equation of position over time, when air resistance is taken into account. It starts off looking like a parabola (because there’s no air resistance at first), then eventually slows down to a straight line (because air resistance is equal and opposite to gravity, so the falling object no longer accelerates nor decelerates).
So if you just want your falling object to have a terminal velocity, add a script within them that regularly updates an “air resistance” force which should be equal to -m * M * object.Velocity.Y (m is the air resistance factor between 0 and 1, and M is the mass of the object). And if you want to try and get a trail modeling the object’s motion, try using the formula for the blue curve in that interactive graph.