Search Unity

Rainbow Folders - Custom folder icons in the project browser? Easy!

Discussion in 'Assets and Asset Store' started by PhannGor, Jun 18, 2016.

  1. PhannGor

    PhannGor

    Joined:
    Feb 5, 2015
    Posts:
    137
    Have you ever thought about highlighting often used project folders? This simple but colorful asset allows you to do that!

    With Rainbow Folders, you can set a custom icon and background for any folder in Unity project browser.

    Just hold the Alt key and click on any of your folders. A configuration dialog will appear, and you'll be able to assign a custom icon and background for it, your own one or chose from dozens of presets!

    Features:

    • Change icon and background for any folder in the Project window.
    • Change icon or background for multiple folders at once
    • Apply custom icon and background for all subfolders automatically
    • Optional row shading and project tree outlines
    • More than 70 pre-made icons included
    • Supports Unity Collaborate overlay
    • Supports Unity Version Control overlay
    • Source code included
    Screenshots:
    01.png

    02.png

    03.png

    04.png

    Changelog:
    v2.0
    • Folder icons are now actually replaced instead of drawing them on top of default ones
    • All included icons now are baked into the code and will no longer bother you when picking/searching your own textures
    • Added optional project tree outlines
    • Added optional row shadingAdded “transparent” folder icons
    • Improved compatibility with Unity 2018.3 and Unity 2019.1
    • Fixed bug with wrong icons offset when fully zoomed out in “Two Column” mode
    v0.9.3
    • Better compatibility with Unity 2018.2
    • A number of small optimizations and fixes
    v0.9.2
    • Fixed bug with missing EditorWindow when building player
    v0.9.1
    • Fixed bug with possible conflicts with existing AssemblyInfo attributes from other assets
    • Fixed typo for a crimson color name in the various context menus
    v0.9
    • Added option to apply custom backgrounds for folder names
    • Added 24 background presets
    • Better compatibility with Unity 2017.2
    v0.8.1
    • Compatibility fix For Unity 2017.1
    • Fixed bug with Unity Collaborate overlay when icons scale changed
    • Fixed bug with Unity Version Control overlay when icons scale changed
    v0.8
    • All icons have been completely reworked
    • Added 12 new folder colors
    • Added 12 new folder tags
    • Added 3 new folder types (Animations, Physics, and Flares)
    • Fixed bug when the Rainbow Folders menu item appeared on top of the context menu
    • Fixed bug with applying icons recursively by name, when root icon didn't appear correctly
    v0.7.1
    • Added support for Unity Version Control Overlay (beta)
    v0.7
    • Added option to change modifier key for the configuration dialog
    • Added support for Unity Collaborate (beta)
    • Install “Rainbow Folders” to the Plugins folder by default
    • Compatibility fix For Unity 5.6.0 beta
    v0.6
    • Added option to apply custom icon for all subfolders automatically
    • Compatibility fix For Unity 5.4.4
    v0.5.1
    • Added back the context menu, according to numerous requests
    • New platform icons (Android, iOS, Mac, WebGL, Windows)
    • Minor bugfixes
    v0.5
    • Improved workflow: change icons with alt-click on a folder, right in the project view.
    • Added possibility to change icons for multiple folders at once
    • Added option to move "Rainbow Folders" wherever you want in your project
    • Got rid of the "Editor Default Resources" folder.
    • Fixed the "Scripts" icon appearance for the dark theme
    • Minor bugfixes
    v0.3
    • Apply color "tags" for folders from context menu
    • Support for colorizing/tagging folders from left column view when in two-column layout
    • Support for batch colorizing/tagging folders (select multiple folders and colorize/tag from context menu)
    • Now keeping all settings assets in Editor Default Resources folder so they are not included in a build.
    • Changed namespace for Rotorz reorderable list, to avoid conflicts with existing installs of Rotorz plugins
    • Fixed error messages in Unity 5.0.4x when loading settings
    • New icons (Fonts, Shaders, Terrains, Meshes)
    • New icons from community
    v0.2.1
    • Few more icons added
    • Folder structure simplified
    • Minor bugfixes
    • Docs updated

    We would appreciate if you'll rate it and leave feedback. Thank you!
     
    Last edited: Apr 14, 2019
  2. ForceMagic

    ForceMagic

    Joined:
    Feb 27, 2015
    Posts:
    36
    Greetings,

    I have a question regarding your tool. Is there an API that can be use to modify folder colors at Editor time (in an EditorWindow) for instance?

    Thanks
     
  3. PhannGor

    PhannGor

    Joined:
    Feb 5, 2015
    Posts:
    137
    Hi @ForceMagic,

    I'm not sure I understand your question, but the general answer is "No" - Unity doesn't have any API to manipulate with folder icons. This asset uses a tricky workaround and draws custom icons just over default ones.
     
  4. ForceMagic

    ForceMagic

    Joined:
    Feb 27, 2015
    Posts:
    36
    I meant, can I use your tool in my own Editor Window to change a folder color. So I'd need some sort of API that you might have written to change the color without using the UI (Right click etc..)

    Something like

    RainbowColor.SetFolderColor(myFolder, aColor);
     
  5. PhannGor

    PhannGor

    Joined:
    Feb 5, 2015
    Posts:
    137
    Well, it doesn't work in that way, this asset does NOT change colors for folders, it draws custom icons over default ones in project view.
     
  6. PhannGor

    PhannGor

    Joined:
    Feb 5, 2015
    Posts:
    137
    If you want to change custom icons from code, you need to look at RainbowFoldersSettings.cs. It's a typical scriptable object that contains the list of RainbowFolder.cs items, which determine icons for what folders should be overdrawn.
     
  7. ForceMagic

    ForceMagic

    Joined:
    Feb 27, 2015
    Posts:
    36
    Understood, thanks a lot for your explanation and your time.
     
  8. ForceMagic

    ForceMagic

    Joined:
    Feb 27, 2015
    Posts:
    36
    Just to note that I included RainbowFolders in my project and I was able to use it as I wanted inside a custom Editor script that I wrote.

    So it is possible to set folder color with RainbowFolders API.

    Code (csharp):
    1.  
    2.             var folderIcons = FolderColorsStorage.Instance.GetIconsByColor(FolderColors.Green);
    3.  
    4.             // Note that relative path must use Forward Slash!
    5.             RainbowFoldersSettings.Instance.ChangeFolderIconsByPath(relativePath, folderIcons);
    6.  
     
    PhannGor likes this.
  9. PhannGor

    PhannGor

    Joined:
    Feb 5, 2015
    Posts:
    137
  10. iivo_k

    iivo_k

    Joined:
    Jan 28, 2013
    Posts:
    312
    Could you use a Editor/Resources folder or something instead of EditorDefaultResources, which needs to be at the root level?
     
  11. PhannGor

    PhannGor

    Joined:
    Feb 5, 2015
    Posts:
    137
    @iivo_k,

    Unfortunately, assets from Editor/Resources folder are NOT stripped from player builds and will be packaged with your game files. In order to avoid this we use the "Editor Default Resources" folders.
     
  12. FeenikxFire

    FeenikxFire

    Joined:
    Oct 9, 2015
    Posts:
    1
    @PhannGor I would love to see more colours added to the available list. Black, White.

    Also what about more folder types?
    - Animation
    - Images
    - Assets
     
    PhannGor likes this.
  13. iivo_k

    iivo_k

    Joined:
    Jan 28, 2013
    Posts:
    312
    The Editor Default Resources folder makes it unusable for us though. :/ The new Unity PostProcessing project also had this problem but they changed stuff and fixed it. I think they're now just loading the assets by providing the paths. I'm just hoping there is some other way than to use the Editor Default Resources folder.
     
    PhannGor likes this.
  14. PhannGor

    PhannGor

    Joined:
    Feb 5, 2015
    Posts:
    137
    Agree that using Editor Default Resources isn't the best approach. Definitely will look for alternatives when I have some free time.

    Meanwhile, it's open soruce, so don't hesitate to send me your pull requests on GitHub if you'll figure it out faster ;)
     
  15. Marc-Saubion

    Marc-Saubion

    Joined:
    Jul 6, 2011
    Posts:
    287
    Hi.

    I just tried to use RF in my current project but I'm also using the new unity collab function. The later works lite github and ad visual tags to folders dpending on their updated status. When using RF it overrides the collab display. I hope this won't be to much trouble to solve.

    Thanks again for the asset.
     
    PhannGor likes this.
  16. PhannGor

    PhannGor

    Joined:
    Feb 5, 2015
    Posts:
    137
    Hi @Marc-Saubion,

    Didn't use unity collaboration functionality yet, definitely need to give it a try. Unfortunately, there is no clean API to draw custom icons in the project browser, so RF just draws custom icons over default ones (and probably collab tags).

    Will try to find workaround for this, but no promises about terms. Could you please create the issue on GitHub also?
     
  17. PhannGor

    PhannGor

    Joined:
    Feb 5, 2015
    Posts:
    137
    Good news guys! I got rid of the "Editor Default Resources". Now you can freely move "Rainbow Folders" wherever you want, just specify its location in Preferences.



    You can get the new version from development branch right now, or from asset store a bit later.
     
    Last edited: Dec 8, 2016
    iivo_k likes this.
  18. Izitmee

    Izitmee

    Joined:
    Jan 27, 2011
    Posts:
    3,228
    Hi,

    I love Rainbow Folders, but the last ALT+CLICK update made it completely unusable to me. In general, a rule when developing assets is to never rely exclusively on keyboard shortcuts, since there might be other assets that eat them. In my case, ProBuilder is eating the ALT key, and thus I have no way to change icons with Rainbow Folders. Please implement a right-click context menu too, I can't live without Rainbow Folders :)

    Cheers,
    Daniele,

    P.S. Also added this as an issue on github
     
    NeatWolf and PhannGor like this.
  19. Izitmee

    Izitmee

    Joined:
    Jan 27, 2011
    Posts:
    3,228
    P.P.S. Found a way to edit folders in the meantime, but directly editing the RainbowFolderSettings scriptableObject :)
     
  20. PhannGor

    PhannGor

    Joined:
    Feb 5, 2015
    Posts:
    137
    Hi Daniele,

    Thanks for pointing this out. Will fix as soon as possible!
     
    Izitmee likes this.
  21. PhannGor

    PhannGor

    Joined:
    Feb 5, 2015
    Posts:
    137
    @Izitmee,

    It's fixed now in the development branch. I've added back the context menu per your request, just to duplicate all functionality in case ALT event doesn't work.

    Probably, I will add some option to select key modifier in near future. It would be a better solution in case you have keybinding conflicts with other assets.
     
    NeatWolf likes this.
  22. Izitmee

    Izitmee

    Joined:
    Jan 27, 2011
    Posts:
    3,228
    That is awesome, and so quick! Thank you a lot :)
     
  23. NeatWolf

    NeatWolf

    Joined:
    Sep 27, 2013
    Posts:
    868
    Hi! I'm so glad you decided to monetize this asset, this means you're going to keep supporting it in the future! :D

    Could you please add real blue now to the blue icon that is now almost violet? :D



    PS: thanks for bringing back the old system, I really didn't like the ALT+click way to do that.

    Is there a way to keep the standard "database" separate from the custom one we define by linking paths or names to the icons?

    On every asset update we keep losing all of our customization as it is right now :(
     
    PhannGor likes this.
  24. PhannGor

    PhannGor

    Joined:
    Feb 5, 2015
    Posts:
    137
    Hi @NeatWolf,

    I remember about your request regarding the "blue" blue icon. Will fix it in one of the upcoming updates.

    Regarding the issue with the "database", it's pretty easy to manage. You just need to backup the

    /RainbowFolders/Editor/Data/RainbowFoldersSettings.asset


    file before the asset update and restore it back afterward. Good catch btw, I'll add this info to the docs.
     
    NeatWolf likes this.
  25. NeatWolf

    NeatWolf

    Joined:
    Sep 27, 2013
    Posts:
    868
    Thanks @PhannGor!

    Sure, I could backup the main database and restore it, but what if you added or changed more custom icons to the default database with an update in the meanwhile? I'd lose those changes.
    I'm only suggesting that having a separate database for our custom entries would be a nice addition :)

    Keep up with the good work!

    Cheers,
    Alessandro Salvati
     
  26. YuriyVotintsev

    YuriyVotintsev

    Joined:
    Jun 11, 2013
    Posts:
    33
    Hi, Thank you for this Asset. I love it.
    Could you please add one small feature: in field with "path" or "name" variants add one more: "path with subfolders".
     
    PhannGor and NeatWolf like this.
  27. NeatWolf

    NeatWolf

    Joined:
    Sep 27, 2013
    Posts:
    868
    I love the idea, +1.
    Of course we'd still like to be able customize one or 2 folders inside one of those root folders
     
    PhannGor likes this.
  28. PhannGor

    PhannGor

    Joined:
    Feb 5, 2015
    Posts:
    137
    Yep, that's definitely a good idea. I have this "recursive icons" feature on the roadmap for a long while and now it's time to implement it. Rough ETA is February-March.
     
  29. PhannGor

    PhannGor

    Joined:
    Feb 5, 2015
    Posts:
    137
    @YuriyVotintsev

    Btw, upgrade the Rainbow Folders to the latest version, it will fix your issue with wrong icon offsets in Unity 5.5 ;)
     
  30. PhannGor

    PhannGor

    Joined:
    Feb 5, 2015
    Posts:
    137
    That's the hardest part and the reason it isn't implemented yet :)
     
  31. johanneskopf

    johanneskopf

    Joined:
    Feb 16, 2015
    Posts:
    52
    Hi,

    First of all great asset! Love the colors.

    I like to have a clean project structure, therefore I move my assets to the plugins folder.
    When I do this with RainbowFolders, it tries to access the wrong paths. Is there a way to set a path for this asset?
    EDIT: Nevermind, found the option in the preferences.
    EDIT2: Is there a way to check-in this setting into version control?
    Seems like this settings is only saved locally, am I right?
     
    Last edited: Jan 13, 2017
  32. PhannGor

    PhannGor

    Joined:
    Feb 5, 2015
    Posts:
    137
    Yes, in preferences. And it's described in the documentation ;)
     
  33. TokyoDan

    TokyoDan

    Joined:
    Jun 16, 2012
    Posts:
    1,080
    What is the proper way to upgrade? I deleted RainbowFolders from it's default location in my Assets folder. Then in the Asset Store updated the asset them imported it into my project into the default location: Assets/RainbowFolders. Now I get this error:

    Could not load Assets/RainbowFolders\Editor/Data/RainbowFoldersSettings.asset
    Did you move the "Rainbow Folders" around in your project? Go to "Preferences -> Rainbow Folders" and update the location of the asset.


    When I check Preferences -> Rainbow Folders, the location is correct.
    How do I get rid of that error?
     
  34. PhannGor

    PhannGor

    Joined:
    Feb 5, 2015
    Posts:
    137
    Hi @TokyoDan,

    That sounds weird. Please check that:
    • The Preferences -> Rainbow Folders -> Folder Location starts with the "Assets/" prefix.
    • You have the RainbowFoldersSettings.asset file in the Data folder.
    Untitled-1.png
     
  35. PhannGor

    PhannGor

    Joined:
    Feb 5, 2015
    Posts:
    137
    Also, there is a small possibility that Unity Editor cached something by itself. To check this, create a new project from scratch and import the Rainbow Folders asset there. Try change asset location to the same as in your original project. If all works fine in this case, then
    • Close Unity Editor
    • Make a backup for your original project
    • Try to remove Library and Temp folders in the project root folder
    • Run Unity Editor and open your project
    • Let me know if this helps :)
     
  36. TokyoDan

    TokyoDan

    Joined:
    Jun 16, 2012
    Posts:
    1,080
    Hi. Thanks for your help.

    I never moved the folder from it's original import folder which is always "/assets/RainbowFolders".

    Do you mean in the new project to point the asset location to the actual location of RainbowFolders in the old project? as in:
    "/OldProject/assets/RainbowFolders".

    I don't have a Temp folder (I'm on Windows 10). I tried removing the Library folder and reopened the project but this didn't help. I get the same errors.

    Where is the info for each colored folder kept? Is that info removed if the RainbowFolders asset is removed?
     
  37. TokyoDan

    TokyoDan

    Joined:
    Jun 16, 2012
    Posts:
    1,080
    ..
    I missed this previous post.
    The Folder Location starts with the "Assets/" prefix.
    I don't have RainbowFoldersSettings.asset file in the Data folder. The only file in there is FolderPlatformsStorage.asset (Even after deleting the RainbowFolders asset and reimporting it.)
     
  38. TokyoDan

    TokyoDan

    Joined:
    Jun 16, 2012
    Posts:
    1,080
    Hmmm. I copied all those missing files from a completely new and clean project (into which I imported RainbowFolders) into the bad project's Data folder and that fixed it.
     
    PhannGor likes this.
  39. PhannGor

    PhannGor

    Joined:
    Feb 5, 2015
    Posts:
    137
    Glad to hear that all works fine now!

    Unfortunately, I have no idea why unity didn't want to import those settings files at the first place. They are 100% included in the package, as you can see from the asset page on the store:

    Untitled.png
     
  40. TokyoDan

    TokyoDan

    Joined:
    Jun 16, 2012
    Posts:
    1,080
    If I import into a new project, or even into an old project that never used Rainbow Folders then there is no problem. But opening a project with the previous version of Rainbow Folders, deleting that asset, then importing a newer version of Rainbow Folders causes that problem. You may want to try that, and also post a recommended way to update. e.g. Delete old version then import new version (may cause my problem). Or just reimport new version overwritting old version (I haven't tried this).
     
    PhannGor likes this.
  41. Xarbrough

    Xarbrough

    Joined:
    Dec 11, 2014
    Posts:
    569
    Thanks for this nice asset, I just bought in on the store!

    What are your guys standpoints towards the overhead of such nice-to-have tools in large projects? I'm always a little worried that my editor, import and compilation times will become very slow at some point.

    Do you just put something like this in the Plugins folder and be done with it? Or do you think it would make sense to build it as a single .dll library before importing?
     
    PhannGor likes this.
  42. PhannGor

    PhannGor

    Joined:
    Feb 5, 2015
    Posts:
    137
    Hi @Xarbrough,

    You can just move this asset to the Plugins folder and that's should be good enough, AFAIK.
    Btw, are you familiar with two rules of program optimization?
    • "The First Rule of Program Optimization: Don't do it. The Second Rule of Program Optimization (for experts only!): Don't do it yet." — Michael A. Jackson
     
  43. Xarbrough

    Xarbrough

    Joined:
    Dec 11, 2014
    Posts:
    569
    Thanks, and yea, I have that guideance in mind most of the time. Currently I'm working on a project with 6k MonoBehaviours and uncountable other assets and it's gotten to close to the deadline to split up the project, but it's becoming unbearable. So next time, I want to start thinking about these things before it becomes unmanageable. xD

    Anyway, cool plugin!
     
    PhannGor likes this.
  44. JuanJSAR

    JuanJSAR

    Joined:
    Feb 21, 2014
    Posts:
    29
    --==TRANSLATOR==--
    Good afternoon I would also like to change the icons to the "Scripts" or objects like "Assets"
    How could this be done?
    Thank you for your attention.

    --==ESPAÑOL==--
    Buenas tardes me gustaría cambiar también los iconos a los “Scripts” o a objetos tipo “Assets”
    Como se podría hacer esto?
    Gracias por la atención prestada.
     
  45. PhannGor

    PhannGor

    Joined:
    Feb 5, 2015
    Posts:
    137
    Well, just hold the Alt key and click on the "Scripts" or "Assets" folder icon in Unity project browser.



    Configuration dialogue will appear, and you'll be able to assign icons to the corresponding folder.



    All these things are described in the documentation, if so ;)
     
  46. PhannGor

    PhannGor

    Joined:
    Feb 5, 2015
    Posts:
    137
    xnew_release_orange_242px_png_pagespeed_ic_kEDbfnQ.png
    Rainbow Folders v0.7.1 is available on the Asset Store:
    http://u3d.as/mor
    • Added option to apply custom icon for all subfolders automatically
    • Added option to change modifier key for the configuration dialog
    • Install “Rainbow Folders” to the Plugins folder by default
    • Added support for Unity Collaborate (beta)
    • Added support for Unity Version Control Overlay (beta)
    • Compatibility fix For Unity 5.6.0 beta
    • Compatibility fix For Unity 5.4.4
     
  47. PhannGor

    PhannGor

    Joined:
    Feb 5, 2015
    Posts:
    137
    Hi @Marc-Saubion, we've just released new version of the Rainbow Folders with support for Unity Collaboration overlay. Would be cool if you can give it a try and leave your feedback here. Thanks!
     
  48. PhannGor

    PhannGor

    Joined:
    Feb 5, 2015
    Posts:
    137
    This asset is gaining more and more popularity, so I have decided to rework folder icons entirely and add more colors. What do you think, guys?



    NewColors.png

    NewTags.png
     
  49. TokyoDan

    TokyoDan

    Joined:
    Jun 16, 2012
    Posts:
    1,080
    I like the old better. Especially in the left panel the small icons look messy, the old style looks clean and elegant. Even the big folders icons in the right panel look more elegant the old way. Please put an option in to allow user choice.
     
  50. PhannGor

    PhannGor

    Joined:
    Feb 5, 2015
    Posts:
    137
    View attachment 221366
    Rainbow Folders v0.8 is available on the Asset Store:
    http://u3d.as/mor
    • All icons have been completely reworked
    • Added 12 new folder colors
    • Added 12 new folder tags
    • Added 3 new folder types (Animations, Physics, and Flares)
    • Fixed bug when the Rainbow Folders menu item appeared on top of the context menu
    • Fixed bug with applying icons recursively by name, when root icon didn't appear correctly