void ApplyGravity(GravityAffector affector, GravityEffected effected) { Rigidbody2D rb = effected.GetComponent <Rigidbody2D>(); float distSq = Mathf.Pow(Vector2.Distance(affector.transform.position, effected.transform.position), 2); Vector2 dir = affector.transform.position - effected.transform.position; dir = dir.normalized * (G * affector.GetMass() * effected.GetMass() / distSq); if (dir.magnitude > minimumForceThreshold) { rb.AddForce(dir); } }