threejs-loaders

Load Three.js GLTF/GLB models and textures with progress tracking.

Updated May 18, 2026
One-click install
npx skills add https://github.com/yogaprasetya22/mmorpg --skill threejs-loaders-yogaprasetya22
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: threejs-loaders
Source: https://github.com/yogaprasetya22/mmorpg/tree/main/frontend/.agents/skills/threejs-loaders
Command: npx skills add https://github.com/yogaprasetya22/mmorpg --skill threejs-loaders-yogaprasetya22

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

threejs-loaders helps you load and configure Three.js assets (GLTF/GLB models, textures, and HDR environments) without breaking your scene setup, while tracking progress and handling failures predictably.

Core Features & Use Cases

  • GLTF/GLB Loading (with animations and cameras): Load complex 3D models into your scene, then read animations and scene data for immediate rendering.
  • Texture and Environment Loading: Load image textures, cube maps for skyboxes, and HDR/EXR environment lighting for PBR materials.
  • Async orchestration and progress management: Coordinate multiple asset loads using LoadingManager, Promise-based loading, caching, and retry/fallback patterns.
  • Use Case: When bootstrapping an MMORPG client, load a player character GLB, apply character textures, and set an HDR environment map before enabling gameplay rendering.

Quick Start

Use this Skill to load a GLB model and ensure all dependent textures are fully loaded by coordinating them with Three.js LoadingManager callbacks.

Frequently Asked Questions about threejs-loaders

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I load a GLTF model asynchronously in Three.js?

To load a GLTF model asynchronously in Three.js, use GLTFLoader with Promise-based wrappers to handle the model data, coordinate dependent textures via LoadingManager callbacks, and execute scene initialization only after all assets resolve.

What is the best way to set up an HDR environment map for PBR materials in Three.js?

The best way to set up an HDR environment map in Three.js is using RGBELoader or EXRLoader to fetch HDR files, applying the resulting texture as a scene environment map to ensure accurate PBR material lighting and reflections.

How do I track progress when loading multiple Three.js textures concurrently?

Track concurrent Three.js texture loading progress by registering a single LoadingManager instance with TextureLoader, utilizing its built-in onProgress and onLoad callbacks to report overall download statistics and trigger final rendering.

Why does my Three.js scene render black when loading a GLB model with external textures?

A Three.js scene renders black during GLB loading if external textures fail or block. Coordinate asset loading with LoadingManager to ensure all textures, animations, and environment maps fully resolve before enabling the gameplay camera.

Can I use DRACOLoader and KTX2Loader to optimize large Three.js asset pipelines?

Yes, you can integrate DRACOLoader for compressed GLB geometry and KTX2Loader for compressed textures. These specialized Three.js loader classes reduce file sizes and manage decoding asynchronously within your asset pipeline.

How do I handle loading failures and retry missing 3D assets in Three.js?

Handle Three.js loading failures by wrapping loader callbacks in Promises, catching load errors, and implementing fallback textures or retry logic to prevent the scene setup from breaking when an asset request fails.