LanguageEnglish
  • C#
  • JS

Script language

Select your preferred scripting language. All code snippets will be displayed in this language.

OnOpenAssetAttribute

class in UnityEditor.Callbacks

/

Inherits from: CallbackOrderAttribute

Description

Callback attribute for opening an asset in Unity (e.g the callback is fired when double clicking an asset in the Project Browser).

Adding this attribute to a static method will make the method be called when Unity is about to open an asset. The method should have the following signature:
static bool OnOpenAsset(int instanceID, int line)
Return true if you handled the opening of the asset or false if an external tool should open it.

// C# example:
using UnityEngine;
using UnityEditor;
using UnityEditor.Callbacks;
	
public class MyAssetHandler {

[OnOpenAssetAttribute(1)] public static bool step1(int instanceID, int line) { string name = EditorUtility.InstanceIDToObject(instanceID).name; Debug.Log("Open Asset step: 1 ("+name+")"); return false; // we did not handle the open }

// step2 has an attribute with index 2, so will be called after step1 [OnOpenAssetAttribute(2)] public static bool step2(int instanceID, int line) { Debug.Log("Open Asset step: 2 ("+instanceID+")"); return false; // we did not handle the open } }

OnOpenAssetAttribute has an option to provide an order index in the callback. This lets you change the order in which the callback is invoked. (Builtin callbacks always have a value of 0).

Inherited members