Questions on 3D Models for Unity – Part 2

Questions on 3D Models for Unity – Part 2

What is the best way to import an FBX model in Unity?

Our Recommendation

Langitworkers have tried a few methods but this is the simplest one.

Step 1

If you don’t have a Model folder yet, create one. From now on, this will be where you will organize all your models.

Step 2

Create a folder for your FBX file and put all its texture in there. If you bought the model, it usually already comes in a folder and structured. In this example below, I have a folder called animals, and its textures are inside its own folder.

Drag and drop the whole folder into the Models folder we created in Unity

Unity will then go through all the files, and assigned all the textures to the models. This is very helpful and saves a lot of time. Once done, it will look something like below.

Open up the folder, your model is now ready.

Place the model and see the results!

Here is the result that I got. Everything is textured nicely, saving a lot of time.

Troubleshooting Your Imports

Sometimes, your model might appear without texture, like this poor zebra below. No problem, drag and drop their texture onto the model.

Now the zebra has texture like below. Yeay!


Can I use glTF format in Unity?

What is glTF, previously even langitworkers have never heard of it, but after a search online the answer is Yes. We found that Unity has its own glTF import package called glTFast.

We also found this video below by brokentvsyaz that shows it step by step from Meshy to Unity. A quick conversation with the bro, and we managed to get his permission to put the video here!

If you’re downloading animated .glb files from Meshy, you’ll need a Meshy Pro Subscription. You can get it from here: www.meshy.ai?via=syazani2902. Consider using our bro’s link. Using his link won’t cost you extra, but it helps support his content creation. Thanks! 🙌

Extra Content on glTF

glTF (GL Transmission Format) is an open-source 3D file format developed by the Khronos Group. It is designed for efficient transmission and loading of 3D models in applications like games, VR/AR, web apps, and simulations.

There are two main versions of glTF:

  1. glTF (.gltf) – A JSON-based format that references external textures and binary files.
  2. GLB (.glb) – A binary version of glTF that packs everything (textures, geometry, and animations) into a single file for easier distribution.

Why Use glTF/GLB?

  • Optimized for real-time rendering (smaller file size, faster loading).
  • Supports PBR (Physically-Based Rendering) materials (realistic lighting).
  • Cross-platform compatibility (Unity, WebGL, Unreal Engine, Three.js, Blender, etc.).
  • GLB is self-contained, reducing missing texture issues.

Which One Should You Use?

Use .gltf if you want easier access to separate textures and binary data.

Use .glb if you need a single, portable file with all assets included. I prefer this one.

Are there any known issues?

According to the documentation pages it is as below:

https://docs.unity3d.com/Packages/com.unity.cloud.gltfast@6.10/manual/KnownIssues.html#import

Import

  • ¹Vertex accessors (positions, normals, etc.) that are used across meshes are duplicated and result in higher memory usage and slower loading (see this comment)
  • ¹When using more than one sampler on one image, that image is duplicated and results in higher memory usage
  • Texture sampler minification/magnification filter limitations (see issue):
    • ¹There’s no differentiation between minFilter and magFilterminFilter settings are prioritized.
    • ¹minFilter mode NEAREST_MIPMAP_LINEAR is not supported and will result in NEAREST.

¹: A Unity API limitation.

Export

Non-readable Meshes

Exporting non-readable meshes is not supported!

Turn on Read/Write Enabled on all model importer settings that you intend to export to glTF later at runtime to ensure it works reliably (see FBX importer settings as example).

While exporting non-readable meshes in general is feasible (via reading back index and vertex buffers from GPU memory) it has proven to be unreliable across platforms and graphics APIs, especially builds made with Unity version 2022 and older. The fact that it seems to work stable in Editor playmode is deceptive. The problem seems to be better in Unity 6 Preview, but there’s not enough data to support that so use at own risk.

But, what does this mean? Let me explain

Import Issues (When Loading glTF Models)

Wasted Memory & Slower Loading

  • If a model shares vertex data (like positions, normals, etc.) across multiple meshes, Unity will duplicate this data. This increases memory usage and slows down loading.
  • Solution: There’s not much you can do right now—it’s a Unity limitation. But keep in mind that complex models with lots of shared parts might take up more memory.

Texture Duplications

  • If one image uses multiple texture settings, Unity duplicates the image instead of reusing it. This means more memory is used than necessary.
  • Solution: Try to keep consistent texture settings across materials in your glTF files.

Texture Filtering Limitations

  • Some texture settings (like how images are scaled up or down) don’t work exactly as expected in Unity.
  • Solution: Be aware that Unity prioritizes certain settings, and some filtering modes might not be available. Most of the time, this won’t be a big deal unless you need very specific visual effects.

Export Issues (When Saving Models as glTF)

Non-Readable Meshes Won’t Export

  • Unity needs the model’s mesh to be readable when exporting to glTF. If it’s not, the export will fail.
  • Solution: Before exporting, go to the FBX Import Settings of your model and turn on “Read/Write Enabled”. This makes sure the model can be properly converted.

Unity Editor vs. Built Game

  • Even if exporting works fine inside the Unity Editor, it might fail when running as a standalone game (especially on older Unity versions).
  • Solution: Always test exporting in a build (not just in Play mode) to make sure it works properly.

Final Thoughts: Should You Worry?

For Importing: Most issues won’t stop your model from working but might increase memory usage.
For Exporting: The biggest risk is non-readable meshes, which will definitely break exporting if not enabled.


Can I build or edit 3D Models inside Unity itself?

Yes, you can build and edit 3D models inside Unity, but with some limitations. Unity is primarily a game engine, not a 3D modeling tool like Blender or Maya. However, there are ways to create and modify 3D models directly within Unity:

Method 1: Built-in Tools

ProBuilder (Unity’s built-in modeling tool):

  • Lets you create and edit meshes directly inside Unity.
  • Supports extruding, scaling, beveling, and adding materials.
  • Useful for prototyping and level design.
  • Found in the Package Manager under “ProBuilder.”

Method 2: Asset Store Plugins

If ProBuilder isn’t enough, you can find plugins on the Unity Asset Store for more advanced modeling and sculpting.

UModeler is a powerful in-Unity 3D modeling tool designed for low-poly modeling, level design, and prototyping. It offers a comprehensive set of tools, a built-in UV editor, and seamless compatibility with Unity assets like ProBuilder and Polybrush. Ideal for indie developers, level designers, and technical artists, UModeler streamlines the asset creation process by enabling direct editing within Unity, ensuring a fast and efficient workflow.

Note: These third-party plugins are listed for reference only. Compatibility, pricing, and support are subject to the respective developers. Please verify details before use.

Method 3 – Scripting Mesh Modifications

You can modify 3D models in C# scripts using the MeshFilter and MeshRenderer components. This allows you to:

  • Create procedural meshes.
  • Modify vertices, normals, and UVs.
  • Generate models dynamically in runtime.


How to Import CAD files into Unity?

Method 1: Using Unity’s Pixyz Plugin

Unity offers the Pixyz Plugin for importing and optimizing CAD files directly.

  1. Install Pixyz Plugin
    • Go to Unity Package Manager > Install Pixyz Plugin (from the Unity Asset Store).
  2. Import CAD File
    • Open Pixyz Importer (Window > Pixyz Plugin).
    • Load STEP, IGES, CATIA, SolidWorks, etc.
  3. Optimize Geometry
    • Use Pixyz tools to decimate high-poly meshes for better performance.

Method 2: Asset Store Plugins

The plug-in supports run-time and edit-time models importing 3D CAD、BIM and other formats.

Supports importing various 3D file formats, including STEP, IGES, CATIA (V4, V5, V6/3DEXPERIENCE), PARASOLID, SolidWorks, Solid Edge, ProE/Creo, DWG/DXF, Inventor, Rhino, and STL.

CADLink enables the import of CAD files into Unity, supporting both STEP and 3MF file formats (see 3MF). It allows you to import files from any CAD system capable of exporting in STEP or 3MF formats, including SolidWorks, AutoCAD, Inventor, ProE, CATIA, SolidEdge, and NX.

The plugin enables 2D CAD import at both runtime and edit time, along with conversion to PDF files.

  • Supports DXF and DWG file formats
  • Works in Unity Editor and at runtime
  • Converts CAD to PDF

Note: Currently available only on Windows and Windows Editor

Note: These third-party plugins are listed for reference only. Compatibility, pricing, and support are subject to the respective developers. Please verify details before use.


Leave a Reply

Your email address will not be published. Required fields are marked *