Hi guys,
I am Dusan Senior Unity Developer from Serbia with a decade of experience.
I would like to share my frustration with you.
My company decided to use GLTF since it is presented as a new standard for 3d model format.
However, I believe that that’s a lie. You will find the information that large companies like Ikea are using that format exclusively but its hardly true.
You might try it your self and you can check official importer for Unity.
First, you will find strange that someone implemented 2 projects in one, and you need to rebuild their libraries in other to make it work. That’s, not the big deal, but it makes everything a bit harder.
After that, you will realize that the plugin is made to work only with the models on the web, and if you try to load a local file model you will have to search the issues and find the hack you have to do yourself since you have to change plugin code to make it work with local files. But after that web solution is not working anymore.
After that, you will realize that you still don’t have the same look as on the web.
Never the less, you will find issues with memory leak and other unsolvable problems.
You will find other unofficial solutions that are easier to implement and they work a bit better but you will not make it work. Is that normal for the “new standard 3d model format”?
After all of the tests have failed, I tried to find WHO is using GLTF and I haven’t find any application that is not the web application that exclusively using GLTF.
There are some apps that are able to open all model format including GLTF, but no application that is forced to work with the only GLTF like in my company. I hope that this will help someone who is thinking about it.
I tried to find if Ikea Place is really a user of GLTF, but the model file is encrypted so I can’t be sure.
I contacted developers, but I am not sure that I will get their reply.
I wanted to contact Khronos, maker of GLTF, however, I can’t even find their email anywhere.
I think it’s safe to say that you should avoid GLTF format at least until it becomes stable (and I am not sure it will).
How did you solve your issue? I would like to work with glb/gltf files, but they make my app super huge. Way more than would have been expected. I had to revert to fbx for now, but it seems silly when glb/gltf are much smaller files than fbx.
I have been working on a GLTF importer for a while now. Just like you, I got frustrated with the “official” Khronos importer. So I took matters into my own hands and now I have a pretty solid importer. All you need to do is copy the files into your project and bam, gltf/glb files import the same way as FBX does.
No I have not. Try using the editor log to see what takes space.
The GLTF file itself shouldn’t take any space as it is converted to Unity’s internal format, but GLTFUtility might import some items in a suboptimal way
Is there any update on this complaint? I have also been keeping an eye on GLTF. I tried all unofficial plugins to import GLTF to Unity but haven’t had any fully successful attempt. I had important some assets partially losing several datasets along the process. Therefore at least to make it sure, I’ll keep using fbx and alternatively dae for a while.
Actually, a few weeks ago my company had an online meeting with some people from Unity and I complained about this. Those on the call didn’t really know much about it and made it a point to pass it along to the development team. Not only GLTF but Alembic as well.
To be honest, I wrote down the material exporter for Unity, so I can use all of the materials with the power of all shaders I want with any model format.
I work with both unity and unreal; with unreal enabling the internal plugin works flawlessly (clicking on alembic icon button places assets in the level which is not supported simply importing a glb file fyi).
We create assets in blender, then I export to glb and import into unreal and it keeps all the materials (hours of work save! thanks).
This GLTF cry from the heart resonates with me, as I’ve been trying with no luck to import .glt files into my Unity project all weekend.
The biggest issue for me is reuniting the textures with the object, which is naked like a soap carving. If I convert from Blender to .OBJ, does anyone know the best way to make sure the .mlt file points to my .PNG textures? I’m confused by the kd_map and ka_map options – so many choices.
Yes the state of GLTF with Unity is frustrating! since i see very good potential with the format it self like @Neogene described!
Currently i had the best results with @Siccity s plugin ! Great work!! Really appreciate it!
Still have some problems with it … but importing a gtfl simultaniously with its textures gives me currenlty great results and i think i can make at least an MVP with this and then look further
Hi mrSaig! I’m using Siccity’s GLTF plugin to load gitf file from web, it works well in Unity Editor, but when I build an iOS app on my phone, I can not load gilt models anymore. No errors displayed.
And I already add plugin’s shaders to Unity Graphic Settings(someone on the internet mention this will cause not-loaded situation).
So, mrSaig, Could you please help me with following questions:
How do you use it to load models from net(is there a sample code or some instruction)?
Do you use Json.net and GLTF Utility to get them work?
Unity really should support gltf2 as the benefits seem clearly pointed out in this article for the Godot engine:
Preferably both in-editor and at runtime.
(the Trilib asset can import at runtime)
Not used addressables, but asset bundles were a pain for cross-platform (1 for each) and an ever-evolving format. Using a common file format seems preferable, if a little slower.
I’ve tried out Siccity’s glTFUtility, and it was working great for me until I needed to get glTFs with separate bin and texture files loaded in WebGL. I just couldn’t get it to work without having to dig in and fix a few things (One thing to note, if running the editor, you can’t refer to files in the StreamingAssets folder, for a number of reasons, but I needed to work around that). I’ve run across Unity users integrating glTFast, so I decided to give that a try. After a few misunderstandings, I got it working great. Again, I’m using 2020 LTS, glTF with separate bin/textures, in WebGL, because all of those targets may matter for what you’re doing.
I will say that I prefer the glTFUtility API more than the glTFast API, but I can’t complain if glTFast just works. Support and maintenence is up-to-date. @atteneder just helped me yesterday with an installation issue, and while Siccity’s support was great, I believe he’s moved on to other projects, and it’s been over a year since the last update.
I’ve read somewhere that glTFast official Unity integration is looming, but I don’t know if this was just speculation.
@jipsen I’ve noticed when switching from glTFUtility to glTFast, that my build size and build times got significantly larger as well. I haven’t investigated what caused this, but I would believe this is related to the shader variant compilation. Eventually, I’d like to simplify my shaders to make my project lightweight, but until then, I’m sticking with whatever was default. I know it’s not your issue per se, but it’s something to look out for.