Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


GetAssetOrScenePath(Object)

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

Definition

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

Parameters

assetObject

The asset object to check.

Returns

Type

Description

stringThe path name relative to the project folder where the asset or scene is stored.

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)); }}