private GameObject ConnectToParent(Creature parent, Creature child, GameObject parentObject)
    {
        int[,] connections = parent.JointArray;
        int parentPoint = -1, childPoint = -1;

        //Gets connection details
        for (int i = 0; i < 6; i++) //Width of 2D joint array connections = 6
        {
            if (child.ID == connections[i, 0])
            {
                parentPoint = i;
                childPoint  = connections[i, 1];
            }
        }

        //Get parents connetion point transform
        Transform parentPointPos = GetPointPos(parentObject, parentPoint);
        //Get vector3 direction from parent connection point to parent center
        Vector3 directionFromParent = GetDirection(parentPointPos, parentObject.transform);

        //Move turtle to parent connection point
        turt.MoveTurtleTo(parentPointPos.position);
        //Rotate turtle to face direction from connection point to center of parent
        turt.FaceTurtleTo(directionFromParent);

        //Add child object to scene
        GameObject childObject = AddToScene(child);
        //Get distance from child object to connection point
        Transform childPointPos = GetPointPos(childObject, childPoint);
        float     childSpacing  = GetDistance(childObject.transform, childPointPos);

        //Move turtle into possition
        turt.MoveTurtle(directionFromParent.x, directionFromParent.y, directionFromParent.z, childSpacing);

        //Move child object to new turtle possition
        childObject.transform.position = turt.GetTurtlePosition();
        //Make sure child object is rotated correctly for jointing
        CorrectRotation(childObject, childPoint, parentPointPos);



        CharacterJoint charJoint  = childObject.AddComponent <CharacterJoint>();
        Vector3        localPoint = childPointPos.InverseTransformPoint(childPointPos.position);

        charJoint.anchor = localPoint;


        charJoint.connectedBody   = parentObject.GetComponent <Rigidbody>();
        charJoint.enableCollision = true;
        SoftJointLimitSpring springA = charJoint.twistLimitSpring;

        springA.damper             = 1f;
        charJoint.twistLimitSpring = springA;
        SoftJointLimitSpring springB = charJoint.swingLimitSpring;

        springB.damper                         = 1f;
        charJoint.swingLimitSpring             = springB;
        charJoint.autoConfigureConnectedAnchor = true;
        return(childObject);
    }