How to Use glTF Avatars in VRChat and Unreal Engine
While glTF (GL Transmission Format) serves as the open-standard "JPEG
of 3D," integrating these avatars into platforms like VRChat and Unreal
Engine requires distinct technical bridges. Because VRChat relies on
Unity's proprietary avatar framework and Unreal Engine utilizes its own
skeletal mesh architecture, creators cannot simply drop a raw
.gltf or .glb file into these ecosystems
without intermediary tools. This guide details the essential software
pipelines, plugins, and retargeting workflows that successfully bridge
glTF avatars into VRChat and Unreal Engine.
The glTF Compatibility Challenge
The glTF format is optimized for fast web delivery and real-time runtime display, storing geometry, PBR materials, bones, and basic animations in a compact JSON/binary format. However, game engines and social VR platforms rely on complex, platform-specific constraints:
- VRChat requires models to be built within a specific version of Unity, rigged to Unity’s Humanoid avatar system, and packaged as an asset bundle via the VRChat Avatar SDK.
- Unreal Engine processes characters through its native Skeletal Mesh system, requiring specialized bone hierarchies, material remapping, and physics asset generation to work with systems like Control Rig and Chaos Cloth.
To overcome these architectural differences, creators use dedicated translation bridges.
Bridges from glTF to VRChat
VRChat does not support dynamic client-side glTF loading for uploaded user avatars. Creators must bridge the gap between glTF and Unity's avatar pipeline using one of two primary workflows.
1. The Blender-to-FBX Bridge
The most stable and widely used path involves routing the glTF model through Blender to conform to Unity's humanoid standard:
- Import: Use Blender’s native glTF 2.0 importer to
bring in the
.glbor.gltfmodel. - Armature Normalization: glTF uses standard bone orientations that often translate poorly to Unity's coordinate system. Creators use tools like the Cats Blender Plugin to automatically merge identical bones, repair vertex groups, and orient the armature to Unity's Humanoid specifications.
- Export to FBX: The character is exported as an
.fbxwith forward set to-Z Forwardand up set toY Up. Once in Unity, set the rig type to Humanoid and configure the VRC Avatar Descriptor.
2. The VRM and UniGLTF Pipeline
Many glTF avatars originate from Web3 or anime-style ecosystems formatted as VRM—an avatar-specific extension of glTF.
- UniGLTF / UniVRM: This open-source Unity package allows Unity to read glTF and VRM files directly in the editor.
- VRM Converter for VRChat: Community scripts convert imported UniVRM components (blend shapes, spring bones, and expressions) directly into native VRChat equivalents, such as PhysBones and standard Visemes.
Bridges from glTF to Unreal Engine
Unreal Engine provides direct import paths for glTF, but animating and utilizing these characters requires engine-side translation layers.
1. Epic Games' glTF Importer Plugin
Unreal Engine includes an official built-in glTF Importer plugin:
- Editor Import: Enabling the
glTF Importerplugin allows direct drag-and-drop ingestion of.gltfand.glbfiles into the Content Browser. - Asset Generation: The bridge parses the glTF node hierarchy and automatically generates a Skeletal Mesh, a Skeleton, and standard Unreal materials mapped from glTF PBR inputs (base color, roughness, metallic, normal).
2. Runtime Loading Bridges
For applications requiring users to load glTF avatars on the fly inside Unreal Engine (such as interoperable metaverses or custom virtual production setups):
- glTFRuntime: A popular open-source third-party
plugin for Unreal Engine that reads
.glb/.gltffiles at runtime from local storage or remote URLs, creating skeletal meshes and binding them to existing animation blueprints dynamically.
3. Unreal IK Rig and IK Retargeter
Because glTF files lack a standardized bone naming convention compatible with Unreal's standard Mannequin (UE4/UE5), imported skeletons must be bridged logically:
- IK Rig: Create an IK Rig on the imported glTF skeletal mesh to define the retarget chains (Spine, LeftArm, RightLeg, Head, etc.).
- IK Retargeter: Map the glTF chains to the standard UE5 Mannequin or Metahuman rig. This allows any standard animation from the Unreal Marketplace to play seamlessly on the glTF character.
Choosing the Right Pipeline
- For VRChat: Route your glTF through Blender or UniGLTF into an FBX/Prefab format inside Unity to satisfy VRChat SDK requirements and configure PhysBones manually.
- For Unreal Engine: Use the built-in glTF Importer for static asset pipelines combined with IK Retargeting, or implement the glTFRuntime plugin if dynamic runtime avatar loading is required.