# Recommended way to share/update pipeline configurations between projects?

**URL:** <https://community.shotgridsoftware.com/t/recommended-way-to-share-update-pipeline-configurations-between-projects/5609>\
**Category:** Pipeline Integrations\
**Created:** [January 20, 2020, 5:56pm UTC](https://community.shotgridsoftware.com/t/recommended-way-to-share-update-pipeline-configurations-between-projects/5609 "2020-01-20T17:56:16Z")\
**Posts on this page:** 1\
**Showing post:** 9

<div class="post-metadata">

**Author:** ![philip.scadding](https://sea1.discourse-cdn.com/shotgunsoftware/user_avatar/community.shotgridsoftware.com/philip.scadding/32/30_2.png) [@philip.scadding](https://community.shotgridsoftware.com/u/philip.scadding)\
**Post date:** [March 17, 2020, 9:12am UTC](https://community.shotgridsoftware.com/t/recommended-way-to-share-update-pipeline-configurations-between-projects/5609/9 "2020-03-17T09:12:52Z")

</div>

Hi Nik, welcome to the forums. Great questions!

1. It’s up to you really. Certainly, you won’t need to copy the files to each project, you will just need to upload a copy of the config to the site `PipelineConfiguration` entity. However, it may be beneficial to have a test project, with a config, so you can test changes outside of production.  
Personally I would be using git/GitHub where I would keep my source config and track the changes, then zip up the config from the repo and upload that.

2. Yeah, its a good point, perhaps that example is a bit distracting. You don’t need a `projects/` bit in front of the name. You can optionally define a nested structure in the name, by separating it with `/`s. Doing so allows you to add additional folders after the root but before the main project folder.  
For example, you might wish to split your project folders out by client, or type of project: `vfx_projects/my_vfx_project` and `game_projects/my_game_project`.

3. Yes, that is correct, you will need to delete the `PipelineConfiguration` entity from your Shotgun site for that project. Maybe hold off on deleting the config on disk as well at first, so that you can check it all goes smoothly, otherwise, you can always restore the `PipelineConfiguration` back from the trash, and it should go back to how it was.  
3a. No, the projects should already have a `tank_name` if they were previously set up, clearing out the `PipelineConfiguration` entity should be all you need to do (assuming the site config is exactly the same in terms of schema). Though I recommend testing against the process with a dummy project just to make sure you feel comfortable with it.

4. If you upload the config, you should not need to set the descriptor. If you do [it will take precedence over your uploaded config](https://community.shotgridsoftware.com/t/if-i-have-both-an-uploaded-config-and-a-descriptor-on-a-pipelineconfiguration-entity-which-is-used/163).

I hope that helps? You’ve probably seen these already, but I just thought I’d link them here as well:

> [@Shared project configs](https://community.shotgridsoftware.com/t/shared-project-configs/3284):
>
> By default when you run the Toolkit advanced set up wizard for a project via Shotgun Desktop, you end up with a configuration created that is specific to that project. However, in certain setups you may wish to share your configuration with all your projects by default. To do this you will need to setup a site-level [distributed config](https://developer.shotgunsoftware.com/tk-core/initializing.html#distributed-configurations). Find the configuration you want to use. You can use the latest [tk-config-default2](https://github.com/shotgunsoftware/tk-config-default2/releases) config (which is the default when using the setup wizard) or you can use a c…

> [@Distributed config management workflow](https://community.shotgridsoftware.com/t/distributed-config-management-workflow/232):
>
> I’ve seen the question come up a few times around how to test configuration changes and push them to production when using a [distributed config](https://developer.shotgunsoftware.com/tk-core/initializing.html#distributed-configurations) setup. My personal recommendation would be to do the following: Assuming your project already has a “primary” PipelineConfiguration entity with an uploaded config, I would create a second one called dev. Set a [dev descriptor](https://developer.shotgunsoftware.com/tk-core/descriptor.html#pointing-to-a-path-on-disk) to define a location to your config on disk. (If you haven’t got a config on disk you can download the primary config and unzi…

---

_[View the full topic](https://community.shotgridsoftware.com/t/recommended-way-to-share-update-pipeline-configurations-between-projects/5609)._
