Unity Build-Fehler: Der Name 'EditorUtility' ist im aktuellen Kontext nicht vorhanden
Ich habe ein sehr einfaches Problem. Ich habe einen Build-Fehler, wenn ich versuche, mein Spiel in Einheit zu erstellen. Wenn ich das Spiel im Editor starte, funktioniert es einwandfrei. Hier ist der Fehler, wie er in der Konsole angezeigt wird.
Assets\Scripts\Pattern.cs(284,17): error CS0103: The name 'EditorUtility' does not exist in the current context
Dies ist die Codezeile, auf die sich der Fehler bezog:
EditorUtility.DisplayDialog("Great!", "You got the pattern right!", "Next Level!");
Wenn Sie der Meinung sind, dass der Fehler darin besteht, dass ich nicht die richtigen Dinge in das Skript importiert habe, liegen Sie falsch, weil ich Folgendes importiert habe:
using System.Linq;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;
using UnityEditor;
Kann mir jemand helfen? Danke im Voraus.
EDIT: mache diesen Code:
#if UNITY_EDITOR
EditorUtility.DisplayDialog("Meh", "You got the pattern wrong ):", "Try Again!");
#endif
funktioniert nicht In der Build-Version wird das Meldungsfeld einfach nicht angezeigt und es verhält sich so, als wäre diese Zeile nur ein Kommentar. Kann jemand helfen?
Der Grund, warum Sie jetzt Fehler haben, ist, dass Unity den Namespace "UnityEditor" in der Kompilierungszeit entfernt, wie sie dafür entworfen wurden. Wenn Sie versuchen, es auf einer Plattform zu verwenden, ist "EditorUtility" daher auf keiner Plattform außer UnityEditor vorhanden. Weil sich "EditorUtility" im Namespace "UnityEditor" befindet.
Wenn Sie also dieselben Jobs wie im Unity-Editor mit "EditorUtility" ausführen möchten, sollten Sie diese wie sie selbst implementieren.
#if UNITY_EDITOR
EditorUtility.DisplayDialog("Great!", "You got the pattern right!", "Next Level!");
#else
YOUROWNCLASS.DisplayDialog("Great!", "You got the pattern right!", "Next Level!");
#endif