Wieso erhalte ich einen Fehler beim Löschen eines Objekts in Unity?
Hallo
Ich programmiere aktuell ein Geschicklichkeitsspiel. Dort habe ich ein unredliches Level eingebaut und dort habe ich es so gemacht, dass ältere Plattformen, die der Spieler nicht mehr sieht, entfernt werden. Aber da kommt jetzt ein Fehler beim Löschen des Objekts:
Destroying assets is not permitted to avoid data loss.
If you really want to remove an asset use DestroyImmediate (theObject, true);
UnityEngine.Object:Destroy (UnityEngine.Object)
Weiß jemand, an was es liegen könnte?
1 Antwort
![](https://images.gutefrage.net/media/user/regex9/1455660989427_nmmslarge__0_13_270_270_615d5a3bc6888f4c1486ce2b4d9d8f60.png?v=1455660989000)
Möglicherweise versuchst du, ein Prefab zu löschen.
Deine Plattformobjekte sollten von einem Prefab (oder unterschiedlichen Prefabs, sofern sich die Plattformen voneinander unterscheiden) abgeleitet werden. Der jeweils erzeugte Klon wird später an die Destroy-Methode übergeben.
Beispiel:
var platform = Instantiate(PlatformPrefab, position, rotation);
// when to destroy:
Destroy(platform);
Statt Objekte immer wieder neu zu erzeugen und später wieder zu zerstören, wäre es allerdings eine Überlegung wert, ob du die bestehenden Objekte nicht wiederverwenden kannst, indem du einfach nur ihre Position änderst. Objekte, die für einen gewissen Zeitraum ungenutzt sind, können deaktiviert werden (SetActive).