Unity Build-Fehler: Der Name 'EditorUtility' ist im aktuellen Kontext nicht vorhanden


INTODAN

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?

Brian Choi

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

Verwandte Artikel


Der Name 'CommandType' ist im aktuellen Kontext nicht vorhanden

user5648283 Kann mir jemand helfen zu verstehen, warum ich diesen Fehler hier bekomme? using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using System.Threading.Tasks; using System.Data.SqlClient; using S

Der Name Antwort ist im aktuellen Kontext nicht vorhanden

javafx Ich erstelle eine Blazor-Webanwendung mit .Net Core und versuche, das Token im Cookie zu speichern. Allerdings bekomme ich den Fehler: Der Name Antwort existiert im richtigen Kontext nicht In all den Beispielen, die ich gesehen habe, sind Menschen nicht