Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


GetAssetOrScenePath(Object)

Returns the path name relative to the project folder where the asset or scene is stored.
Read time 1 minuteLast updated 12 days ago

Definition

  • Type: Method
  • Namespace: UnityEditor
  • Assembly: UnityEditor
public static string GetAssetOrScenePath(Object assetObject)

Parameters

assetObject

The asset object to check.

Returns

Type

Description

string

Remarks

All paths are relative to the project folder, for example: "Assets/MyTextures/hello.png"
When a GameObject is part of a scene, the scene path is returned.

Examples

using UnityEditor;using UnityEditor.SceneManagement;using UnityEngine;using UnityEngine.SceneManagement;public class AssetDatabaseExamples : MonoBehaviour{ [MenuItem("AssetDatabase/Get Asset Or Scene Path Example")] static void GetAssetOrScenePathExample() { var asset = AssetDatabase.LoadAssetAtPath("Assets/Prefabs/Cube123.prefab", typeof(GameObject)); //This will output Assets/Prefabs/Cube123.prefab Debug.Log(AssetDatabase.GetAssetOrScenePath(asset)); var clone = Instantiate(asset); EditorSceneManager.SaveScene(SceneManager.GetActiveScene()); //This will output Assets/Scenes/SampleScene.unity Debug.Log(AssetDatabase.GetAssetOrScenePath(clone)); }}