Skip to main content
Bryan_Berger
May 19, 2021

Reference a branch in another library

  • May 19, 2021
  • 36 replies
  • 4443 views

First and foremost, branching is a great addition to Figma, thank you!

Here is some background on how our Style and Component libraries are setup:

Project: Design System
File 1: Styles (text/color/other token styles)
File 2: Components (primitive components, larger organisms, and some templates)

What I’d like to do is create a branch in File 1 and change our brand color and add some text styles.

I’d then like to “stage” this branch so that I can reference it in File 2 (another file) and test some of the changes downstream in components to see how they might look before merging and publishing File 1 (in case there are things I need to change/add).

I would love some suggestions on how I might accomplish a workflow like this, or if it’s something that might be supported in the future.

Thanks!

36 replies

Tricia_Spoonts
September 12, 2023

+1 to using a branch in a file. If you want to update your design system comprehensively there is no way to make a branch and then test it across your files. To my mind, if you can’t do this in a library, I’m not sure why you’d use branching at all.

Johanna_W
October 5, 2023

Would love this feature! We are updating our brand design and have many many files connected that we would like to branch and test new updates on before merging. The only way we can see how we can do this now is to make copies of all the files, which seems like such a waste when branching IS available? Please look into this feature again! 🙂

Sabrina_Kayani
October 31, 2023

This feature would help us tremendously when working on updating an existing feature in another file! I hope it’ll be added!!

December 22, 2023

I just convinced the whole company to start using Figma and I was convinced this was implemented so I tried to push for the organization licenses just for this! If branching proves to be useless with no library support we might all be forced to switch to the professional license 😕 Please this is crucial for any kind of version control using libraries

Ben_Smeets
Active Member
February 1, 2024

Don’t get your hopes up. Assume it will never arrive. You won’t get any communication about any plans or progress either. But fortunately we have the new Dev Mode!

Rob_Thwaites1
New Member
February 21, 2024
  • 1 for this idea. Our design system team struggles to keep up bug fixes and improvements from our demanding team - really hard to prioritise. I would love if I could simply branch the design system library, make the changes I need, use the branched component in my own design work, and help out the the design system team at the same time.
Ben_Smeets
Active Member
February 29, 2024

That’s what we all have been hoping for since … 2021 (wow). No communication, no progress, no plans. Just think it is not how they intended the feature (no idea how it would be usefull without it, but ok. Maybe it became too complex once they implemented the first beta, that they are trying to remove the feature all together).

Sofie
New Participant
March 7, 2024

I am kind of surprised that this isn’t a feature. 😕 It’s great that we can make changes to one file, but it’s not quite what I anticipated after we upgraded to organization today.

Julia4
April 9, 2024

Hey! I’m in the early stages of creating our design system and we have a WIP library file for the beta components, and another one for handoff. But I’m not sure how to handle the dependencies between the two files. It would be really helpful to hear from your experience! Are designers consuming components from both files??? Is there a duplicate of each component in each file? Does this lead to double maintenence?

Max73
June 19, 2024

It’s hard to understand how this isn’t already implemented. It should be a very common pattern for people to use libraries containing master components and variables (typically the design system) in external files, and instancing these in various prototypes. For example, we have a library containing system components and variables for iOS 17, and another containing our bespoke design system. Both of these libraries are utilized whenever I make a new design file for our iOS apps.

How are you going to create branches in prototypes to explore design options or work on features if you can’t also branch the design system library file in a corresponding manner?