private void ShutdownAndDestroySystem() { if (_instance == null) { return; } try { _instance.Dispose(); } catch (Exception error) { Debug.LogError($"Failed to shutdown game system: {_instance}: {error}"); } try { Object.Destroy(_instance.gameObject); } catch (Exception error) { Debug.LogError($"Failed to destroy game system: {_instance}: {error}"); _instance = null; } }