Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Mad Compile Time Optimizer - Speed up your development!

Discussion in 'Assets and Asset Store' started by genail, Apr 16, 2015.

  1. genail

    genail

    Joined:
    Jul 2, 2012
    Posts:
    1,045
    logo_red_256.png

    How valuable is your time? Do you know that Unity can compile your project's code changes a lot faster than it does now?

    Meet Mad Compile Time Optimizer. A tool that will reorganize your project directory in a way that will speed up your project's compile times up to 70%*! This mean many hours of recovered time each month!

    * - The actual speed gain depends on your project setup.

    How it is working? There's nothing magical in here. MCTO will move your script files into Unity special folders in a way that will minimize the risk of breaking anything. You can read more about this matter here.

    It is really working? Yes, it is! Is has been tested on various Unity versions from small to medium-large projects.

    What is something goes wrong? Then you can revert it! Mad Compile Time Optimizer will handle your project with caution. If any operation will fail, it will trigger the revert immediately. In other cases you can do the reverting manually. But remember, be safe, always backup your precious project files.

    Features:
    • Working on all Unity versions
    • Keeps track of your optimized files
    • Reverting if something goes wrong
    • Changes stored in files (can be used with any SCM)
    • Well tested


    s1.png


    Links:

    Follow this thread to be informed about new versions. Use it to get support as well :)
     
    Last edited: Apr 30, 2015
    chelnok and Arkade like this.
  2. imtrobin

    imtrobin

    Joined:
    Nov 30, 2009
    Posts:
    1,548
    do u have demo? I have a medium project that my Library folder is over 1M files over 10GB, unity even at 64bit is lagging.
     
  3. genail

    genail

    Joined:
    Jul 2, 2012
    Posts:
    1,045
    Hi imtrobin!

    That's a quite big project :)
    Unfortunately I don't have a demo yet. but if you want to try it, feel free to purchase it and return it back later (as refund request) if you won't be satisfied.

    If you do and if you will encounter any issues, please let me know immediately! It was tested on around 10 small and medium projects without bigger issues (one issue encountered for my project and it was about C# script from 3rd-party script using my game script). Still there may be problems that I couldn't predict :)

    Cheers!
    Piotr
     
  4. imtrobin

    imtrobin

    Joined:
    Nov 30, 2009
    Posts:
    1,548
    I'm traveling for next few weeks so I don't have my dev machine, I will get one when I get back.

    One potential issue is things in Standard Assets get compiled even if there are not used, right?
     
  5. genail

    genail

    Joined:
    Jul 2, 2012
    Posts:
    1,045
    Hi!
    Sure thing!

    I believe you confused Standard Assets with Resources folder. The Resources folder makes assets inside to be included in build even if these are not used. Standard Assets just changes the compilation order (compiling into different assembly). Besides that it works normally (based on documentation).

    Cheers!
    Piotr
     
  6. genail

    genail

    Joined:
    Jul 2, 2012
    Posts:
    1,045
    Hey, We've just created a tutorial video! :)
    You can watch it here:

     
  7. DarkCooker

    DarkCooker

    Joined:
    Jan 7, 2015
    Posts:
    119
    hi genail...
    I have used this asset... to optimize those facebook plugins and social media plugins and all particles scripts using C#.
    However the result is not that significant, the compilation is still using 47xxx to 54xxx ms for every time I change few lines in Mono Editor.

    I have never touched my core project codes because it seems blocking the name space using and afraid of destroying my project...

    Any suggestion?
     
  8. genail

    genail

    Joined:
    Jul 2, 2012
    Posts:
    1,045
    Hi!

    Your project needs about 47 seconds to compile? That's a lot!
    Can you send me a tree listing of your project?

    If you're using Windows then execute:

    dir /s > listing.txt in your Assets folder

    On Mac:

    ls -R . > listing.txt

    Also please tell me in which folder are your own code that you're modifying.

    Cheers!
    Piotr
     
  9. BTStone

    BTStone

    Joined:
    Mar 10, 2012
    Posts:
    1,422
    Super interested in buying this!

    Just one question: how's the workflow on Plugin-Updates?
    Meaning:

    I have a bunch of plugins from the Asset Store (DOTween, 2DToolkit and so on). I use MCTO to optimize the compile time. And then the latest versions of the plugins release. What's to be done then? Just updating?
    And how does that (updating plugins) work with Version Control? We're using Unity Pros Asset Server - there something we should keep in mind?

    Thanks in advance!
     
    punk likes this.
  10. genail

    genail

    Joined:
    Jul 2, 2012
    Posts:
    1,045
    Hi BTStone!

    If you will update optimized assets with the newer version, your project may get broken pretty badly. You will be save only if your files are back to the previous state when doing an upgrade. This is the main reason why MCTO has been born :)

    You can revert the optimization anytime, and you definitely should when you're planing to upgrade your 3rd-party assets. Then you can optimize it again easily. To know more, please read the following section:

    http://mcto.madpixelmachine.com/doc/latest/usage.html#reverting

    If you have more questions, please ask!

    Cheers!
    Piotr
     
  11. BTStone

    BTStone

    Joined:
    Mar 10, 2012
    Posts:
    1,422
    So in order to sync projects with teammates this would be the optimal way:

    - optimizing plugins with MCTO
    - committing
    - when plugins have new updates, revert optimization back with MCTO
    - update plugins
    - optimizing after updating with MCTO
    - committing the new version

    ?
     
  12. genail

    genail

    Joined:
    Jul 2, 2012
    Posts:
    1,045
    Exactly! :)
    You will notice that the reverting process is kinda slow. I'm using Unity API to move files, because Unity have some issues when moving script files without letting him know. Still this is a fully automated process.

    I couldn't make a hook on update buttons from the Asset Store window, so you need to trigger revert, update then optimization manually.
     
    BTStone likes this.
  13. BTStone

    BTStone

    Joined:
    Mar 10, 2012
    Posts:
    1,422
    Ok, great. I think I'll give it a try! :D

    Any plans for future updates for this tool?
     
  14. genail

    genail

    Joined:
    Jul 2, 2012
    Posts:
    1,045
    I'm planing to fix current bugs at first. For instance if you remove optimized asset files, MCTO will get confused and you may need to restart Unity. Then I want more customization options about what should be optimized and how.

    There's really very little that I can do from this point. Different optimization approaches (like detecting unused code) would require too much effort to make it bug free. Yet I though of making GUID database of most popular Unity Store assets so MCTO may be able to select these automatically when optimization window is opened.
     
  15. BTStone

    BTStone

    Joined:
    Mar 10, 2012
    Posts:
    1,422
    Alrighty then. Bought it, used it with ALL our plugins (all in or nothing :p).
    Everything seems to work fine for now, no weird warnings, no errors.

    And of course; compilation time went from 10 secs to 4-5. Awesome!

    I'll write a review once we did more tests (merging scripts and so on), And if something weird should happen, I'll contact you :)
    But as for now: 5 stars! :D
     
  16. genail

    genail

    Joined:
    Jul 2, 2012
    Posts:
    1,045
    That's great!
    To be honest I expected more issues after the release :)

    Please write if you encounter any of those.
    If you have any suggestions, please also let me know :)

    Cheers!
    Piotr
     
    BTStone likes this.
  17. DarkCooker

    DarkCooker

    Joined:
    Jan 7, 2015
    Posts:
    119
    Hi

    I have sent the Directory info to your support@madpixelmachine.com.
    My own scripts are located in ProjectFolder/Assets/Scripts/*
    It is now becoming 50second even I change few lines of code.

    Putting codes inside Standard Assets does not improve much and it also affects release in iOS.

    Thanks
    M40 Dev
     
  18. genail

    genail

    Joined:
    Jul 2, 2012
    Posts:
    1,045
    Hi!
    I've got your directory listing, thanks!

    Compile times can be reduced if you optimize only 3rd party assets. Are you using any? It seems that all the scripts is your code. Am I right?

    If you modify a script that has been optimized, the compile will be about the same (without any gain). What you can do instead is to optimize only directories including code that you're not changing too often. Please read the above documentation page to get to know the details.

    If you won't be satisfied with the results please let me know (though e-mail). We will figure something out :)

    Cheers!
    Piotr
     
  19. sballew7

    sballew7

    Joined:
    Sep 3, 2013
    Posts:
    76
    Hey genail, thanks for the asset. I have found it very helpful.

    One issue I have with it is that it doesn't seem to play well with Git. This is only my guess, as Git will version control any folder that is empty.

    When I optimize an asset, I have issues later on when I try to revert it. My guess is that the folder no longer exists due to losing it through Git.

    The error I get in the Editor log is below. Any ideas what may be going on? Could the optimizer recreate the directories, or would the asset/myself need to ensure that empty directories are kept around? Or am I way off with my guess at the cause?

    Thanks!

    OptimizerException: Error while moving asset: Trying to move asset as a sub directory of a directory that does not exist Assets/AdvancedInspector/Examples/CSharp/CreateDerived/AIExample_BaseClass.cs
    at MadCompileTimeOptimizer.RuleSet+Rule.Revert () [0x00033] in C:\gamedev\projects\Jericho\Jericho\Assets\Mad Compile Time Optimizer\Scripts\Editor\RuleSet.cs:239

    at MadCompileTimeOptimizer.RuleSet.Revert (Boolean removeEmptyDirs, System.Action`2 progressCallback) [0x00058] in C:\gamedev\projects\Jericho\Jericho\Assets\Mad Compile Time Optimizer\Scripts\Editor\RuleSet.cs:112

    at MadCompileTimeOptimizer.RevertWizard.Revert () [0x000ff] in C:\gamedev\projects\Jericho\Jericho\Assets\Mad Compile Time Optimizer\Scripts\Editor\RevertWizard.cs:130

    at MadCompileTimeOptimizer.RevertWizard.OnGUI () [0x00140] in C:\gamedev\projects\Jericho\Jericho\Assets\Mad Compile Time Optimizer\Scripts\Editor\RevertWizard.cs:85

    at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (object,object[],System.Exception&)

    at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x000d0] in /Users/builduser/buildslave/mono-runtime-and-classlibs/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:222

    (Filename: Assets/Mad Compile Time Optimizer/Scripts/Editor/RuleSet.cs Line: 239)
     
  20. DarkCooker

    DarkCooker

    Joined:
    Jan 7, 2015
    Posts:
    119
    Hi
    Actually I am not asking for refund or what but just want to get it done :)
    When I optimize it, the iOS compilation will be failed and I need to revert it manually one by one.

    Am I doing something wrong?

    Thanks
     
  21. genail

    genail

    Joined:
    Jul 2, 2012
    Posts:
    1,045
    Hi!

    I'm glad that you're happy with MCTO :)
    Please write to me to support@madpixelmachine.com with your invoice no. I will send you yet the preview version that is fixing this issue.

    Cheers!
    Piotr
     
  22. genail

    genail

    Joined:
    Jul 2, 2012
    Posts:
    1,045
    @M40 Dev Can you write to me on Skype? I will send you my ID in a moment.
     
  23. phoenixrising

    phoenixrising

    Joined:
    Aug 9, 2013
    Posts:
    57
    Firstly, I really like this asset and it is in general a big help. However, it has some issues which need improvements. The biggest problem I have currently is that when I switch platforms from ios to android, then an error appears and thus no asset store plugins load and thus I cannot move the source code back to get it to compile!!! (I used fast platform switch)
    I do not know if this would occur with build settings switch platform. (because it takes me about an hour or more to use)
    Reverting was a huge PITA.
    Also, the same issue occurs when I move the project onto a new computer with the project set for android, I open unity and then it has an error and then nothing works and I must revert everything.

    I was thinking that perhaps a solution / fix could be that an empty project with only mad compile time in it could change a different project (revert a different project)???

    That would really help and save a ton of time and effort trying to revert a project after I use mad compile time.

    Basically, I need a way to revert projects (to get them to compile without errors) when the project wont load because of errors.

    Or even better a way to switch platforms from ios to android.
     
    Last edited: Jul 20, 2015
  24. genail

    genail

    Joined:
    Jul 2, 2012
    Posts:
    1,045
    Hi!
    Thank you for purchasing MCTO!

    I am aware of this issue :/ I wonder if building MCTO code as a dll will solve this issue. I saw that Console Pro did that and when there are compiler errors even when the project is launched, Console Pro is still there.

    Building it as DLL shouldn't be so difficult. Please write to me on support@madpixelmachine.com with your invoice no. and I will send you the preview version as soon as I will have it :)

    Cheers!
    Piotr
     
  25. genail

    genail

    Joined:
    Jul 2, 2012
    Posts:
    1,045
    Important update for the followers.

    Mad Compile Time Optimizer 1.2.0 will be released as a DLL with sources included as a ZIP file. I don't want to restrict the access to source files from MCTO users (that's why a ZIP file). but building it all as a DLL has one big advantage over using regular script files. If project will fail to compile due to failed optimize/revert, MCTO will still be working.

    Warning: Upgrading MCTO to 1.2.0 will require from you to manually remove all sources files from Scripts/Editor. After the upgrading you will be notified about that by information window.

    Soon available on Asset Store :)
     
    Arkade likes this.
  26. genail

    genail

    Joined:
    Jul 2, 2012
    Posts:
    1,045
    Mad Compile Time Optimizer 1.2.1 has been released!

    If you ask where's the announcement about 1.2.0 then I will confess that 1.2.0 included bug that made reverting impossible (for assets optimized before 1.2.0 version). If anyone upgraded to 1.2.0, please upgrade to 1.2.1 immediately.

    MCTO 1.2.1 is a version that is distributed as a DLL (with sources in a zip file). If you're upgrading MCTO please manually remove all the source files from Mad Compile Time Optimizer/Scripts/Editor directory BUT DO NOT DELETE Mad Compile Time Optimizer directory! After removing script files you have to restart your Unity Editor.

    Why a DLL file instead of source files? I explained it in the previous post :)

    Remember to backup your project before upgrading!

    Cheers!
    Piotr
     
  27. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    Hey I just bought this plug (we really need it), but I get the following error when I open the Optimize window:

    ArgumentException: An element with the same key already exists in the dictionary.
    System.Collections.Generic.Dictionary`2[System.String,MadCompileTimeOptimizer.Directory].Add (System.String key, MadCompileTimeOptimizer.Directory value) (at /Users/builduser/buildslave/mono-runtime-and-classlibs/build/mcs/class/corlib/System.Collections.Generic/Dictionary.cs:404)
    MadCompileTimeOptimizer.OptimizeWizard.LoadSelected ()
    MadCompileTimeOptimizer.OptimizeWizard.OnEnable ()
    UnityEditor.EditorWindow:GetWindow(Boolean, String, Boolean)
    MadCompileTimeOptimizer.OptimizeWizard:OpenWizard()
    MadCompileTimeOptimizer.MenuItems:OptimizeWizard()

    Since it's a DLL, I can't tell you what the duplicate by debugging :(

    Also, attempting to optimize a single plugin fails to delete the old file after copying it. Maybe that's due to the above though. Please advise, our compile times are horrendous!
     
    Ony likes this.
  28. genail

    genail

    Joined:
    Jul 2, 2012
    Posts:
    1,045
    Hello Jerotas,
    Thank you for purchasing MCTO!

    That's something new... I will try to debug it immediately. Can you show me your Optimize window screenshot?

    P.S. I love your Master Audio plugin! I'm using it in my project and I am very satisfied :)

    Edit: I will send you the modified version using PM.
     
  29. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    Ok we'll work this out in the other conversation you started with me. Thanks!
     
  30. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    upload_2015-8-21_23-49-50.png

    It also corrupted one of my assets (SSAO Pro) when reverting. Upon reverting it advised me to delete SSAO Pro which I did. Now I am stuck in a constant feedback loop where this pops up. Even if I reboot the computer, it pops up with this (incorrect) error.

    I am not running 2 instances. I also dislike your asset rebooting my copy of unity without my permission. Perhaps allow me to restart unity manually. I do not want it to restart Unity for me - which clearly has led to this endless loop and I can't get back into my project. I can open all other projects.

    I even removed your asset manually to try and get back into my project. It seems you have altered a setting somewhere in the project that keeps it doing this. How do I restore the behaviour where it will not do so?

    Actually I believe this might occur if someone has the show projects option on startup selected. In any case your asset was initially promising.

    Thank goodness for version control ;)
     
  31. cj31387

    cj31387

    Joined:
    May 23, 2012
    Posts:
    143
    Does this help with the first time loading up unity and hitting play? I've noticed since unity 5 and having a lot of assets the first time i hit play on unity it takes a long time to load. I didn't have this problem much with unity 4. Everytime i restart my computer and reload my project it literally takes 30-40 seconds to cache everything and play. Will this help reduce that?
     
    Ony likes this.
  32. Lork

    Lork

    Joined:
    Jul 12, 2013
    Posts:
    79
    This is having some trouble with the Camera Shake asset.

    After optimization I get a bunch of errors like this:
    Code (csharp):
    1.  Assets/Standard Assets/Editor/Camera Shake/Editor/Source/Thinksquirrel/CShakeEditor/CameraShakeEditorHelpers.cs(28,96): error CS0103: The name `VersionInfo' does not exist in the current context
    Visual Studio tells me that the offending names are inaccessible due to protection level. I've also noticed that VS treats the line "using Thinksquirrel.CShake.Internal;" as redundant after optimization, and that's the namespace with all of the now inaccessible code. Any idea what's going on or whether it can be fixed? I could always just leave it un-optimized, but I'm sure you'd rather make your tool more robust anyway.

    Seems to be working fine other than that.
     
  33. mgmhunt

    mgmhunt

    Joined:
    Apr 1, 2013
    Posts:
    61
    Just got this and trying it out. My Revert dialog box has three entries (checkboxes) for each 'asset to revert'... this makes me worried for the future.... Would it be best to check them all for a particular asset?.... seems like a bug. (although the optimisation stage worked fine)
     
  34. genail

    genail

    Joined:
    Jul 2, 2012
    Posts:
    1,045
    @hippocoder @cj31387 I'm sorry you two being quiet. I hate how Unity forum is sending notification. I haven't clicked on previous jerotas e-mail notification and no further notifications has been sent :/ This is not the first time this happened to me.

    For the followers:
    If your question here is unanswered for more than two days (not counting weekends) then please write to support@madpixelmachine.com.

    @hippocoder
    Wow this is first time I am hearing of something like this. Let me explain why it is working like that.

    I am forcing the restart because of Unity 4 bug that after moving script files from Standard Assets/Plugins directory to regular directory will yield a compiler error (not compilation error) and breaks Unity ability to compile anything (it just stops right there). Restarting may be not needed in Unity 5 because I already noticed that many script-moving bugs has been fixed (rewritten?) but as nobody reported me issues like that, this was not high priority task.

    I'm not understand one thing though. How it did advised you to delete SSAO? I cannot recall this kind of message, or maybe one of my messages is not clear enough?

    @cj31387 No, I think not. It does affect the compilation process because Unity can compile things to multiple assemblies. MCTO is helping you to make the most recompiled assembly the smallest one.

    @Lork I believe that Camera Shake is keeping its sources in more than one directory. You should localize where VersionInfo is and optimize it too.

    @mgmhunt Thank you for the purchase! :) You will see only optimized assets in the Revert window. If there's something off with this window? Please show me the screenshot.

    Cheers!
    Piotr
     
  35. Lork

    Lork

    Joined:
    Jul 12, 2013
    Posts:
    79
    I just checked and nope, VersionInfo is in a subfolder of the same directory as the rest of the code, and is moved along with everything else when I "optimize" the Camera Shake folder.

     
  36. genail

    genail

    Joined:
    Jul 2, 2012
    Posts:
    1,045
    I will write to you using PM to not spam in this thread too much :)
    I will post a solution here at the end.
     
  37. zhuchun

    zhuchun

    Joined:
    Aug 11, 2012
    Posts:
    433
    Ah! It really sounds promising! I spend lots of time to wait editor compile scripts everyday. But before purchase, is it works with any assets? I mean there're lots of compatibility problems themselves, JIT/AOT/64bit etc. Will this asset make EXTRA troubles? Thanks.
     
  38. genail

    genail

    Joined:
    Jul 2, 2012
    Posts:
    1,045
    Hi!

    It works only in the editor and it does nothing special to the sources but move them to different places. In your project folder. You can read more about it here.

    It should work with all assets but there's small chance that some assets may cause troubles. Nothing that cannot be solved, so please write to me if this happens :)

    P.S. Of course please backup your project before optimizing anything.

    Cheers!
    Piotr
     
    zhuchun likes this.
  39. mgmhunt

    mgmhunt

    Joined:
    Apr 1, 2013
    Posts:
    61


    Although I've tried checking three boxes for one of those assets, reverting, and then re-optimising and it only appears once (see top item, before this was three just like the others).
     
  40. zhuchun

    zhuchun

    Joined:
    Aug 11, 2012
    Posts:
    433
    Hi, there's a move directory option in optimize panel, what's the difference between "Standard Assets" and "Plugins"? Are they platform-related?
     
  41. iamsam

    iamsam

    Joined:
    Dec 22, 2013
    Posts:
    233
    Since the original scripts are moved to either the standard assets or plugins folder, how are asset updates handled? For example if I have to update an asset, do I need to "Revert" it so that the script goes back to the original location, update that asset and then "Optimize" again? Thanks.
     
  42. genail

    genail

    Joined:
    Jul 2, 2012
    Posts:
    1,045
    @mgmhunt How this can be?
    If you optimize your asset you're receiving 3 entries every time?
    Could you please send me your MCTO directory contents to support@madpixelmachine.com?

    @zhuchun There's no meaningful difference between this two. I received feature request about this. Seems like some people already have one of this directory in the project so you have the option to choose if you'd like to use existing directory or create new one.

    @iamsam That's right! :)
     
    zhuchun likes this.
  43. gskinner

    gskinner

    Joined:
    Aug 28, 2014
    Posts:
    43
    Thanks for the handy plugin, my compile times went from 6.5 to 3.5!

    I'm having some issues though, with a bunch of my plugins not being visible in VisualStudio.

    The app compiles fine in Unity, but in VisualStudio, I have a slew of errors with missing dependancies for the following packages:
    * TextMeshPro
    * InControl
    * Spriter2UnityDX

    All errors are the same "The type or namespace name '______' could not be found (are you missing a using directive or an assembly reference?"

    Any ideas?
     
    Last edited: Sep 17, 2015
  44. gskinner

    gskinner

    Joined:
    Aug 28, 2014
    Posts:
    43
    Also, seems like I've found a bug, reproduced it twice in a row now.

    * After optimizing TMPro, InControl and Spriter2UnityDX, I get compile errors in VS, so I open the "revert" dialog, and revert all 3 libs.
    * Get a message that "Unity is restarting"
    * Unity re-compiles one time, and then becomes unresponsive. Can't close it, can't interact with anything, its totally frozen.
    * Force-Kill Unity w/ Task Manager, and restart.
    * The files have been moved out from Standard Assets, but MCTO still thinks they're optimized when I open it's dialog.
    * Try to Revert them again, MCTO throws an error instructing me to "Force"
    * Try to "Force" revert,
    * Unity restarts correctly, and MCTO is now aware that the assets have been reverted.

    This happened twice in a row, exactly the same behavior both times.
     
  45. iamsam

    iamsam

    Joined:
    Dec 22, 2013
    Posts:
    233
    @genail Thanks! The plugin definitely works well and shaved off compile time in about half in my case. However I am still not sure if I will be using it as there is a trade off between low compile times and having to remember each time to revert the asset before updating it (In a huge project it is sometimes impossible to remember this). I wish that Unity would provide an option as to where one can install an asset and then use that folder for updates too, will make everyone's life much easier.

    Edit: Forgot to mention that for low end machines with high compile times this is a must have asset as it will surely reduce the compile times significantly and increase productivity.
     
  46. genail

    genail

    Joined:
    Jul 2, 2012
    Posts:
    1,045
    Hi!

    First about missing dependencies: MCTO Cannot find dependencies, so if your assets need another assets, you should optimize all the dependencies.
    Most probably the problem exists because some assets does not unpack to a single directory. If a type is missing try to localize it, revert and optimize including that folder.
    There's one more possibility. This is rare, but some assets contains internal (not public) classes accessed from editor scripts. The only solution to this case is to make these classes public, but I've found only one case like this.
    If you won't be able to localize the dependency, please write to me to support@madpixelmachine.com. We will continue from there :)

    About the bug: This seems like Unity bug. It should not freeze during compilation time under any circumstances. What Unity version are you using?

    @iamsam If you're interested, I have a beta version here that does not require to revert your assets before upgrading. It' has not been tested well enough so I couldn't send it o to the Asset Store on the time like this :) If you're interested, please send me your order number to support@madpixelmachine.com.

    Cheers!
    Piotr
     
  47. Intentor

    Intentor

    Joined:
    Jul 24, 2013
    Posts:
    94
    Amazing asset, easy to use and saves a lot of time!

    I think it'd be nice to have an option do remove all empty directories from the source optimization. All those empty directories are just bloating the project view!
     
  48. genail

    genail

    Joined:
    Jul 2, 2012
    Posts:
    1,045
    Hi Interior,
    Thank you for purchasing MCTO! :)

    I could do that, but there are only rare cases when optimizing an asset will leave these directories completely empty. Usually there are example scenes, readme files, documentation pdf file, textures, materials etc. inside. I am leaving these things in the original place to not confuse the user if he decides to search for it.

    Also in the next version these directories will be used to watch for new scripts (when upgrading an asset) :)

    Cheers!
    Piotr
     
  49. Intentor

    Intentor

    Joined:
    Jul 24, 2013
    Posts:
    94
    Thanks for the reply!

    It seems interesting to use those directories as a way to check for upgrades! Looking forward to check it out!

    But I do think an option to remove any empty folders left behind (only really empty folders, not the ones with materials, textures, documentation. etc.) would be nice to improve organization.
     
  50. iamsam

    iamsam

    Joined:
    Dec 22, 2013
    Posts:
    233
    @genail that sounds great. I will send an email across soon. Thanks for letting me know about the update, if it works this would be the ultimate plugin to increase productivity :).