Unity to Godot

Hello,

Is there an easy way to convert unity assets into Godot?

For example, can we use Unity export to fbx package so that the exported file has all materials and textures properly configured for Godot?

Thanks in advance

While Godot does have support for .fbx import, the preferred way is to use glTF. This format has the highest level of in-engine support in Godot (ie you’ll run into the smallest amount of jank along the way, lol).

Rather than trying to send things directly from Unity to Godot (which might work, and if it does that’s great!), I would highly recommend you send the assets through Blender first. Godot 4 has the ability to directly import .blend files because it can invoke Blender’s glTF export code natively, so you get the ability to change and edit things in real time. Even for finished assets, this is very useful in case you discover artifacts or other rendering problems.

If you run into problems, I’ll do my best to help, but do add a Godot tag if you make a new topic. If it’s posted strictly under Unity, I’m not likely to see it =)

2 Likes

Thank you for the prompt response BH67.

I do not know blender yet, even though I own a big game dev TV blender bundle, but is a way to massively send assets into blender and convert them into gltf? What I am aiming is automation as much as possible for materials and textures to be properly positioned on the mesh.

I too prefer to use the native to the engine format, but want to avoid manual work as much as possible on this aspect.

Thank you!

1 Like

Hmm. I can certainly understanding wanting to limit manual work, but it might be more effort to set up than it’s worth. You would almost certainly need Python scripts to do something like that, and that’s beyond what I could help with because I haven’t done anything whatsoever with Blender’s API. I don’t think you’ll be able to automate 100% of this process, but you might be able to find add-ons that will help. The script below for batch-import of fbx is very old, but should give you some idea of what you’re looking for:

Probably even better, a quick test shows that Blender seems to be capable of importing multiple .fbx files at once anyway:

  • File–>Import–>FBX
  • Box-select over the files and click Import FBX. Only the first filename will show up in the filename bar, but it works.

The problem with that is, it will dump all the assets into the main Collection, so unless your naming convention is very handy for sorting, this might still require some effort on your part. Not something likely worth fixing within Blender though, because these Collections (basically folders) also don’t get imported into Godot.

With everything in Blender, this topic shows a script designed to batch-export to glTF (I have zero experience working with scripts in Blender, so your mileage may vary):

Importing the resulting glTF files in Godot probably won’t require automation as you can just cut and paste using your OS file explorer. You could also import just the .blend file, create a new inherited scene of that, and then do the object separation within Godot. I mention this because it’s probably possible to do that with a GDScript toolscript, which would likely be more approachable to you than working with Blender, and either way it’s probably the best approach for automating that since it drastically simplifies your file management.

Hopefully it goes without saying that I would try this manually on a small scale first before attempting any kind of automation, as that alone will probably uncover a few issues. Best of luck!

2 Likes

Wow. Thank you very much for the information. I will give it a try with some assets.

In the past I used even command line tools that were to convert fbx files into gltf but generated gltf contained only the mesh.

2 Likes

This topic was automatically closed 20 days after the last reply. New replies are no longer allowed.

Privacy & Terms