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 .glb or .gltf model.
  • 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 .fbx with forward set to -Z Forward and up set to Y 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 Importer plugin allows direct drag-and-drop ingestion of .gltf and .glb files 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/.gltf files 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.