private void SelectedCarAction(float selectedIndex)
        {
            _selectedCarIndex = (int)selectedIndex;
            PlayableCar car = _availableCars[_selectedCarIndex];

            _carNameLabel.text = car.name;

            if (_currentRenderedCarGameObject)
            {
                DestroyImmediate(_currentRenderedCarGameObject);
            }

            GameObject carGameObject = Instantiate(car.carPrefab, _renderRootTransform);

            carGameObject.transform.localPosition = Vector3.zero;
            carGameObject.transform.localRotation = Quaternion.identity;
            Rigidbody carRigidbody = carGameObject.GetComponent <Rigidbody>();

            if (carRigidbody)
            {
                carRigidbody.useGravity  = false;
                carRigidbody.isKinematic = true;
            }

            _currentRenderedCarGameObject = carGameObject;
        }
        private void Awake()
        {
            PlayableCar playableCar   = GameController.shared.playableCar;
            GameObject  carGameObject = Instantiate(playableCar.carPrefab, Vector3.zero, Quaternion.identity);

            if (!carGameObject.TryGetComponent(out VehicleBehaviour vehicleBehaviour))
            {
                SceneManager.LoadScene("MainScene", LoadSceneMode.Single);
                return;
            }
            SceneManager.MoveGameObjectToScene(carGameObject, gameObject.scene);
            GameController.shared.EnableMenuInput();
            vehicleBehaviour.enabled = true;
            DestroyImmediate(gameObject);
        }