Skip to content

Class: AssetManager

Defined in: packages/core/src/asset/asset-manager.ts:347

Centralized asset loader with caching and priority‑based preloading.

Remarks

  • Initializes loader instances against a shared LoadingManager.
  • preloadAssets loads critical assets first (blocking), then starts background ones.
  • Use getGLTF/getTexture/getAudio to retrieve cached results by key.

Constructors

Constructor

new AssetManager(): AssetManager

Returns

AssetManager

Properties

loadingManager

static loadingManager: LoadingManager

Defined in: packages/core/src/asset/asset-manager.ts:348


world

static world: World

Defined in: packages/core/src/asset/asset-manager.ts:349

Methods

createGLTFLoadTransaction()

static createGLTFLoadTransaction(limits): GLTFLoadTransaction

Defined in: packages/core/src/asset/asset-manager.ts:547

Create an isolated glTF load transaction for scene resource preflight.

Parameters

limits

GLTFLoadTransactionLimits = {}

Returns

GLTFLoadTransaction


getAsset()

static getAsset(key): any

Defined in: packages/core/src/asset/asset-manager.ts:556

Fetch any cached asset by logical key.

Parameters

key

string

Returns

any


getAudio()

static getAudio(key): AudioBuffer

Defined in: packages/core/src/asset/asset-manager.ts:572

Get a cached AudioBuffer by logical key.

Parameters

key

string

Returns

AudioBuffer


getGLTF()

static getGLTF(key, options?): GLTF

Defined in: packages/core/src/asset/asset-manager.ts:636

Get a cached GLTF by logical key.

Parameters

key

string

options?

GetGLTFOptions

Returns

GLTF

Remarks

Returns a fresh clone by default (scene/scenes are new Object3D trees; geometries, materials, animations stay shared), so the same key may be safely used for multiple entities. Pass { shared: true } to return the cached instance directly.


getTexture()

static getTexture(key): Texture<unknown>

Defined in: packages/core/src/asset/asset-manager.ts:587

Get a cached Texture by logical key.

Parameters

key

string

Returns

Texture<unknown>


getUIKitML()

static getUIKitML(keyOrUrl): string

Defined in: packages/core/src/asset/asset-manager.ts:613

Get cached UIKitML source by URL or manifest key.

Parameters

keyOrUrl

string

Returns

string


init()

static init(renderer, world, options): void

Defined in: packages/core/src/asset/asset-manager.ts:359

Initialize loaders and bind to the current world/renderer.

Parameters

renderer

WebGLRenderer

world

World

options

Partial<AssetManagerOptions> = {}

Returns

void


loadAsset()

static loadAsset(assetId): Promise<string | GLTF | AudioBuffer | Texture<unknown>>

Defined in: packages/core/src/asset/asset-manager.ts:464

Load one registered manifest entry by asset ID.

Parameters

assetId

string

Returns

Promise<string | GLTF | AudioBuffer | Texture<unknown>>


loadAudio()

static loadAudio(url, key?): Promise<AudioBuffer>

Defined in: packages/core/src/asset/asset-manager.ts:562

Load an AudioBuffer by URL; optionally register a logical key.

Parameters

url

string

key?

string

Returns

Promise<AudioBuffer>


loadAudioById()

static loadAudioById(assetId): Promise<AudioBuffer>

Defined in: packages/core/src/asset/asset-manager.ts:478

Parameters

assetId

string

Returns

Promise<AudioBuffer>


loadGLTF()

static loadGLTF(urlOrKey, key?): Promise<GLTF>

Defined in: packages/core/src/asset/asset-manager.ts:537

Load a GLTF by URL; optionally register a logical key.

Parameters

urlOrKey

string

key?

string

Returns

Promise<GLTF>

Remarks

Resolves with the cached GLTF directly. Use AssetManager.getGLTF after the load resolves to retrieve a clone suitable for placing into multiple entities.


loadGLTFById()

static loadGLTFById(assetId): Promise<GLTF>

Defined in: packages/core/src/asset/asset-manager.ts:471

Parameters

assetId

string

Returns

Promise<GLTF>


loadHDRTexture()

static loadHDRTexture(url, key?): Promise<Texture<unknown>>

Defined in: packages/core/src/asset/asset-manager.ts:618

Load an HDR equirectangular texture; optionally register a logical key.

Parameters

url

string

key?

string

Returns

Promise<Texture<unknown>>


loadHDRTextureById()

static loadHDRTextureById(assetId): Promise<Texture<unknown>>

Defined in: packages/core/src/asset/asset-manager.ts:492

Parameters

assetId

string

Returns

Promise<Texture<unknown>>


loadTexture()

static loadTexture(url, key?): Promise<Texture<unknown>>

Defined in: packages/core/src/asset/asset-manager.ts:577

Load a Texture by URL; optionally register a logical key.

Parameters

url

string

key?

string

Returns

Promise<Texture<unknown>>


loadTextureById()

static loadTextureById(assetId): Promise<Texture<unknown>>

Defined in: packages/core/src/asset/asset-manager.ts:485

Parameters

assetId

string

Returns

Promise<Texture<unknown>>


loadUIKitML()

static loadUIKitML(urlOrKey, key?, forceReload?): Promise<string>

Defined in: packages/core/src/asset/asset-manager.ts:592

Load and cache UIKitML source by URL or manifest key.

Parameters

urlOrKey

string

key?

string

forceReload?

boolean = false

Returns

Promise<string>


loadUIKitMLById()

static loadUIKitMLById(assetId): Promise<string>

Defined in: packages/core/src/asset/asset-manager.ts:499

Parameters

assetId

string

Returns

Promise<string>


preloadAssets()

static preloadAssets(manifest): Promise<void>

Defined in: packages/core/src/asset/asset-manager.ts:396

Preload assets with critical/background prioritization.

Parameters

manifest

AssetManifest

Returns

Promise<void>


registerManifest()

static registerManifest(manifest): void

Defined in: packages/core/src/asset/asset-manager.ts:384

Register catalog identity without starting network requests.

Parameters

manifest

AssetManifest

Returns

void


setLoadTimeout()

static setLoadTimeout(timeoutMs): void

Defined in: packages/core/src/asset/asset-manager.ts:378

Configure the finite timeout used by subsequent asset loads.

Parameters

timeoutMs

number

Returns

void

Privacy | Terms