PromptProp

How-to · Engines

AI 3D Models in Godot 4

Import settings for AI-generated GLB and FBX in Godot 4: format choice, scene import options, LODs and collision, from Godot 4.7 docs. Generator-agnostic.

Export AI-generated models as glTF 2.0 (.glb or .gltf) for Godot 4, which is the format Godot’s documentation recommends, and use FBX only if the generator offers nothing better. Then check five things in the import dock: the scale, the embedded textures, the normal map convention, the generated LODs and the collision. This guide is generator-agnostic. It uses documentation names for each setting and says where the docs are silent. For a vendor’s own Godot bridge or plugin, use that vendor’s documentation; this site does not cover single-vendor plugin steps.

What to export

Godot’s “Available 3D formats” page lists:

  • glTF 2.0 (.gltf or .glb): the recommended format.
  • .blend: Godot calls Blender to export glTF, so Blender must be installed (3.0+ required, 3.5+ recommended).
  • Collada (.dae), and OBJ with MTL, which is limited: no pivots, skeletons, animations, UV2 or PBR materials.
  • FBX: imported with ufbx by default since Godot 4.3; files added earlier keep FBX2glTF until the importer is changed. Godot’s import page says FBX2glTF “is not recommended unless you have a specific reason to use it over ufbx”.

STL is not mentioned on that page. For the full format trade-off see GLB vs FBX vs OBJ. If you use .gltf rather than .glb, keep the referenced .bin and image files beside it. One more documented point if you pass models through Blender: Blender has backface culling off by default, which gives Godot a cull mode of Disabled, and models with blend shapes need the glTF export option “Data > Armature > Export Deformation Bones Only” enabled.

Three places to change an import, and which to use

Godot “cannot save over the original 3D scene file”, so an imported model is customized through one of three documented interfaces. The docs prefer fixing the source where you can, because it keeps the modeling file and the imported scene alike.

Interface Reach Use it for
Import dock Whole scene Scale, tangents, LOD and texture handling across the file
Advanced Import Settings Per node, mesh or material, with a 3D preview Collision on one mesh, LOD off for one mesh, swapping a material
Name suffixes such as -col Per object, set in the modeling tool Repeatable rules across many assets, if a modeling step already exists

A raw generator mesh usually has one object, so the first two will do. Suffixes pay off once the file goes through Blender anyway.

Steps

  1. Put the file in the project. Copy the .glb into the project folder. Godot’s docs say it does a full import when the editor window regains focus.
  2. Open Import settings. Click the scene once in the FileSystem dock to show the Import dock; the Advanced Import Settings dialog opens from the dock’s Advanced button or by double-clicking the scene (Godot docs). The scene import options documented are: Root Type, Root Name, Apply Root Scale. Under Meshes: Ensure Tangents, Generate LODs, Create Shadow Meshes, Light Baking (Static Lightmaps generates UV2) and Lightmap Texel Size. Under Skins: Use Named Skins. Under Animation: Import, FPS, Trimming, Remove Immutable Tracks.
  3. Handle textures. For glTF and FBX the option is Embedded Texture Handling, with values Discard All Textures, Extract Textures, Embed as Basis Universal and Embed as Uncompressed. A GLB from a generator carries its textures inside. Godot’s docs say Extract Textures writes them to external images, “resulting in smaller file sizes and more control over import options”, and that the two Embed values keep them inside with and without VRAM compression. Which is right is a project decision; the docs do not name a default choice for it.
  4. Check scale. Apply Root Scale puts the Root Scale directly on meshes and animations and leaves the root node at 1, 1, 1, so later children are not scaled with it. The export advice is to apply transforms before export, triangulate, keep bones in rest or T-pose, and use right-handed Y-up. glTF itself is Y-up in meters. For FBX there is an Importer choice, and Allow Geometry Helper Nodes. If a model arrives huge or tiny, see scale, pivot and axis fixes; we cannot say how any particular generator’s output behaves, since we have not imported any.
  5. Reimport. Press Reimport after any change so the scene is rebuilt with the new settings.

One orientation convention catches people out. Godot’s docs say an oriented asset’s front is its +Z axis, opposite to the camera’s forward direction of -Z. A character facing the wrong way in a look-at is not necessarily a broken import; the docs point to the use_model_front option on the look_at functions.

Materials and normal maps

Generators bake PBR maps, and two documented details decide whether they look right. The first is the normal map convention: “Godot requires the normal map to use the X+, Y+ and Z+ coordinates, this is known as OpenGL style.” A DirectX-style map “needs to be converted so its Y axis is flipped”. If surface detail looks lit from the wrong side, that is the check to run; which convention a given generator exports is a per-vendor fact, and baking normal maps covers re-baking.

The second is tangents. Normal and height maps need them. Ensure Tangents generates them with Mikktspace when the source has none, though the docs recommend letting the modeling software generate them on export where possible. Turning the option off only makes sense if nothing in the material needs tangents.

To edit a material in Godot, you need an external copy, since the imported one belongs to the scene:

  1. Open Advanced Import Settings.
  2. Choose Actions… > Extract Materials and pick a folder for the .tres files.
  3. Edit those files. The dialog keeps showing the original materials, so preview changes by placing the scene in another scene.

Godot “will not overwrite changes made to extracted materials when the source 3D scene is reimported”. The catch is that a changed material name in the source breaks the link, so check the names whenever you replace a generated file with a new version. Texture faults that come from the bake are mesh problems, not engine problems; see UV and texture fixes.

LODs

Godot generates mesh LODs automatically on import using meshoptimizer for glTF, .blend, Collada and FBX. OBJ needs Import As set to Scene, then Reimport, and an editor restart. You can switch it off per scene with Generate LODs, or per mesh in Advanced Import Settings under Generate > LODs (Default, Enable, Disable), with LODs > Normal Merge Angle. If LOD generation misbehaves, the docs say decreasing Normal Merge Angle may help, at the cost of less efficient LODs. The project setting is Rendering > Mesh LOD > LOD Change > Threshold Pixels, which the docs give a default of 1. Per node there is LOD Bias. The docs warn LOD generation can misbehave with skinned meshes. There is no official recommended triangle count for Godot in the pages we read. For method see LODs for AI models.

Collision

In Advanced Import Settings, Generate > Physics adds a PhysicsBody3D parent. Body Type options are Static (StaticBody3D), Dynamic (RigidBody3D) and Area (Area3D). The page describes Trimesh as static only, and Decompose Convex with Decomposition > Advanced and Precision. Its own guidance gives a short decision:

Object Documented recommendation
Static level geometry Trimesh
Dynamic, simple shape Primitive shapes “if possible for better performance”
Dynamic, large and complex A convex decomposition mode; keep Precision “as low as possible”

Name suffixes in the mesh name also do this: -col (trimesh), -convcol (convex), -colonly (removes the mesh and creates a static collision body), -convcolonly (the same, using convex decomposition), plus -noimp, -navmesh and others; separators are -, $ or _ and matching is case-insensitive. In the editor, the documented menu items are Create Single Convex Collision Sibling (Quickhull), Create Multiple Convex Collision Siblings (V-HACD), Create Trimesh Static Body and Create Trimesh Collision Sibling. Concave shapes are only for StaticBody or static RigidBody. A trimesh on a dense generated mesh inherits all of its triangles, so build a simpler proxy for anything large: collision meshes.

Rigged characters and shared animations

Animations in Godot target bones through node paths, so “you can’t share animations between multiple Skeletons just by using the same bone names”. Auto-rigged characters from different tools need retargeting, done in the scene importer:

  1. Select the Skeleton3D in Advanced Import Settings and open the Retarget section’s bone_map property.
  2. Create a BoneMap and set SkeletonProfileHumanoid. Auto-mapping uses pattern matching on bone names, and the docs recommend common English names.
  3. Fix any magenta or red entries, which mark missing, duplicate or wrongly parented mappings. They do not block import, but animations may not share correctly.
  4. Review Remove Tracks and Rest Fixer.

Three Rest Fixer options apply most directly. Overwrite Axis is “the most important option for sharing animations in Godot 4”, and the docs also warn it “can produce horrible results” if the original bone rest matters. Fix Silhouette is unnecessary for T-pose models but “should be enabled for A-pose models”, which is worth checking on any character you rigged from an A-pose mesh. Normalize Position Tracks normalizes position values against the hips height, which addresses the slipping the docs describe when a moving animation is shared between models of different heights. For where the clips come from, see animating AI characters; for rig choice, the rigging section.

What goes wrong

Symptom Documented check
Model imported but too dense Godot publishes no per-asset figure in the pages read; use the polycount budget calculator and your own profiling
Trimesh chosen for a moving body Trimesh is static only; use primitives or Decompose Convex
Surface detail looks inverted Normal map convention; the Y axis needs flipping for DirectX-style maps
Normal maps look wrong or flat Tangents present, or Ensure Tangents on
OBJ arrives without PBR Expected, per the format page; re-export glTF
Distant mesh looks broken Generated LODs; lower Normal Merge Angle or disable per mesh
Character stretches on a shared clip Bone rests differ; run the Retarget and Rest Fixer options
Extracted materials stop applying Material names changed in a regenerated file

Vendor guides add some numbers of their own. 3D AI Studio’s Godot page suggests under 10,000 triangles per model on mobile; that is a vendor figure, not Godot’s. Neural4D’s guide makes the fair point that no single triangle count guarantees performance, since materials, shadows, visibility and collision all contribute.

Not yet verified

We have not imported any model. Cross-generator checks of scale, materials and LOD behavior in Godot 4 are planned, not done. Option names follow the “stable” docs labelled 4.7 on 2026-11-08 and may differ in your editor version. For the Unity equivalent see AI 3D models in Unity; the engine hub is AI 3D models in game engines.

Sources

  1. Godot docs: Available 3D formatsPrimary · read 2026-11-08
  2. Godot docs: Import configurationPrimary · read 2026-11-08
  3. Godot docs: Mesh level of detailPrimary · read 2026-11-08
  4. Godot docs: Advanced Import SettingsPrimary · read 2026-11-08
  5. Godot docs: Node type customization using name suffixesPrimary · read 2026-11-08
  6. Godot docs: Model export considerationsPrimary · read 2026-11-08
  7. Godot docs: Retargeting 3D SkeletonsPrimary · read 2026-11-08
  8. Godot docs: Standard Material 3DPrimary · read 2026-11-08
  9. Godot docs: Collision shapes (3D)Primary · read 2026-11-08
  10. 3D AI Studio docs: Godot integration (vendor, updated October 2026)Secondary · read 2026-11-08
  11. Neural4D: How to Use AI 3D Models in Godot (vendor guide, updated October 20, 2026)Secondary · read 2026-11-08