Siccity / GLTFUtility

Simple GLTF importer for Unity
MIT License
976 stars 217 forks source link
gltf import-and-export unity

Discord GitHub issues GitHub license

GLTFUtility

Allows you to import and export glTF files during runtime and in editor. glTF is a new opensource 3d model transmission format which supports everything you'll ever need from a format in Unity. Read more about glTF here

2019-04-01_00-46-27 image image

What makes GLTFUtility different?

Focusing on simplicity and ease of use, GLTFUtility aims to be an import-and-forget solution, keeping consistency with built-in functionality.

Installation

Using Unity Package Manager (Help) 1. `"com.siccity.gltfutility": "https://github.com/siccity/gltfutility.git"`
Using git 1. Get Newtonsoft.JSON from one of these sources * Official upm package: `"com.unity.nuget.newtonsoft-json": "2.0.0-preview"`, * Unofficial git repo: https://github.com/jilleJr/Newtonsoft.Json-for-Unity 2. Clone GLTFUtility by itself or as a submodule * Clone into your assets folder `git clone git@github.com:Siccity/GLTFUtility.git` * Add repo as submodule `git submodule add git@github.com:Siccity/GLTFUtility.git Assets/Submodules/GLTFUtility`
Manual download 1. Get [Newtonsoft.JSON](https://assetstore.unity.com/packages/tools/input-management/json-net-for-unity-11347) from the asset store 2. Download [GLTFUtility-master.zip](https://github.com/Siccity/GLTFUtility/archive/master.zip) and extract to your project assets

Important notice

Features

System

Spec

Extensions

Known issues

Runtime import API

// Single thread
using Siccity.GLTFUtility;

void ImportGLTF(string filepath) {
   GameObject result = Importer.LoadFromFile(filepath);
}
// Multithreaded
using Siccity.GLTFUtility;

void ImportGLTFAsync(string filepath) {
   Importer.ImportGLTFAsync(filepath, new ImportSettings(), OnFinishAsync);
}

void OnFinishAsync(GameObject result, AnimationClip[] animations) {
   Debug.Log("Finished importing " + result.name);
}

Important shader note

To ensure that Unity includes the GLTFUtility shaders in builds, you must add these shaders to the 'Always Included Shaders' list.

  1. Open Edit -> Project Settings
  2. Open Graphics
  3. Scroll to Always Included Shaders
  4. Under Size, increase the value by 4 and hit Enter.
  5. In the Project panel, navigate to Packages/GLTFUtility/Materials/Built-in.
  6. In this directory are 4 .shader files.
  7. Drag and drop each of the 4 files into one of the 4 newly created rows in Always Included Shaders.