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
0
Question by HenrikLSP_IL · Aug 30, 2017 at 11:25 AM · assetsprojectcollaborationversion control

How to share assets between projects with Unity Collaborate

Too Long; Didn't Read: Does someone know a good way to share assets between multiple projects using Unity Collaborate, when projects and shared assets are in development at the same time?

I am trying to migrate our projects' version control from Git and BitBucket to Unity Collaborate. We have a lot of assets that we want to share between projects. And those assets are under continuous development. Is there a way that I can accomplish the following:

  1. When working on a project, shared assets should be placed in a subfolder of Assets and be easy to modify.

  2. I can work on shared assets in any project to see how my changes affect that project before committing. I can also switch to another project to see how my changes affect that project.

  3. I can run unit tests on shared code directly in unity.

  4. When committing a change to a shared asset it is pushed to all projects.

  5. A project close to release may choose to not pull changes to shared assets, while still pushing and pulling other changes normally.

  6. Projects are integrated with Unity Cloud Build.

I have investigated the following approaches: (I haven't actually tried them all. Messing around with version control can cause hard-to-repair damage.)

  • Shared assets form a separate project which is exported and imported into each project. This is very cumbersome and requires a lot of manual export/import. It is also difficult to work on an asset without the context of a project. Fails most of the above requirements.

  • Everything is on the same repository. Projects are branched from the master, which contains all shared assets. This is what we have been doing so far. The result is frequent switching back and forth, conflicts, merge errors, commits that end up on a wrong branch and general confusion. AFAIK Collaborate does not support branches anyway.

  • Project assets are version controlled with collaborate, with shared assets on .collabignore. Shared assets are under external version control. Fails requirement number 6 - how can Unity Cloud Build build the project if half of it is on a different repository?

  • Each project has all assets under version control. Shared assets are duplicated across projects and ALSO under external version control. But having the same file under double version control seems kind of dodgy - will this go terribly wrong in ways I cannot predict?

  • Shared assets are a separate project in Collaborate version control. Each actual project on local machines contains a symbolic link to the Assets folder of the shared project. So each project and cloud build act as if the assets are a part of their project, unable to see that they are ALSO under Collaborate version control in the Shared project.

All of these approaches seem suboptimal or hacky to me. Does someone know of a better way?

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

1 Reply

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

Answer by HenrikLSP_IL · Sep 11, 2017 at 07:20 AM

I have decided to go with the double version control approach. Have each project in Unity Collaborate including shared assets and have the shared assets also under Git version control. This works fine so far, so long as we remember to pull and push to both systems. If unexpected problems come up later, I will edit this answer.

Comment
Add comment · Show 2 · 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 taxvi · Oct 31, 2017 at 08:27 AM 0
Share

does it work still? did you have any major issue with this?

avatar image HenrikLSP_IL · Oct 31, 2017 at 10:48 AM 0
Share

This approach has worked reasonably well for a couple of months. Remembering to pull and push to both systems is a bit of a hassle, but the consequences of forgetting are small. But we are only two developers working on two projects. I cannot tell if problems will arise if many people work on multiple projects at the same time.

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

68 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

Related Questions

Collaborate wants to push changes on many files I didn't edit 0 Answers

Unity Projects assets usable ? 0 Answers

All assets suddenly missing? 2 Answers

Lines of code are missing after using Unity Collaborate? 1 Answer

Why does Collaborate seem to be checking for changes on a folder it's supposed to be ignoring? 1 Answer


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