- Home /
BCE0005: Unknown identifier: 'EditorUtility'.
Hi, I have a problem in build the project. More precisely with the line
var path = EditorUtility.OpenFilePanel.
I read that I must to put this script into Editor folder, but when I do this, I can't put the script in the scene. I need to open a file panel and get a audio file.
var music :AudioSource;
var url :WWW;
var tex :WWW;
var audi :AudioClip;
var pant :Material;
var mov :MovieTexture;
var butt :UI.Button;
var state :AudioDataLoadState;
function Start () {
}
function Update () {
butt.onClick.RemoveAllListeners();
butt.onClick.AddListener (click);
if(audi != null){
state = audi.loadState;
if(audi.loadState.Loaded)
music.clip = audi;
}
}
function click () {
var path = EditorUtility.OpenFilePanel(
"Open music file",
"",
"wav");
if (path.Length != 0) {
url = WWW("file:/" + path);
}
audi = url.GetAudioClip(false,true,AudioType.WAV);
}
"Asked 46 $$anonymous$$utes ago"
"Answered 1 hour ago"
Some magic just happened there.
Answer by meat5000 · Mar 16, 2015 at 12:09 AM
Its an editor functionality. It doesn't go in to the scene.
Follow closely the example from the docs.
Copy and paste the example to a file and name it as the class is named. Place that file in your editor folder (This step seems to not be necessary in Unity 5).
Make a new file and paste this, then place it on an object:
#pragma strict
var test : EditorUtilityOpenFilePanel = new EditorUtilityOpenFilePanel();
function Update ()
{
if(Input.GetKeyDown(KeyCode.F))
{
EditorUtilityOpenFilePanel.Apply();
}
}
The example from the docs requires that first you select a texture somewhere in your project explorer. The new code activates the method after you press F.
If you dont select a texture first you get a Cast error.
Once this works, modify it to suit your need.