Warning: slightly technical post ahead. Since people seem quite interested in inextensible ropes (ropes that can withstand high tension without stretching), I took one of the papers in my pile of stuff and implemented it. The paper in question is this one. In Obi, it has the name RopeConstraints. Comparing the new RopeConstraints (left) with DistanceConstraints (right): This uses a clever trick that allows to solve linear equation systems that are tridiagonal in matrix form in just O(n) (2n, to be exact: one sweep forward over all equations, and one sweep backward). It considers the entire rope as a whole, instead of a lot of small mass lumps joined by independently solved springs. It completely converges in just a couple iterations. Which means the rope doesn´t stretch anymore under high tensions, and it can be composed of as many particles as needed. Also, it doesn´t suffer from any numerical dissipation of energy, which results in a more lively simulation. And unlike other no-stretch algorithms like DFTL (dynamic follow the leader), it doesn´t impose any conditions on which particles can be fixed. All in all, it is a relatively obscure but great method for ropes, in my opinion. The only compromise is lower stability compared to the more traditional distance constraints based approach. It doesn´t act so nicely when the system has no solution: imagine an inelastic rope with both ends fixed at a distance between them greater than the length of the rope: the rope would tear apart in the real world, as there's no way it can stretch. This tridiagonal matrix approach will not find a suitable solution to the system, and the rope will jitter between different configurations never coming to rest. Distance constraints on the other hand, react to this by returning a "close enough" solution: stretching the rope beyond its physical limits (which for some uses, looks much nicer). Increasing the amount of RopeConstraint iterations boosts their stability, instead of their convergence speed. So I will keep both systems. If you need a "don´t explode no matter what" rope, use DistanceConstraints. If you need a "don´t stretch no matter what" rope, use RopeConstraints. Tomorrow I will upload this ObiRope update (along with MeshColliders, and initial support for 2D colliders: box, circle and edges).