Overview
The Unity 3D import pipeline is the practical route from a model in Blender or another 3D tool to a usable GameObject in a Unity scene. The core idea is simple: export the asset, import it into Unity, inspect the Model and Materials settings, build a prefab, then test it under real scene lighting and gameplay scale.
Unity’s current documentation centres FBX as its primary model format and recommends direct FBX export for many workflows, because native files from 3D applications are converted through those applications’ own export plugins (Unity, Importing a Model, see source-unity-model-importing). Blender’s documentation shows that glTF is also a strong real-time asset format, especially for meshes, PBR materials, textures and animations, but Unity projects still need a deliberate importer and package choice if glTF is used directly (Blender Documentation Team, glTF 2.0, see source-blender-gltf-fbx-export).
For beginner Unity work, the main skill is not memorising every importer setting. The main skill is learning to run the same checks every time.
Setup
Use this baseline for a static prop or simple environment piece:
- In Blender, apply scale and rotation before export.
- Put the object’s origin where Unity should treat the pivot as being.
- Name the object clearly, such as
crate_wood_aordoor_sci_fi_01. - Keep the working Blender scene separate from the exported game asset.
- Export selected objects only.
- Prefer FBX for a standard Unity project unless the team has already chosen a glTF workflow.
- Keep textures beside the exported model in a clear folder, such as
Textures. - Import into Unity under a structured folder, such as
Assets/Art/Props/CrateWoodA/. - Select the model in the Project window and review the Model and Materials tabs.
- Drag the model into a test scene, then turn it into a prefab after the checks below pass.
Usage
Import checklist
| Check | What to do | Why it matters |
|---|---|---|
| Scale | Compare the model with a Unity cube or player capsule | Unity physics expects 1 metre in-world to match 1 imported unit |
| Orientation | Check forward, up and ground contact | wrong axes make placement, animation and navigation harder |
| Pivot | Rotate and move the object in Unity | doors, wheels, pickups and modular walls need useful pivots |
| Normals | Inspect lighting from several angles | broken normals cause dark faces, odd highlights and visible seams |
| UVs | Apply a test material or texture | stretched UVs make otherwise good models look unfinished |
| Materials | Remap or recreate materials in Unity if needed | imported materials are often a starting point rather than final game materials |
| Textures | Confirm base colour, normal and roughness-style maps are found | missing textures usually mean path or naming issues |
| Colliders | Add simple Box, Sphere or Capsule colliders where possible | MeshCollider is often too expensive or awkward for moving objects |
| Prefab | Create a prefab after import settings are stable | prefabs make reuse, variants and scene changes safer |
| Lighting | Test under the project’s real render pipeline and light setup | a model that looks fine in Blender can read poorly in Unity |
Blender export notes
For static props, export only the selected finished objects. Avoid exporting cameras, lights, hidden blockout objects and old experiment meshes unless the target scene needs them. Blender’s glTF exporter exposes options for selected objects, visible objects, active collections, applying modifiers, UVs, normals, tangents and material data (Blender Documentation Team, glTF 2.0, see source-blender-gltf-fbx-export).
For FBX, pay attention to scale and forward/up axis conversion. Blender’s own FBX documentation describes FBX as a common interchange format for engines including Unity, but also warns that bones, animation actions and material conversion need checking (Blender Documentation Team, FBX, see source-blender-gltf-fbx-export).
Unity import notes
In the Model tab, check Scale Factor, Convert Units, axis conversion, normals, tangents and whether Read/Write is needed. Leave Read/Write disabled unless a script needs to read or modify mesh data at runtime, because Unity keeps an extra CPU-side copy when it is enabled (Unity, Model Tab Import Settings Reference, see source-unity-model-importing).
Use generated colliders only as a quick starting point for static environment geometry. For moving objects, pickups, props and characters, use simpler colliders or custom child collider objects. Unity’s documentation warns that generated mesh colliders are useful for quick environment collision but should be avoided for geometry that moves (Unity, Model Tab Import Settings Reference, see source-unity-model-importing).
In the Materials tab, decide whether to keep imported materials embedded, extract them, or remap them to project materials. For student projects, the cleanest route is often to create Unity-native materials in a Materials folder, assign textures deliberately, then save the final setup as a prefab.
Gotchas
| Symptom | Likely cause | Fix |
|---|---|---|
| Model is tiny or huge | Blender scale or Unity Scale Factor mismatch | apply transforms in Blender, then check Unity scale against a known object |
| Model lies on its side | axis conversion mismatch | check Blender export forward/up settings and Unity import axis settings |
| Door rotates around the wrong point | pivot/origin placed badly | move the origin in Blender before export or add a parent pivot object in Unity |
| Black or strange faces | flipped normals or smoothing problem | recalculate normals in Blender, then import normals or calculate them consistently in Unity |
| Texture missing | texture path or name not found | keep textures near the model and assign them manually if needed |
| Normal map looks wrong | tangent or colour-space issue | check normal import type and tangent settings |
| Player gets stuck on prop | overly complex MeshCollider | replace with simpler primitive colliders |
| Prefab updates unpredictably | scene instance overrides not understood | inspect overrides before applying changes back to the prefab |
Practice
Use any simple Blender prop, such as a crate, barrel, doorway or floor tile.
- Export the selected object as FBX.
- Import it into Unity under
Assets/Art/Props/. - Place it beside a Unity cube and a player-sized capsule.
- Fix scale, orientation and pivot if needed.
- Create or remap a Unity material.
- Add the simplest collider that matches gameplay needs.
- Save it as a prefab.
- Write a short import note with three headings:
What worked,What changed,What I would check earlier next time.
Self-test
- Why should a model be tested beside a known Unity object?
- Why is FBX a safe default for many Unity student projects?
- Why should imported materials be reviewed rather than trusted automatically?
- When is a MeshCollider a poor choice?
- What is the difference between an imported model asset and a prefab?
Answers
- A known object reveals scale errors immediately. A model can look correct alone while being unusable beside the player or environment.
- Unity’s documentation treats FBX as its primary model format, and many Unity import settings are designed around that pipeline.
- Material transfer depends on source material setup, texture paths, shader support and render pipeline. The imported material may be incomplete or unsuitable for the project’s look.
- A MeshCollider is a poor choice for many moving objects because it can be expensive and can create awkward collision shapes. Simple primitive colliders are often better for gameplay.
- The imported model asset is the source mesh and import settings. A prefab is a reusable Unity GameObject setup that can include the mesh, materials, colliders, scripts and child objects.
Related
- overview-beginner-3d-game-development-route
- 3d-blocking-and-greyboxing
- 3d-materials-and-uvs
- unity-lighting-for-3d-scenes
- 3d-production-pipeline
- blender-overview
- unity-prefabs
- unity-lod-groups
- unity-urp-lighting-and-render-features
- unity-navmesh
- source-unity-model-importing
- source-blender-gltf-fbx-export