FBX prefabs fail to reimport
Unlike my question about lighting, I think this one may be an actual Unity bug, but I wanted to ask here before pestering the developers. I am running Unity 5.2 on Mac OSX, and Blender 2.74.
I have a couple of simple meshes, non-animated, that I created in Blender. I used Blender to export them to FBX format because my .blend file actually contains multiple meshes, and I don't want Unity to import them as a single prefab. (It's a cabinet with several types of optional door, so they don't all belong together in one prefab.)
The initial import works perfectly, and my objects are just fine in the engine. The problem is that if I modify the model in Blender, then re-export over the original FBX, Unity fails to detect this. Also, even if I manually re-import the affected asset, the icon flashes as if that is happening but the model in the editor does not change. As an example, I found some flipped normals and re-imported a new version of the model to fix them -- no change.
If I delete the prefab and re-import from scratch, however, I see the changes.
The model was created with Imperial (inch) units and scaled on import by 0.0254 to convert inches to meters. I suspect the problem may be that Unity is not realizing it can still reimport with that scaling factor.
I've observed this behavior with three different asset files. Other source formats seem to work okay for me; it's just FBX that shows the problem here.
Comments, anyone? Does this sound like a bug, or am I doing something wrong as a Unity newbie?
Thanks for any comments.
Answer by Trlgger · Oct 02, 2015 at 12:54 PM
Click on the FBX in the Inspector and press CTRL+R. Or right-click and select refresh. I am not sure why this is happening it should be automatic.
Thanks, Trigger, but I already tried that, and it has no effect. I think there's either a cache not being flushed somewhere, or else some kind of UUID or timestamp signature that detects the changed mesh is being overlooked.
Good suggestion, though. I just wish it had fixed the problem for me, as it probably has for many others.
Answer by spymatt · Oct 09, 2016 at 02:41 AM
I have this issue too. The docs say updating the FBX should update the prefab, but this simply doesn't happen. I follow the same workflow as everyone suggests - create parent game object in scene make model instance a child of that in the scene drag and drop parent onto a newly created prefab asset.
Overwriting the FBX on the filesystem does update the model asset in unity (so reimport is working), but not the prefab (and prefab instance in the scene) made from the scene object originally. It's almost as if the prefab has its own secret copy of the model. I would have expected the prefab to reference the original model (because that's how 99.99999999% of people would want to work, right? - so artists can update models without impacting the development activities).
Answer by MeadowGames · Apr 16, 2017 at 02:47 AM
I cant believe that its now April 2017 and this issue still hasn't been fixed. I've spent hours trying all kinds of unity and blender combinations but the import settings are just plain horrible.
Answer by EdPS · Mar 03, 2020 at 01:20 AM
When you import the fbx, unity creates a local copy in the project. When you hit reimport unity will reimport that local copy not the original file used. So you have to make sure you are targeting the project's copy in the blender export, not your original file.