Project broken after moving it to a new pc

I have a finished game project made with Unity 2019.3 on window7 that I tried to move to my new laptop (with windows 11).
The copy seems to be correct, but when I open the project, all meshes are missing.
It seems it’s unable to open the blender (.blend) files.

I noticed that on my old computer I had blender 2.75, while on my new one 2.79. (Which actually shouldn’t be an issue, such a minor version difference, but you never know)
So I uninstalled blender on my laptop and installed the same version (2.75) as on my old pc.
But nothing happens, unity still fails to open the blend files.
I can create new blend files, and these get imported correctly by unity, but the existing ones it can’t open.

Anyone any idea what’s wrong and how to fix it?

I tried moving the library and obj folders at one point, but somehow that doesn’t change anything? As if Unity doesn’t even use these folders? (Cause UNity didn’t even remade these folders when opening the project)
Can anyone explain that?

  1. Delete the temp, obj, and Library folder. These are caches and often system specifc. After you do that start the project and let it import everything

  2. Might be worth updating to the latest 2019 version (if it’s a long term project to a newer lts as well, but latest 2019 should do).
    That version might be older than Windows 11, so maybe there are some issues there.

3 In general when something is final, it’s best to use an fbx instead of using blend files for everything

All Blender3D-to-Unity3D happens through a little Python script. It has limitations.

Not only that but the script substantially changed circa 2020 and broke (most) subsequent imports / exports, unless you avoided using Camera and / or Lamp (now called Light) in Blender. See below for more.

If you don’t want to concern yourself with these script pipeline limitations, always manually export FBX files from Blender3D and only use the FBX files.

Here’s more reading:

Costs of using Blender files directly vs exporting to FBX:

Unity imports Blender3D objects as FBX via a little Python script:

The Python script that Unity uses (substitute your Unity version number or search) to import:

./Hub/Editor/2020.2.1f1/Unity.app/Contents/Tools/Unity-BlenderToFBX.py

More on fixing it:

Blender3D objects used as trees / detail in Unity3D terrain (See the second half of this response)

Probuilder and Probuilderize and Blender:

Some more potentially-useful info:

Updating Blender files without breaking your prefabs:

When I work in Blender3D for Unity3D use, I follow these organizational rules:

  • use Empty Blender Objects as folders: they come out as an extra GameObject

  • ALWAYS parent everything to a single Empty, even a single object

  • ALWAYS apply all Scales and Rotations on every Transform throughout your hierarchy.

  • put as few objects in a given .blend file as possible, combining them in Unity into a prefab

  • REMOVE unnecessary items (Light, Camera, etc.)

  • use good names for your Blender3D objects and NEVER RENAME them after Unity sees them

  • don’t even think about final Materials or Textures in Blender. Set the mesh to use N different materials, but always set up the materials within Unity and disregard what gets imported.

Use source control to move projects, only source controlling what is necessary and more critically, to ignore what should be ignored.

It is equally important that you source control what you must AND ignore what you must.

PROPERLY CONFIGURING AND USING ENTERPRISE SOURCE CONTROL

I’m sorry you’ve had this issue. Please consider using proper industrial-grade enterprise-qualified source control in order to guard and protect your hard-earned work.

Personally I use git (completely outside of Unity) because it is free and there are tons of tutorials out there to help you set it up as well as free places to host your repo (BitBucket, Github, Gitlab, etc.).

You can also push git repositories to other drives: thumb drives, USB drives, network drives, etc., effectively putting a complete copy of the repository there.

As far as configuring Unity to play nice with git, keep this in mind:

I usually make a separate repository for each game, but I have some repositories with a bunch of smaller test games.

Here is how I use git in one of my games, Jetpack Kurt:

Using fine-grained source control as you work to refine your engineering:

Share/Sharing source code between projects:

Setting up an appropriate .gitignore file for Unity3D:

Generally the ONLY folders you should ever source control are:

Assets/
ProjectSettings/
Packages/

NEVER source control Library/ or Temp/ or Logs/
NEVER source control anything from Visual Studio (.vs, .csproj, none of that noise)

Setting git up with Unity (includes above .gitignore concepts):

It is only simple economics that you must expend as much effort into backing it up as you feel the work is worth in the first place. Digital storage is so unbelievably cheap today that you can buy gigabytes of flash drive storage for about the price of a cup of coffee. It’s simply ridiculous not to back up.

If you plan on joining the software industry, you will be required and expected to know how to use source control.

Source control does require learning, but there are TONS of tutorials and courses and online reference.

You should strive to use source control as confidently as you use your file/folder system.

“Use source control or you will be really sad sooner or later.” - StarManta on the Unity3D forum boards

1 Like