private void Awake()
 {
     if (instance == null)
     {
         foreach (HovercraftStats stats in hovercraftStatsList)
         {
             hovercraftStats.Add(stats.VariantTag, stats);
         }
         instance = this;
         DontDestroyOnLoad(gameObject);
     }
     else
     {
         Destroy(gameObject);
     }
 }
    private void Start()
    {
        SetStats(HovercraftStatsManager.GetDefaultStats());

        gMult = Physics.gravity.magnitude;

        // Set Hover Derived
        halfHeight = sc.radius / 2f;

        zoneDetectionHalfSize = new Vector3(zoneDetectionBoxSize / 2f, 0.1f, zoneDetectionBoxSize / 2f);

        if (matchTerrainNormal)
        {
            rb.constraints   = matchNormalConstraints;
            castRotations    = new Quaternion[3];
            castRotations[0] = Quaternion.identity;
            castRotations[1] = Quaternion.Euler(0f, 120f, 0f);
            castRotations[2] = Quaternion.Euler(0f, 240f, 0f);
        }

        StartCoroutine(SoundUpdateRoutine());
    }