void Update()
    {
        if (transform.position.x < generationPoint.position.x)
        {
            distanceBetweenPlatforms = Random.Range(distanceBetweenPlatformsMin, distanceBetweenPlatformsMax);

            platformSelector = Random.Range(0, objectPools.Length);

            heightDifference = transform.position.y + Random.Range(maximumHeightDifference, -maximumHeightDifference);

            if (heightDifference > maximumHeight)
            {
                heightDifference = maximumHeight;
            }
            if (heightDifference < minimumHeight)
            {
                heightDifference = minimumHeight;
            }

            transform.position = new Vector3(transform.position.x + (platformWidths[platformSelector] / 2) + distanceBetweenPlatforms, heightDifference, transform.position.z);

            newPlatform = objectPools[platformSelector].GetPooledObject();
            newPlatform.transform.position = transform.position;
            newPlatform.transform.rotation = transform.rotation;
            newPlatform.SetActive(true);

            if (Random.Range(0f, 100f) < randomStarThreshold)
            {
                starGenerator.SpawnStars(new Vector3(transform.position.x, transform.position.y + 1f, transform.position.z));
            }

            transform.position = new Vector3(transform.position.x + (platformWidths[platformSelector] / 2), transform.position.y, transform.position.z);
        }
    }