What is the best way to migrate the scene from laptop to PC

Hello! I am currently working on a big project where most of the furniture in the scene is linked from individual files.

I tried packaging it as per some tutorials but some materials always end up missing. Unpacking the file shows maybe half of them transferred.

How would you go about transferring / packaging / applying the furniture in a way that the file works identical on my laptop. Is there a way to prepare the models better?

The Blender version is the same on both. I am on a deadline and need the advantage the PC provides. All advice is welcome!

1 Like

I use SyncThing for this- free, easy, works great

2 Likes

I use syncthing as well. Also to sync configs and caches between machines, to have the ā€œsameā€ Blender in several machines. That sometimes solves issues.

Have you tried making linked assets local, and then packing?

1 Like

Thank you for the suggestions, I havenā€™t even heard of it before. I will definitely look into it.

Would I then need to share just the location of the blend file or the whole model database?

Local is also an option, just hoped for something simpler.

I work mainly with two workstations for regular jobs.
I setup syncthing to share a few directories out from the main workstation (the one I use most, or start the day with) and in the second those same folders get updated with changes in the first one.
All Blender configurations (in ~/.config/blender/ ) is passed to the 2nd workstation. So all versions of Blender settings and add-ons are in sync.
If Iā€™ll leave the main workstation alone for a while (or if working on the second I change important things in the software setup) I can reverse the direction of the sync easily, or make it go both ways if I know Iā€™ll be jumping back and forth. Itā€™s not difficult, really. I use the Syncthing GTK app to have it conveniently on a GUI.

All workstations have the same mount points for cache, assets and project disks. Those are synced as well, except the ones that are on a NAS, obviously.

I keep current ongoing projects on local machine(s) and synced in this manner. And Blender(s) are installed in the same way on both machines.

Itā€™s been working well for a while now, and itā€™s used for other things beyond Blender, but thatā€™s for another day.

As for the make local, sometimes it worked for me if I first saved a version of the scene WITHOUT the autopacking in Blender, then reopened, cleaned up, find missing files, then save, then pack.

I found that sometimes missing links or assets prevented packing from working. Clening up first helped. But at times, it doesnā€™t seem to clean, then doing it manually in the Outliner in Blender File view mode helped a lot. After all is cleaned, then make local and pack. Worth a try. I know it drove me nuts at some point.

Edit: common offenders (in my experience) are linked assets that were removed during the ongoing process of making the scene and left garbage data behind. If recursive cleaning didnā€™t work, doing it manually as stated above worked in the end and the packing then went well. For this reason, if the scene is not gigantic, I tend to append instead of link if at all possible, and only at the end pack resources with the scene (on a separate file, NOT overwriting the final scene in case I need to fall back to troubleshoot just the packing) and avoid Blenderā€™s auto packing feature.

Edit: itā€™s a tad late and Iā€™m tired, if I didnā€™t make sense and you find further clarification on anything I said would help you donā€™t hesitate to ask again.

2 Likes

Welcome :tada:ā€¦

ā€¦so you used File ā†’ External Data ā†’ Automatically Pack Resourcesā€¦ or explicitely ā†’ Pack Linked Librariesā€¦ and maybe some make path relative etcā€¦ ??

Maybe even doing a clean up before.

I never used this myself.

Everything you explained made perfect sense and it will help me greatly in streamlining my workflow for future projects.

I have Blender installed and all of my work on a disk drive separate from system drive, letā€™s say D. If I understood correctly, I should make an identically named drive on my PC and install Blender there.

My work consists of 3 separate folders. One is a collection of all my furniture models, which I usually link into the scenes that are in the second, clients folder. The third folder is full of textures sorted by type. If I were to sync a project from laptop to PC, do I share all 3 or just the one with the project?

If I render on PC a scene linked from my laptop, does it use the PC or the laptop hardware?

I am sorry if my questions are a bit basic, I am trying to wrap my head around how it all works to make sure I set it up well.

For packing, the only thing that helped preserve textures of linked files is if I first packed the original file where the piece of furniture is, and then the scene. But that made the file size massive.

I used: make paths relative>pack linked libraries>pack resources.

Other thing that worked although tedious, is appending the linked files with: object>apply>make instances real, and after that object>relations>make local all.

But ultimately I would like to set up network sharing as it makes the most sense for future projects.

To simplify, hopefully:

I use an Operating System disk. Operating system and programs are installed here.

A separate disk stores Projects (active projects Iā€™m working on and ususally the last two I already finished (in case I need to review them for clients, to have them quickly available)).

A third disk with assets (object libraries, textures, ā€¦)

So, Iā€™d have (Iā€™m on Linux but that works the same in Windows):

C: for system and software
D: for assets (object libraries, textures, add-ons, ā€¦)
E: for projects (the ones Iā€™m working on and the las ones done to have them handy if clients need adjustments or further work on them).

Then a NAS for backup of everything.

To have many workstations working the same, I syncthing contents of D: and E: (in this simplified case, whole disks, letā€™s say). When I prompt the syncthing, it syncs the content on different machines, so when I change from one to the next, to me itā€™s as if I was working on the same machine, as it were.

Now, a crucial part of this to me is to also sync the contents of the user preferences of the software I use. So, when I open Blender on either machine, Iā€™d have the same Blender, with the same settings, and I can go and open a scene as if I was on the other workstation, seamlessly.
For this, I need to sync Blenderā€™s configuration folders and files. And for that to work, it helps if everything is in the same place, and with the same name. So all configs will look for the same things and find it in the same places. Hence the strict drive and contents set-up for all machines.

Backups are made similarly to a NAS, but that is out of the scope of this monumental block of text thatā€™s testing your patience now.

I found working from a NAS adds a slight lag in fetching assets, so I replicated them (the assets) on local machines and never looked back. Some less used ones are on the NAS and brought locally on either machine if needed, in the folders of the Assets disk. Then theyā€™ll get synced in the other machine and done. You can also delete-sync if you wish, but Iā€™ll live it to you so I wonā€™t get sued if something goes wrong. :slight_smile:
Itā€™s perfectly fine to work from a NAS, though, preferably with fast drives, with nvme caches on the NAS, and fast network and good cables.

In Windows, the config of your Blender is in %USERPROFILE%\AppData\Roaming\Blender Foundation\Blender\ (if Iā€™m not mistaken, you can look for it). That folder sync is the one that will present the ā€œsameā€ Blender to you in either machine.

If that is an issue to sync because of Windows restrictions or whatever other reason, Iā€™d download Blenderā€™s build, extract it to a folder in C:\ (letā€™s say C:\Programs\Blender) and manually create a config folder (called ā€œconfigā€) in the extracted Blender folder (before launching Blender, preferably). It would look like this:
C:\Programs\Blender_extracted_folder\4.2\config ā† in this case I assumed weā€™re doing it with a 4.2 version of Blender, but itā€™d be the same with the folder name and number that the version you use sets.
With that folder, when launching Blender (you may want to make a shortcut for that) all configs will be stored in that config folder and NOT in the Windows user and roaming folders.

If all of this is not what you really need, and only sporadically you switch from one machine to the other, you can still use the same structure, and just use a pen drive or external drive to move things around. Or install all in the external drive, using the config folder mentioned, and it should work as well.

In any case, all we did here is have a sort of duplicate of our workstation to more or less seamlessly work on different machines.

Work is done in the local machine, though. So if you have different rendering GPUā€™s you may want to just copy manually the config folder of Blender, WITHOUT syncing it, and then change the rendering device in Blender settings.

Later today Iā€™ll take a look at this babbling in case I missed something. Sorry if itā€™s not of much help. Ask away if Iā€™m way off-course for your needs.
I do understand this things can be stressful or confusing and it was for me before I figured it out. Now Iā€™m just stressed if Iā€™m doing two jobs at a time. But, hey, thatā€™s better anyway! :smiley:

The goal is to be in the exact same state of things when working on either workstation. And let the systems sync everything for you. You can work on either one as you please or need.

Have a good one!

First Edit: To work on one machine and render in another Iā€™d just let it sync, remote desktop to the other and hit render, or just do it manually, without the Remote Desktop program (the best approach would depend on your hardware setup, physical workspace, and other needs). I donā€™t recommend using Remote Desktop to work on intense GPU/Graphics programs using simple remote desktop setups. It can be done, properly, but itā€™s expensive and a tad complex, and hardly worth the trouble if weā€™re talking about few machines that are also physically close to each other.
You can try RDP in Windows though, and see if it works for you.

Second Edit:
In your case, if all drives and folder were setup the same, you wouldnā€™t need to pack anything, since the copying of the scenes would be seamless because in the other machine all things would be in the same place locally. If you use a NAS, then as long as the mapping of the folders or drives on the NAS are set equally on either machine, scenes would find everything were it should be. It also may help if user names are the same in both machineā€™s Operating System, to avoid possible configuration conflicts down the line.