So I’ve started trying out a workflow - I want to compile my DLLs from VS and copy them for use from within Unity.
The principle works fine, but it seems that once I’ve loaded the external DLL, Unity won’t release its file lock on it unless I quit the IDE, so I can’t easily replace it with updated versions.
Is there any way to completely stop the script execution engine, so the lock can be released?
In the last step, you wrote “Open Unity” - does that mean you actually restart Unity for each cycle?
Or do you just use a Unity “stub” - a pre-built Unity exe with just a single launcher script kicking the external DLL, and be done with the IDE altogether? I’ll be going there eventually, but while getting started with Unity I think it might be of some use.
Cmd-P seems to be equivalent to the Play button. Either way, it doesn’t help - the DLL is still locked. Also tried Refresh, same thing.
I guess I could read the DLL as a binary stream first and instantiate it from memory instead of the file, but that’s ugly. Not sure what happens with conflicting assemblies in the same AppDomain either. Any other ideas?
(BTW, is it just me, or is the server this forum is running on really slow…?)
Did you minimize / push away the editor? while it is in focus it does “realtime compilation” (Unity works similar to Eclipse on that end) which will not allow you to modify any assembly as they are locked for assembly reference access
You only need to stop playing and put it in the background by making another app active and the assembly should be “unlocked”
Is Cmd-H equivalent to what you’re describing (I’m new to OSX)? First I stop, then hide with Cmd-H, and then try to copy the file… same message as before: “The operation cannot be completed because the item [ ] is in use”