COLLABS: File Sharing & Library Linking

Kent Trammell

This is a guide for collaborators of the Backhoe Citizen Project. Hopefully a clearer explanation than what I gave during the livestream šŸ˜…

File Sharing

Team projects are inevitably complex and this backhoe project is no exception. Each of our respective parts contains dozens (sometimes hundreds) of pieces to keep track of. The organizational difficulty increases exponentially when trying to assemble all the parts into a complete backhoe model. Thereā€™s other issues too:

  • Duplicating data every time we import someone elseā€™s part to reference against our own
  • Uncertainty if the model Iā€™m using is the latest version

Luckily these issues arenā€™t new. All legitimate productions (whether professional animated films, amateur short films, video games, etc) solve these teamwork hurdles with shared file storage. Shared file storage means everyone has the same access to all files at the same time. This way everyone has the most updated files dynamically and thereā€™s no need to manually share files any more. Online solutions have been around for a long time: Dropbox, Google Drive, Mega, etc.

Google Drive is my proposed choice for utilizing file sharing for our backhoe project. Weā€™ve used it before as a community to help Omar render shots for his demo reel. This means we all will need to have a Google account (which comes with 15 GBs of Google Drive storage for free). The website makes it pretty easy to setup if your on Mac and Windows. Iā€™m on Linux and use a paid app to accomplish this. If youā€™re on Linux and want more details let me know, but my guess is most of you are on Mac or Windows.

Setup Steps

  1. Sign up for a Google account if you donā€™t already have one. If you already have one and are familiar with Google Drive, make sure you have a couple GBā€™s of storage available. This project shouldnā€™t take more than that.

  2. Optionally you can install Googleā€™s Drive applets to auto sync your Google Drive to your computerā€™s hard drive. This is the most automatic option but you can also opt out and upload your files manually. If you choose to opt out then make sure youā€™re diligent about uploading so everyone else can trust your contributions are up to date.

  3. Send me an email ([email protected]) with your gmail address if you want to sync up with this project. I will add your addresses for sharing manually for security. Use the subject "Request to sync COLLAB2021 files" and I'll promptly add you.

  4. Once I add your gmail address to the projectā€™s Google Drive directory, you will have sharing access. Then you can navigate the directory on the Google Drive website. It will also start syncing to your local computer if you have the applet installed.

    NOTE: Google drive doesn't sync folders shared with you UNLESS you add this directory to your drive specifically. For some reason Google hides this feature in a secret hotkey: SHIFT + Z. Press that hotkey with the shared directory selected and choose a location within your drive to add it for syncing.

  5. At this point weā€™re all sharing the same project directory! CHA-CHING

Library Linking with Blender

Now that weā€™re all sharing the same project files dynamically, we need to implement Library Linking within our .blend files going forward. This is important because a key part of this collaboration is comparing our parts of the backhoe. In referencing parts this way itā€™s necessary that we can trust weā€™re all referencing the latest version of each part at any given moment.

An Analogy

I think of Library Linking as retrieving data from a singular source instead of duplicating and assimilating (importing / appending). Think of it like sharing a Netflix account: As the account holder you can give your login credentials to friends and family so they can access Netflix content through your account. The result is simply your single account being referenced by multiple devices. If you edit your account, like cancelling for example, all other devices will cancel as well. Your account is not being duplicated and passed out to each person - all of it is based on one source account.

Circling back around to our project, so far weā€™ve all been duplicating each otherā€™s model data whenever we append to our scene. Blenderā€™s linking feature allows us to interact with a reference version of other .blend file components as if weā€™re sharing a netflix account. In fact all data blocks can be linked between .blend files: Objects, materials, collections, scenes, etc.

For this project weā€™re interested in linking Collections because they essentially serve as file folders for our Blender sceneā€™s objects. If all of Shawnā€™s loader arm objects live within a single collection, everyone can easily link that collection into their own Blender scene.

Masters of Our Domains

Keep in mind that linked libraries are limited by not being editable as a reference. They come into Blender as a singular object without the ability to change materials, no edit mode ability, no modifier ability, etc. Theyā€™re only editable in the source .blend.

This works well for us because each of us can be responsible for a singular MASTER version of our respective parts. Then each master version gets linked into everyone elseā€™s file as needed, including the MASTER assembly .blend featuring the completed backhoe.

The key word is ā€œMASTERā€. If that word is in a .blend file name, collection name, or file folder name we all know what it means; itā€™s THE ultimate version of that thing. The only collection within a master file that we want to link will have ā€œMASTERā€ as a prefix. If we all adhere to this rule it should be pretty clear how everything works.

Legend for Linking

This is a key for all collaborators to understand and work within the Google Drive project folder:

  • MASTER_dog-434e_model-assembly.blend is the scene file that contains links for all backhoe parts, resulting in the completed model

  • MASTER_partsis the subfolder that contains all MASTER versions of individual parts.
    • Example of mastered part: Ā ADRIAN2301_dog-434e_engine_MASTER.blend
    • Do NOT rename these files, only overwrite them when youā€™re ready to update your part. Any file that contains a link to these files will break / error if the file is renamed.

  • WIPis the subfolder within MASTER_parts where you can save your iterative work-in-progress versions.
    • Thereā€™s no restriction in this folder; you can name your files whatever you want.
    • When youā€™re ready to update your wip version into the MASTER version, simply save your .blend over the MASTER version in MASTER_parts. Doing so will automatically update all links in other .blend files (once those files are (re)opened / reverted)

  • MASTER Collections: Iā€™ve updated everyoneā€™s MASTER part file with a MASTER collection in the outliner.
    • Do NOT change the name of this collection.
    • Make sure all relevant objects are stored within this collection. Clean out any utility objects (objects not intended for rendering) by deleting or moving to their own collection outside the master collection.
    • Only link this master collection for referencing in your own scenes.

I believe that covers everything...but I will update this post as needed for clarification. Go Link Go!

  • Parker Bourassa(pfbourassa) replied

    blanchsb I'm having trouble with Google Drive.
    It looks like I've added the folder to my drive, but it isn't available to sync with my hard drive.

    Maybe I just need to restart or something.

  • Omar Domenech(dostovel) replied

    What Adrian wrote solved that:

    "I think I have figured it out. I just read an article about sharing and syncing on google drive.

    Navigate to shared folder, select the DOG-434E-MODEL folder so it is highlighted, Press SHIFT + Z and a pop up will "pop up" with no explanation of what it is, Ā select MY DRIVE, and a shared file will appear in MY DRIVE folder. (a folder with an outline of a person on it). This file will then sync with the app on DESKTOP"

  • Shawn Blanch(blanchsb) replied

    If you did the shift + z method are you still having issues ppfbourassaĀ 


    If so what operating system are you on? Iā€™m available to assist troubleshoot this tonight!

  • Parker Bourassa(pfbourassa) replied

    I did the Shift-Z method, and the "Add a shortcut to Drive" that's why there are 3 copies now.
    Windows 10. Looks like restarting did the trick. šŸ™„

    I added to a big icoshpere to confirm that the link is working in both directions.

  • Shawn Blanch(blanchsb) replied

    Okay sweet haha. That's interesting. I wonder if network connection had anything to do with it? I am also on Windows 10. I can relate to the frustrations of setting up cloud synced storage. That's why I bought my own personal cloud lol.

  • Shawn Blanch(blanchsb) replied

    Oh jeez you weren't kidding. That boulder is huge! It's syncing because you're linked copy on my file is updated.

  • Shawn Blanch(blanchsb) replied

    Something I noticed ppfbourassa is the webpage actually updates on my local save without me needing to reload my chrome browser. I just sat and watched for it to update after my local save on my Master uploaded. It was actually pretty slick once it gets set up.

    It took a couple of minutes for my upload and my connection speed is not all that great. But it did it successfully, huzzah!

  • Parker Bourassa(pfbourassa) replied

    Great! Seeing it work is so much more reassuring than a green check mark.

  • Ingmar Franz(duerer) replied

    @theluthier I've just sent you an email with my gmail-address.

  • Kent Trammell replied

    Did you get the project directory synced locally?

    EDIT: Forget answering here - I responded via email šŸ‘Œ

  • Ingmar Franz(duerer) replied

    @theluthier How can I edit my part and at the same time see the adjacent parts for alignment purposes? Do I have to link these parts into my rear axle's MASTER file temporarily or is there another method?

  • adrian replied

    That's what I do duerer , link them into the WIP I'm working on. I try and remember to remove them again before saving the Master, not sure if it increases memory use on the assembly file or not, or causes any errors but I delete the linked collection any way.

  • Ingmar Franz(duerer) replied

    I think, as long as you don't have any links in your part's collection within your MASTER file there shouldn't be any problems with circular dependencies that could crash Blender since the other modelers only link that collection and not the complete .blend-file. But it's in every case cleaner to delete the links before uploading your part again.

  • Shawn Blanch(blanchsb) replied

    Oh jeez. I just leave my link'd parts in my Master. Does that mean I should be deleting them for the Master? Methinks me knows the answer.

  • Kent Trammell replied

    @adrian2301 duerer blanchsb You do NOT have to remove links from mastered files. As Ingmar said, so long as you don't have any links in your MASTER_ collection they won't be linked into the master assembly file. So as far as I can tell links are fine to stay in mastered files as small bytes of reference data. It'd be a pain to remove them every time we saved over master.

  • Keith (beefkeef) replied

    I'm a simple man! šŸ˜ƒ

    thanks for this video blanchsb - I really didn't understand how to get things working on my machine until your explanation, cheers!Ā 

  • Shawn Blanch(blanchsb) replied

    You know what's funny beefkeefĀ  is I am going to have to re-watch my own darn video because I tried on my own after a break from all of this collab-ing and I can't remember how I did this. Wasted a half hour trying lol.