Blender 2.71 .blend to Unity broken

Hello UT

With the release of Blender 2.71 I cannot any longer import .blend files into Unity.
Even importing a simple cube alone in a .blend results in “Blender has stopped working”.

Whether I drag the .blend directly in or place it before hand in the project folder the same “Blender has stopped working” happens.

I know I can use alternative export options.

Although, I hope this is still a planned implementation on UT’s part.

It has nothing to do with Unity. Unity built a wrapper around Blender’s fbx export script. Blender made changes to the script that result in the breakage. Go to #blendercoders on IRC and let them know that you need Blender to work with Unity. This should not have happened IMHO.

@Zenchuck Yes it does.

Link to mont29’s blog

Blender does not support Unity’s internal code which internally converts to .fbx. Blender’s new .fbx export addon has been improved to support better .fbx exports. Unity will need to update their internal conversion to adapt to this newer version themselves. I was merely pointing out to UT that it doesn’t work with the new version of Blender.

I understand it is a convenience to be able to import .blend files directly, I’m just hoping UT plans on keeping to implement such a convenience.

So what happens when Blender “improves” the code in the next update? and the next?

If you open up the Blender export_fbx.py you can read in the comments that vertex color should not be supported - because no program uses them any more! I’m paraphrasing but the gist of the comment is that there is a real disconnect between whoever is responsible for the fbx export script and reality.

What is supported in the new .fbx export script that wasn’t exported in the previous version?

That’s up to UT to decide what they will do. Why are you asking me?

FBX is proprietary so they have been implementing workarounds. In no way is Blender’s FBX “official”.

I don’t know why you are telling me all this. I’m not a programmer. I was merely leaving this finding here for the UT team so they know what’s going on. I don’t think this is important enough for a bug report.

But if you have solutions to help the blender team you could go here and suggest/implement your ideas:

Aside from all this I hope UT does keep supporting their internal conversion of .blend files in the future.

There is a recent history in Blender of just randomly breaking stuff - it would be really cool if the devs could build on top of existing layers - maybe with some allowance for other software (and users) to react to major changes.

FBX is the main path for a lot of game development so should be treated with extra caution - not just a bunch of random changes - and forget about possible damage.

I am also not a programmer. I paid a programmer to write a custom export script for Blender to support vertex Alpha.

Unfortunately, as long as Autodesk keeps FBX under it’s current terms we will be stuck with workarounds; which will always have the potential of problems.

We can only ask of Blender what we are willing ourselves to put in. It is not a sold, closed source, proprietary software. It is open source software which depends on the users and companies that use it to adapt it themselves.

I only hope that UT sees the value and potential of Blender in the upcoming future and keeps updating its internal conversion of .blend files to allow us the convenience of using .blend files directly in Unity.

I am a proud Blender user. I always promote it as the best software I have ever used and recommend it for anyone interested in creating 3d art.

***edit - so it is apparently a bug introduced by Microsoft - so neither Blender or Unity are at fault. I am not clear on the details but you can read more about it here:

Despite my minor frustrations - the big picture of Blender has always been and remains a positive one.

Also it should be noted that if you’re using Blend Shapes the new FBX exporter in Blender doesn’t support it. They have slated that feature for 2.72.

Here is a fix for Blender 2.71 and a better explanation of the problem. Thanks to “Ignaramus” for tracking the bug and providing a fix. This was the same guy who took care of the export_fbx.py modification for me.

There may be another way around that issue, though, less intrusive - python can call processes with its own stdin/out/err, so a simple modification of Unity script to feature such fake streams might solve it, without having to replace whole py dll?

Do not have that Unity script at hand (and don’t want to start my VM just for it), so can’t verify that, though…

Ahh microsoft the deep pain in my loin…

Well hopefully UT will find a better solution to this or send their scripts to mont29

Thanks everyone.

so… for all the idiots out here, like me:

can I get a version from graphicall and point unity to that blender version for the FBX export?

Hello @tri_ben , no need to call yourself that. Not knowing and Questioning is not a bad thing, it’s good.
I’m not exactly sure what you are trying to achieve.

For FBX exporting just export fbx from Blender normally.

There are 2 fbx export modes: Binary & ASCII

Binary has recently been updated with 2.71 although>
As pointed above shapekeys(*Blenders morphs/blendshapes) will be supported in binary with 2.72 release.
so if you need them you’ll have to export as ASCII

The issue we were discussing here was importing .blend files directly into Unity.

I used to be able to import .blend into Unity, but this has stopped as of 3 days ago. It first stopped working when I tried to import a 4 million vert object. It previously worked on a 1.8 million vert object. Now it just doesn’t work for anything.

ok, I now created a simple cub in Blender, with no modification, just a cube. Imported it to Unity successfully. Not sure why Unity crashes for my under 1 million vert models when last week I was cruising with 1.8 million vert objects…

What kind of game are you making? 1,000,000 vertex models are considered large for most real time applications.

I had the same problem, when I updated to Blender 2.71. Like in the posts above stated, there is a problem with a python.dll. If you have a 64Bit system, you can try to replace the python34.dll with the one I attached. That should do it. Please make a copy of your old python34.dll in case something goes wrong. The python34.dll is in the Blender main folder like “C:\Program Files\Blender Foundation\Blender”.

Hope this helps.

1700044–106804–python34.zip (1.29 MB)

2 Likes

Whoops, maybe forgot to mention I’m on a Mac. Do you have the zip for that?
I was working with 2.71 with no problems, didn’t change versions. Then, BAM, would not want to cooperate.

I’m making a hybrid of a game, but the characters are very important to me.