- Home /
How do I get rid of "Assembly-CSharp-firstpass" and "Assembly-CSharp-firstpass.dll" from my Assets?
I accidentally moved a .dll file to my Assets in the Unity3D editor. Now, every time it compiles the scripts, it puts them back in there (even after I delete them), and that causes an error in my game an won't allow it to run. How do I get rid of these two files for good?
Answer by Bunny83 · Jan 12, 2014 at 10:08 AM
The Assembly-CSharp-firstpass.dll contains all your compiled scripts which are compiled during the first-pass. That means if you don't want Unity to create the first pass assembly you have to remove all scripts from the "Standard Assets" folders and the "Plugins" folder and move them somewhere else. However you usually move files on purpose into the first-pass to allow script access from other languages.
Maybe you accedentally moved one of your scripts into the first-pass. Scripts in the first-pass can't access normal scripts (outside the Standard Assets / Plugins) since they are compiled seperately. When the normal scripts are compiled (into the Assembly-CSharp.dll), the compiler includes the first-pass dll in the references so normal scripts can use those from the first-pass.
Thank you for the help. I ended up deleting the project and copying/pasting my code, as it was only a couple of scripts and approximately 5-10 $$anonymous$$utes of work (at the most, I think). In the future, if I ever have a very large project and make a mistake like this, I will not be able to exploit such an easy solution, and I still don't quite understand the solution. Thank you again for the helpful answer.