Before upgrading I had 1 Solution file with 1 Project in it. Now I have 1 Solution file with 4 projects in it. The projects are called:
Assembly-UnityScript [not in mygame-csharp.sln - see edit]
I have tried deleting all project solution files and do a complete resync and I still end up with 4 projects. I can't seem to find any information about these 4 projects? My assets are spread throughout all 4, some of them included in 1 project, others in several projects.
|EDIT + 1| I currently run a virtual machine with Windows 7 + Visual Studio on it. I use this to get all the nice intellisense features.
The project Assembly-UnityScript will not open in Visual Studio. All three other projects depend on this project and thus nothing will compile.
BUT there are two project solutions. One called mygame and one called mygame-csharp. If you open the mygame-csharp solution it only contains the first 3 projects and will compile with visual studio - yay!
I still do not understand why there are extra projects and why they have not been mentioned in any documentation.
I also have this. Kind of annoying and cluttery, but everything still runs fine for me. I would like to be able to get rid of it, though.
I'd like to have an explanation for this as well. Anybody from Unity care to comment?
For me it's more than just clutter. It's a confusing mess that's difficult to navigate. I also consider it broken, since neither Visual Studio nor MonoDevelop can open a .unityproj file, errors pop up every time the solution is loaded.
@luvcraft, @flintmech: Don't post such things as an "Answer". Use comments for annotations. Read the FAQ
We developers don't give a fuck about what Mono does internally. These kind of issues had always been resolved adding references. I can understand that solutions using more than one language may need this extra step, but then again, don't let internal stuff make its way to the IDE, and if you need to, make it pretty and simple.
As it stands now, it's just wrong. Plainly and simply wrong.
Answer by Bunny83
Sep 30, 2011 at 01:23 PM
Actually Unity always had this seperation even before the update. Unity compiles 3 (or 6) different assemblies. But now they also seperated the projects accordingly:
folders: "`Standard Assets`", "`Pro Standard Assets`", "`Plugins`"
All first pass assemblies is compiled first (C#, UnityScript, Boo). The reason is that you can't use any classes from other languages unless they are already compiled and added to the project as assembly (thanks to .Net / Mono all are compatible).
So a first-pass-C#-script can't use a first-pass-UnityScript-script. The first passes provide the base on which the other passes are build on top.
2. (normal pass)
folders: everything outside "`Editor`" and the above mentioned folders
The usual compiling group is the group where most of your scripts should be located. The big advantage is that all assemblies from the first pass (from all languages) can be used in those scripts because they are already compiled.
Well, all editor scripts also go into a seperate assembly since it isn't even included into the build. The editor scripts are compiled last so they can use all of your runtime scripts.
Some Notes:I can understand the relationship between the different assemblies but i have to agree that it's very confusing to work with. However when you stick to one language (i would recommend that) you only have to deal with one project (the normal one). Beside the better management it will also compile faster if you don't have a first-pass group.
It totally fine that the editor stuff still is seperated since it IS something different.
Unity creates multiple solution files for the different editors since Visual studio can't work with UnityScript the UnityScript projects are not included in the VS version.
Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.
The best place to ask and answer questions about development with Unity.
To help users navigate the site we have posted a site navigation guide.
If you are a new user to Unity Answers, check out our FAQ for more information.
Make sure to check out our Knowledge Base for commonly asked Unity questions.
If you are a moderator, see our Moderator Guidelines page.
We are making improvements to UA, see the list of changes.
Answers and Comments
8 People are following this question.
Multiple Cars not working
How to increment a Version string everytime Unity is built?
Distribute terrain in zones
MonoDevelop C# Assembly problem: UnityEngine does not exist in current context.
Sync with visual studio 2010 error