LoadObjectAsync(string, long)
Loads a specific Object and its dependencies from an Asset file asynchronously.
Read time 1 minuteLast updated 4 days ago
Definition
- Type: Method
- Namespace: UnityEditor
- Assembly: UnityEditor
public static AssetDatabaseLoadOperation LoadObjectAsync(string assetPath, long localId)
Parameters
Returns
Type | Description |
|---|---|
| AssetDatabaseLoadOperation | A AssetDatabaseLoadOperation which you can use to track the progress of the operation. |
Remarks
All paths are relative to the project folder, for example: "Assets/MyTextures/hello.png".
Additional Resources: AssetDatabase.TryGetGUIDAndLocalFileIdentifier, GlobalObjectId.targetObjectId.
Examples
using UnityEngine;using UnityEditor;using System.Collections;public class MyPlayer : MonoBehaviour{ public IEnumerator Start() { // This will load all objects in the fbx and return a single Mesh object. Mesh m = AssetDatabase.LoadAssetAtPath<Mesh>("Assets/test.fbx"); AssetDatabase.TryGetGUIDAndLocalFileIdentifier(m, out string guid, out long localId); // At some point after the Mesh may or may not have unloaded we can reload just the mesh AssetDatabaseLoadOperation op = AssetDatabase.LoadObjectAsync("Assets/test.fbx", localId); // yield until the operation is completed while (!op.isDone) yield return null; Mesh reloadedMesh = (Mesh)op.LoadedObject; }}