Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 12 Next capture
2021 2022 2023
1 capture
12 Jun 22 - 12 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
3
Question by HD30 · Mar 21, 2018 at 01:03 PM · assetscollaborationtoolssharing

Sharing tools across multiple projects

Hello, we have in my team several tools that we use simultaneously across projects that are in development. Every time we make a change to one of this tools we need to update it in all the other projects. Is there a known way to share files across projects so when we change one it changes in all the other projects? Its impossible the use asset bundles because you cant update scripts this way. I will really appreciate any help and will update here if I find a solution.

Comment
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

3 Replies

· Add your reply
  • Sort: 
avatar image
2
Best Answer

Answer by HD30 · Mar 25, 2018 at 09:25 AM

Update: I will write here the solution I found in hope that people will stumble upon this post in the future.

What we ended up using is SubModules in git. Very easy to do if you are using SourceTree. https://blog.sourcetreeapp.com/2012/02/01/using-submodules-and-subrepositories/

I created a main project with the tools i wanted and pused it to a repository. Then in the other projects I added the Tools repository as a submodule. What this solution gives me is that every time i commit new changes to the tools (in any of the projects) I can push it and it updates in all the other projects. This can happen in any of the projects using the tools, so you dont even have to mess with original tools project other then the initial setup. Make sure to only push your tools folder from the main project assets folder and not all the other unity related files so you wont mess your projects when pulling from the submodule repository.

This is the best solution we found after attempting a few. It requires careful setup but when its working correctly it's great.

Hope this helps! :)

Comment
Add comment · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image
1

Answer by Harinezumi · Mar 21, 2018 at 02:26 PM

This is a very valid and important question, I wonder why there isn't more information how to handle this. There are a few approaches that you can try.

The simplest approach that comes to my mind is compiling tools into .dll(s), and sharing those in the team. This will be self-encapsulated, easy to share, but sharing will be manual and will lack the flexibility to easily modify the tools.

The next idea that comes to my mind is - if you are using git for version control - to embed a repository within your project, e.g. in Assets/Tools/ folder, and put all the tools in that separate repository (or multiple ones). This way you will notice if a tool is not of the latest version so you can automatically update, will be easy to share among the team, and you will also have access to the source of the tools. However, it is more complicated to set up, and working on the tools in parallel is more complicated (you will probably need to resolve change conflicts).
You can also do the above embedding with hard-linking a shared folder (on Windows, check out the command mklink /j), but it will lack version control and anytime something is modified everyone else will also have to reimport it. So I do not recommend it.

These are the ideas from the top of my head, probably there are more ways.

Comment
Add comment · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image
0

Answer by Baktillus · Mar 21, 2018 at 01:29 PM

If nothing else you could export the tools as unitypackage and import them into the other projects. Maybe that's too tedious for your usecase though

Comment
Add comment · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

78 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Collab disconnecting a bunch of textures and materials from game objects 0 Answers

If I purchase an asset pack from the Unity Store, can other developers on my git project use those assets? 0 Answers

How to share project files between 2 developers? 3 Answers

How to share assets between projects with Unity Collaborate 1 Answer

Can projects share an Assets folder? 2 Answers


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges