I can't seem a way to group assets so that they correctly reference each other when importing in different projects. For example, suppose I create a gun that fires projectiles: I have the gun prefab with the model and textures and bullet-firing script, bullets along with their behaviour scripts, a particle effect for impact etc etc. Everything is in a 'Gun' folder both within Unity and in the project folder on disk. All works fine, but then when I import this folder in to a new project I have to re-link almost everything; everything is there within the folder but it's like the've forgotten their relationships, so I have a wasted 10 minutes resetting textures, scripts etc.
I first noticed this with the mainLevelMesh from the Unity FPS_Tutorial. ( http://unity3d.com/support/resources/tutorials/fpstutorial ) If I open a new project and set it to the 'FPS_Tutorial' folder and then drag mainLevelMesh in to my scene, it is correctly textured. However, if I import that very same folder in to an existing project, the mesh is untextured even though everything is there and the directory structure is the same!
Is there a way around this, as it's making the concept of re-useable assets unfeasible.