//delete state and remove it from sm private void Delete() { if (sm.stateMachine.entry == state) { Debug.LogError("Can't delete entry state, change entry state first to delete this one."); return; } foreach (Handle h in Back) { h.RemoveNext(this); } foreach (Handle h in Next) { h.RemoveBack(this); } SODatabase.Clear(state, state.behaviours); DestroyImmediate(state, true); sm.Remove(this); }