Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 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
6
Question by Bill · Sep 02, 2010 at 05:44 PM · project

Splitting complex project into multiple projects

Bare with me, this is going to be a long post. I'm going to describe our situation, detail our current problem, and outline a possible solution to our issue for feedback.

We have a rather large Unity Project being built for a client. Currently there are 1331 files and 167 folders at a size of 770 megabytes. The project is likely to grow upwards to 2-3 gigabytes before the final release of the game.

Currently, it takes upwards to an hour on our dev machines (which are fairly beefy) to load a project when Unity decides to refresh the asset database on start up. This unfortunately tends to occur quite often (almost daily) after pulling down the latest source code and then proceeding to open Unity.

This is often fairly frustrating as Unity will often randomly crash on import. Some mornings (such as today), it took me up to 2.5 hours before I finally got the darn project to open. Each time the editor crashed, it would tell me the asset database needed to be rebuilt again. This process has become quite time consuming for members working on the project. I would be willing to say that 25% of the team (of 10-12 people) is spent each day just trying to get the project to load.

General Observations: 1.) Perforce does not work well with Unity since. Unity has a habit of deleting and recreating the files locally (even if they are read only). This causes the infamous 'clobber' error Perforce spits out when a file under source control no longer has its 'read only' property set. We have tried using the 'reconcile offline work' feature to resolve some of these issues with little luck. Typically it's proven to cause more of an issue then it has resolved. 2.) When having a large team of developers and that many files, it becomes a pain to manage all of the meta files. Sometimes people forget to add/delete them from the repository.

In need of a way to speed up development. We were wondering if it would be feasible to move a significant amount of scenes and assets to a second Unity Project. In our current scenario, all of the scenes and assets are compiled into asset bundles. It may be possible to divide our project into two projects.

1.) Master Project - Would contain all of the code scripts, a single startup scene, and all of the prefabs with script components. 2.) Asset Project - Would contain all (or some) of the scenes and assets.

The scenes could be reworked such that all of the script components could be stripped out. We would the rely on some code to hook the needed components up during run time.

Has anyone tried to split a project over multiple projects before? What problems did you run into (besides the obvious scripting issues)? Is there any possibility that both projects could chose to assign the exact same GUID to a resource?

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
1

Answer by spinaljack · Sep 02, 2010 at 08:37 PM

You can split your project into asset bundles and have each asset bundle as a separate project. It even recommends as much in the documents:

http://unity3d.com/support/documentation/ScriptReference/AssetBundle.html

http://unity3d.com/support/resources/example-projects/assetbundles

http://unity3d.com/support/resources/example-projects/charactercustomization

It's also how they recommend developers implement downloadable content so you can be sure what's in the main game and what comes as download.

For your problem it'd make sense to split the assets of each scene into its own asset bundle and project. You can then stream load the bundles as you play if it's a web based game (probably not judging by the size) or you could store all the bundles in the install folder and load them at run time, or you can combine them all at the end for a final build.

Asset bundles also has the added benefit of letting you more closely manage your memory usage.

Comment
Add comment · Show 7 · 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 Bill · Sep 02, 2010 at 10:46 PM 0
Share

I mentioned in the post that everything was actually already in asset bundles. We have a special build script that builds everything into the bundles. Our main unity file is super small and responsible for starting the download of asset bundles as needed. There is a 'smart' process that deter$$anonymous$$es what bundles need downloaded as the player navigates through the game. The project would have been insane without them...

avatar image Bill · Sep 02, 2010 at 10:48 PM 0
Share

Now as far as the comment in regards to the separate projects. From everything I have read, that's a really bad idea. Can you point me to a document that says they recommend separate Unity projects for each asset bundle. I've seen the links you provided before, and reskimmed them for that comment without luck.

$$anonymous$$y primamry concern is the possibility of two projects having GUIDs that overlap. ie: a texture in one project gets the same GUID as a model in another project.

avatar image spinaljack · Sep 02, 2010 at 11:22 PM 0
Share

Sorry, that particular comment was from the iphone docs which I can't link to. It helps separate what's DLC and what isn't.

avatar image Bill · Sep 07, 2010 at 03:31 PM 0
Share

I've been burned on this stuff before, and would before to know a definite answer in regards to it with the web player version. The phone versions of Unity tend to differ slightly in both API and functionality.

avatar image user-6569 (google) · Nov 17, 2010 at 09:36 PM 0
Share

Hi Bill,

We're facing a similar situation. Do you ever manage to resolve the issue(s) you had ?

Show more comments

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

2 People are following this question.

avatar image avatar image

Related Questions

How can I download my projecst from Unity website? 1 Answer

How to share assets between projects with Unity Collaborate 1 Answer

Upgraded to unity 2018.1.0f2 and VS Project is no longer generated 5 Answers

name of project 1 Answer

Failed to start the Unity Package Manager local server process. 7 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