Jump to content
Unity Insider Forum

Skript nur für den Editor


thewhiteshadow

Recommended Posts

Hallo zusammen,

ich hab ein Skript als MonoBehavour einem Objekt angehangen. Es hält eine Datenstruktur, die ich im Editor benötige und auch nur dort. Zur Laufzeit ist das Skript völlig nutzlos. Auch die Datenstruktur brauch ich da nicht mehr. Kann man das irgendwie anders organisieren damit die Daten im Editor verfügbar sind, aber beim build rauskommen?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Zitat

Es hält eine Datenstruktur, die ich im Editor benötige

 

Zitat

aber kann ich damit auch felder ausschließen

Ich verstehe leider nicht so wirklich was du meinst. Könntest du das bitte noch etwas näher erläutern. Was für Datenstrukturen und was genau meinst du mit Felder?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wenn dein ganzes Skript nicht im Build sein soll, packe es in einen Ordner namens "Editor". Bei serialisierten Feldern musst du aufpassen, wenn du sie Editor-only haben willst. Wenn das Skript ansonsten noch im Build landet (und da auch benutzt wird), gibt es bei der Deserialisierung einen Fehler, weil das Serialisationslayout der Klasse nicht mehr mit der Version im Editor übereinstimmt, von da aber die serialisierten Szenendatan stammen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Danke für die Antwort, aber das mit dem Ordner Editor ist eine ganz schlechte Idee. Der Ordner ist nur für Editor-Skripte. Bei Monobehavours wirft es einen Fehler im Inspektor.

Unity scheint sich allerdings nicht an den verschwundenen Feldern zu stören. Vielleicht weil ohen Zugriff nicht mal die Klasse geladen wird. So genau weiß es auch nicht. Jedenfalls gehts.

Falls jemand ne bessere Lösung hat, wie man Daten im Editor für ein GameObjekt speichern kann ohne Monobehavour nehm ich es gerne an.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Nööp.

Und er jammert nicht beim Build und im Log steht nur sowas: "Unloading 5 Unused Serialized files (Serialized files now loaded: 0)" Was auch immer das heißt.^^

Unbenannt.JPG

Edit: Ich seh grade, dass ich nicht der einzige bin mit demProblem/Lösung:

https://answers.unity.com/questions/686278/can-i-save-data-in-an-editor-class.html

Link zu diesem Kommentar
Auf anderen Seiten teilen

Weiß nicht genau, was du da speichern willst, ggf. könntest du es auch in einer Scriptable-Objekt-Klasse ablegen, dann sind diese Daten eben auch keine Szenendaten mehr (= SO-Asset) und SO's funktionieren im Editor in beide Richtungen (lesen / schreiben). Nach einem Build dann nur noch lesend, aber dies würde dich ja nicht stören.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Im Build kann man wunderbar Werte von ScriptableObjects ändern. Sind dann halt nur nicht persistent, ist ja klar.

Zu der Exception: Die tritt tatsächlich etwas zufällig auf. Konnte sie jetzt gerade weder in 2017, noch in 2018 reproduzieren. Hatte sie aber in 2017 schon...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

×
×
  • Neu erstellen...