Search Unity

Favorites Tab[s] - your favorite assets and game objects

Discussion in 'Assets and Asset Store' started by Flipbookee, Sep 3, 2012.

  1. Lars-Steenhoff

    Lars-Steenhoff

    Joined:
    Aug 7, 2007
    Posts:
    3,063
    Thanks, Yes it was in the editor, I think its because Playmaker already displays an icon next the the item in the Hierarchy, so it displays two icons.

    The performance in the project view is fine, it's just the Hierarchy that updates really slow.



    Unity version is 3.5.7,

    Macbook pro 2011, AMD Radeon HD 6750M 1024 MB @ 1920 x 1200 ,2.2 GHz Intel Core i7,8 GB 1333 MHz DDR3, SSD, Mac OS X Lion 10.7.5
     
  2. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,547
    Thanks for all the info. I'll try to reproduce the issue under similar conditions. For now could you just quickly try to turn off the PlayMaker's icons and see if that's going to change anything? If it does then it must be related either to PlayMaker, or to the combination of these two extensions. Also it may be helpful for me to know what version of PlayMaker you're using.
     
  3. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,547
    Hey Lars, hi again! I did some testing and these are the results:

    No, it doesn't seem to be related to PlayMaker icons. I was testing smaller and larger projects under different circumstances, and performance didn't change with or without PlayMaker icons.

    My tests were focused on the Hierarchy view and I couldn't notice any difference in performance with or without the Favorites Tabs, although the Hierarchy view gets pretty slow with a larger scene in which there is deep hierarchy and all game object items are expanded (showing child game objects). I was testing a project in which PageUp key was taking about 2 seconds to show the selected game object! That was 2 seconds with and 2 seconds without the Favorites Tabs!!! Handling the PageUp key in Hierarchy view was the most extreme case that I found, while all other operations were also slowed down but not that much.

    From all these tests I can only conclude that performance drop in the Hierarchy view is coming from Unity Editor itself and were not related to Favorites Tabs as that was noticeable with and without the extension installed, with no difference in performance! If you want you can do these tests yourself as I suggested in my first post. Just close all Favorites tabs, delete the FavoritesTab folder (inside FlipbookGames folder) and restart Unity just to make sure it's not still loaded in memory. Then check the performance of the Hierarchy view to see how it works without it (and maybe expand the hierarchy deep enough). Then install the Favorites Tabs again and check the performance again. Btw, notice how you favorite assets and game objects are still there ;)... Now if you see any difference in the performance I would be still glad to address the issue if you give me specific details about the actions you were doing. The Hierarchy view can handle various mouse and keyboard actions, but since these are all different and they all trigger different events I'd need to know specifically what actions you were doing.

    Thanks!
     
    Last edited: Aug 4, 2014
  4. Lars-Steenhoff

    Lars-Steenhoff

    Joined:
    Aug 7, 2007
    Posts:
    3,063
    It seems were are some performance issues with playmaker because I was using a Beta version of playmaker, they don't seem to be related to this asset, I hope this clears up any confusion about performance, as this asset is invaluable for anyone who want to have a better organisation in the project.

    Thanks for the quick response! :)
     
  5. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,547
    Ah, that's super cool then! :)

    And I'm really glad you found this tool so useful!
     
  6. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,547
    @Nezabyte: Thanks for updating your review and star rating! :D

    @Steve Walker: Thanks for your great review! :D

    @EveryoneElse: Please don't hesitate to post your reviews and let others know if this tool is worth purchasing or not. I've been busy doing what I'm doing best - the programming part, so I wasn't spending much time trying to promote this tool, counting on you guys to help me do that with your reviews. ;)
     
  7. jim_young

    jim_young

    Joined:
    Oct 24, 2012
    Posts:
    6
    I installed FavoritesTab yesterday and was thrilled to find it offered the exact functionality I was looking for! :) And then I noticed significant loss of framerate when playing in Editor. :-(

    Removing the plugin restored performance and re-installing it brought back the framerate hit. Unfortunately, I'm confident the hitch is related to the plugin. I'm running Unity 3.5.6f4 on a mid-2009 13" MacBook Pro. I've removed other plugins (Prime31 and Localytics) to make sure there wasn't a conflict of some kind. I've favorited half a dozen project items and no hierarchy items. I'm not sure what counts as a "large" project or scene but I'll assume mine qualifies. ;-)

    Any ideas on how I can get my scene performance back and still keep the plugin? I *really* want to use it won't be able to with the performance hit. :)

    Thanks!
    Jim
     
  8. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,547
    Hey Jim, thanks for all the info! I'll check that right now, sounds like an easy repro, so if manage to see that on my Mac I'm sure there will be a solution for the issue. I'll get back to you very soon...
     
  9. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,547
    Hi Jim! I think I found something... If you feel comfortable to edit my code please try to comment out line 759 in FavoritesTab.cs, which is the Repaint(); call in function OnHierarchyOrProjectWindowChanged() as shown here:

    $FavsTabsBug.png

    So change that line like this:

    Code (csharp):
    1.     private void OnHierarchyOrProjectWindowChanged()
    2.     {
    3.         recreateListViewItems = true;
    4.         //Repaint();
    5.     }
    6.  
    and save the file, let Unity recompile that and then try again. I'm pretty sure this will solve the issue, but still I'll wait for you to confirm that.

    If you are a programmer you can easily understand what is going on in this function, it's actually a big mistake from my side. This function gets called whenever a game object is added or removed from the current scene, and since that might be happening quite often when the game is running, this function would repaint the Favorites tabs and even worse would try to rebuild the list of items shown in them! By commenting out the Repaint() line that all will be avoided, and that recreateListViewItems will still be set to notify the Favorites tabs that hierarchy got changed, so everything should be working fine without loosing performance... Please keep the first line that sets the flag, as the rest of my code needs to check if you have deleted a bookmarked scene object or asset, so it can remove that from its lists. If this solves the performance issue then the actual fix would also include a check is the game playing or not, and call Repaint() only when the game is not playing.

    Thanks for reporting this and for the great explanation how to reproduce the bug!
     
  10. jim_young

    jim_young

    Joined:
    Oct 24, 2012
    Posts:
    6
    Wow, thanks for the quick reply!

    It's true the scene is changing rapidly so good catch on the Repaint. Sadly though that doesn't appear to be the source of the hiccup. I even tried commenting out setting recreateListItems (understanding it would impact FavoritesTab working correctly) just to see if it maybe it had a ripple effect elsewhere in the code but I still take the framerate hit.

    Seems like we've got to be on the right track though. :) What else might be updating so frequently?
     
  11. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,547
    Hmm.. I'll check if I can find something else...
     
  12. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,547
    Can you do a quick test for me? Close the Project view, run the game, and check is there any difference, please... Then try the same with the Project view open but close the Hierarchy view... If there's no difference try also closing both and run the game... If there's no difference close all Favorites tabs and try again...
     
  13. jim_young

    jim_young

    Joined:
    Oct 24, 2012
    Posts:
    6
    Looks like the performance hit happens when the Hierarchy view is open and visible. Closing the Hierarchy tab or pushing it to the background of the pane (e.g., toggling to the Project tab in the same pane) sees the framerate come back up to normal. I can even do it while the game is running and see the impact.

    Getting closer! :)
     
  14. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,547
    Cool, thanks for your help! I can focus on that only now...
     
  15. jim_young

    jim_young

    Joined:
    Oct 24, 2012
    Posts:
    6
    For giggles, I added an early-out at the top of HierarchyItemOnGuiCallback if EditorApplication.isPlaying which seemed to do the trick. Since I don't need to tag hierarchy items while playing right now, I'll roll with this change locally but I'm still curious what you may come up with. Great sleuthing!
     
  16. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,547
    Hey Jim, it's getting too late over here, I'll have to continue tomorrow... Thanks again for the help!
     
  17. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,547
    Ok, I managed to reproduce the bug so fixing it now should be very easy. I'll send you an update later today so it would be great if you could confirm that it solves the issue.

    The issue only happens in scenes where the FG_GameObjectGUIDs game object doesn't exist. As soon as any scene object gets bookmarked the FG_GameObjectGUIDs gets created and the performance goes back to normal and remains like that even if you remove all bookmarked scene objects. I guess it would reappears again if FG_GameObjectGUIDs gets deleted manually from the scene. If you or someone else could confirm this is the case that would be great... I'll look for the fix right now anyway...
     
  18. jim_young

    jim_young

    Joined:
    Oct 24, 2012
    Posts:
    6
    That's it! Playing with no favorited Hierarchy objects no FG_GameObjectGUIDs I get poor framerate. As soon as I favorite one, performance returns to normal and when I delete FG_GameObjectGUIDs, framerate drops again. Good find!
     
  19. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,547
    Great! :) I'll send you a PM with the fix within 1 or 2 hours, and I'll submit the update to Asset Store...
     
  20. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,547
    Fixing this took much longer than I expected, but finally I have a really good solution! :) The performance in that special case was dropping because I was calling FindObjectsOfType to locate the FG_GameObjectGUIDs in the scene, after which I was storing the reference to that object so I don't have to call that function (which is really slow) again. The problem with the old code was that when the object doesn't exist it cannot be found, so the cashed reference was just null, which was allowing the code to search again for that object later, so that was happening really often!

    The current solution is only going to search for that object ONCE after loading a scene! This makes a huge difference in performance compared to the previous approach... I've sent the link for download to Jim already, but if someone else is also interested to get the update early please send me a PM. Or make sure you check for an update early next week (I'll let you know once it's available).
     
  21. jim_young

    jim_young

    Joined:
    Oct 24, 2012
    Posts:
    6
    Works like a charm! Greatest developer support experience ever! :-D Thanks!
     
  22. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,547
    Thanks Jim, and thanks for posting that awesome review! :D

    Version 1.2.2 is available on Asset Store now. Please update guys and let me know if you see improvements or anything unusual.

    Enjoy! :cool:
     
  23. Nezabyte

    Nezabyte

    Joined:
    Aug 21, 2012
    Posts:
    110
    Right now when I click on a folder item in my Favorites tab, it will show the folder in the project view. Then I have to double-click on it in the project view to go inside. Would it be possible to go directly inside the folder when clicking (or only when double-clicking) on it on the favorites tab?
     
  24. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,547
    Yes, I know what you mean... I tried that already, but it wasn't possible because Unity's new Project view doesn't expose any control over that behavior :(. At least I couldn't find anything at that time, but now since you mentioned double-clicking it, I got an idea! Let me try something and I'll let you know quickly...
     
  25. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,547
    The simple trick I had on mind didn't work, but I think it will be still possible through Reflection... Investigating...
     
  26. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,547
    Hey Nezabyte, I found a solution for that little annoying thing!!! :cool: I changed it so it shows the content of the bookmarked folder instead of the location of the folder in its parent. This is only for Unity 4 with two columns Project view, since that's the only case when the issue can appear.

    I just submitted this as version 1.2.3 to the Asset Store for review, so it should be available in a couple of days... :)

    Thanks for your great suggestion! ;)

    (switching back to working on Script Inspector 2 again now...)
     
  27. Nezabyte

    Nezabyte

    Joined:
    Aug 21, 2012
    Posts:
    110
    Yay, awesome! Thanks :D
     
  28. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,547
    Good news!

    Favorites Tabs 1.2.3 got just accepted and it's already available on Unity Asset Store! :D

    Enjoy! :cool:
     
    Last edited: Aug 4, 2014
  29. Lars-Steenhoff

    Lars-Steenhoff

    Joined:
    Aug 7, 2007
    Posts:
    3,063
  30. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,547
    Yes, I see what you mean... Well, adding such feature doesn't look like an easy task, although I haven't look at that yet. I'm currently working hard on Si2, trying to meet a deadline I've put to myself to get it done later this month, so I'll check what I can do right after that, if that's ok for you?
     
  31. I am da bawss

    I am da bawss

    Joined:
    Jun 2, 2011
    Posts:
    2,574


    I am not entirely sure, but you might be able to use this :

    Application.CaptureScreenshot
    http://docs.unity3d.com/Documentation/ScriptReference/Application.CaptureScreenshot.html
    http://answers.unity3d.com/questions/22954/how-to-save-a-picture-take-screenshot-from-a-camer.html


    But I think the proper way is to use this :

    AssetPreview
    http://docs.unity3d.com/Documentation/ScriptReference/AssetPreview.html

    This seems to be the proper way to create thumbnail for Asset (and Asset Preview Window).


    But I think having thumbnail preview is probably outside the scope of this extension. Plus I like how Favourites Tab is listing it right now - making it to display thumbnails would totally destroy the usability (unless you can toggle between it).
     
  32. Lars-Steenhoff

    Lars-Steenhoff

    Joined:
    Aug 7, 2007
    Posts:
    3,063
    Of course it would be a toggle, I love the way it works now I just could see a use for myself for a optional thumbnail view, it would allow me to see quickly which assets I have in a favourite bin.

    If it takes two months it's fine with me, I'm just thinking about how to improve this tool.
     
  33. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,547
    Cool, this looks very promising :) and would make implementing such feature much easier for me!

    Well, having thumbnail previews isn't something I planned, but I see Lars' point here and I agree this could improve the workflow dramatically, which is the main goal of this extension. I am da bawss' hint should help get this done easily (thanks man!), but still there would be quite some work required around the UI, testing, and eventually some optimization if needed... Seems like about a week of work, which is not too bad, but still too much to sneak that in before finishing the update for Si2. So this new cool feature should be available in about a month from now. Thanks for the great suggestion Lars! ;)
     
  34. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,547
    Thank you Vera Bard for your great review and the 5 stars!!! :D

    Thanks for the suggestions too! Both will be implemented in the next version.
     
  35. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,547
  36. Nezabyte

    Nezabyte

    Joined:
    Aug 21, 2012
    Posts:
    110
    There is a conflict with Antares Universe. When Favorites Tab is active, the graph icon is moved to the left and disallows me from expanding the hierarchy.

    $antaresConflict.jpg
     
  37. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,547
    Ok, I see. Let me check this quickly...
     
  38. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,547
    Ok, I found it, my bad...:oops:

    You can fix it easily, just comment out the line 1386 in FavoritesTab.cs:
    Code (csharp):
    1. selectionRect.xMin = 0;
    should be:
    Code (csharp):
    1. //selectionRect.xMin = 0;
    This will fix the issue you just described... There's another one, less severe though, in the Favorites tab the Antares Universe icons are slightly overlapping with the ending of gameobject's name. If you care, you can fix that too:

    Lines 1629 and 1630 in FavoritesTab.cs:
    Code (csharp):
    1.             if (EditorApplication.hierarchyWindowItemOnGUI != null)
    2.                 EditorApplication.hierarchyWindowItemOnGUI(item.instanceID, rcItem);
    should actually be:
    Code (csharp):
    1.             if (EditorApplication.hierarchyWindowItemOnGUI != null)
    2.                 EditorApplication.hierarchyWindowItemOnGUI(item.instanceID, new Rect(19f, rcItem.y, rcContent.width - 19f, 16f));
    I'll post the fixes as a new update too, so you can also just wait for the Asset Store team to approve that...

    Thanks for finding the issue! ;)
     
  39. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,547
    Yay!!! Favorites Tabs v1.2.4 got accepted just now and it's available for download! :D Please update!

    Enjoy! ;)
     
    Last edited: Aug 4, 2014
  40. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,547
    Unimaginable bargain - only $6 instead of $15

    Favorites Tabs is on sale with an amazing discount of 60% for 24 hours! :cool: ... Well, 20 hours still left...

    So if you were wondering what to do with those extra 6 bucks in your pocket I'd be glad to offer you this unique opportunity to effectively get rid of them ;) in exchange for an amazing tool that will dramatically improve your workflow in Unity :D and hopefully you'll fall in love with it in no time :rolleyes:... I can't wait to hear about your impressions, feedback and suggestions (or maybe even some review).

    Enjoy!

    (Shhh, don't tell your friends about this) ;)
     
    Last edited: Aug 4, 2014
  41. Nezabyte

    Nezabyte

    Joined:
    Aug 21, 2012
    Posts:
    110


    Cool, thanks for the quick fix.
     
  42. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,547
    I'd like to let everyone know that Favorites Tabs just got its fifth five star review, and it's an awesome one too! :cool:

    @ Chris Byers: Thank you very much for your perfect review!!! I hope it's well deserved. :D

    In meantime, the Favorites Tabs will be still one sale for the next 9 hours
     
    Last edited: Aug 4, 2014
  43. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,547
    Friendly reminder ;)
    Only 45 minutes left for this deal... and don't forget I need your feedback.

    Enjoy! :)
     
    Last edited: Aug 4, 2014
  44. I am da bawss

    I am da bawss

    Joined:
    Jun 2, 2011
    Posts:
    2,574



    LOL ! I only JUST saw this summer deal, lucky for me (and you!) there was still 3 minutes left !! You cannot imagine how fast I had to scramble to find my credit card to get this bought! :D Been eyeing this one for a while and was on the top of my shopping list!! Finally I have my precious...<pats imaginary cat>
     
  45. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,547
    Awesome I am da bawss! Congrats and thanks! :)
     
  46. I am da bawss

    I am da bawss

    Joined:
    Jun 2, 2011
    Posts:
    2,574
    Simply awesome extension Flipbookee! Work as advertised and more! It just works as I expected it - put a star on any asset and it magically goes to Favorites Tabs. Okay, I have a suggestion after using it a bit - after I first installed Favorite Tabs - I couldn't put a star on any item, it simply just doesn't appear as option. After fiddling with it for a while, I finally figure it out. As it turns out you need to hover over any item you want to star for a second or two for the star option to show up. So I am wondering if you could make the star appear instantly without having to wait for it to appear?
     
  47. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,547
    Thanks man, I'm so glad you like it! :D

    Yes, it takes about one second or maybe less to show the first hollow star due to optimizations of the Unity Editor and its immediate mode GUI. Unity doesn't send MouseMove events to windows unless they are focused and have the EditorWindow.wantsMouseMove flag set to true, or the mouse stops moving and hovers them for a moment. And this is a good thing to some extents, because it prevents random tabs to do potentially heavy processing when the mouse is flying over them while moving from one window to another, passing over a couple of other windows in between. And it's also a bad thing for controls that want to get highlighted when the mouse enters or leaves them... I'm not very happy with that too, especially with the duration of that delay, and even though I could override this behavior with an Update handler constantly checking if the mouse has entered the window, I've decided not to do that and keep the original optimizations.
     
  48. I am da bawss

    I am da bawss

    Joined:
    Jun 2, 2011
    Posts:
    2,574
    That makes a lot of sense and I agree with your rationale for the optimzation. Thanks for the explanation!
     
  49. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,547
    You guys are amazing! Those 6 reviews you've posted are just incredible, all 5 stars!!! :D

    Thank you all for the great appreciation and for making all that hard work make some sense at the end ;)
     
  50. J_P_

    J_P_

    Joined:
    Jan 9, 2010
    Posts:
    1,027
    Might have been suggested before, but it would be nice to have folders in favorites. I have a favorite scenes tab and it'd be nice to hide groups of scenes (if I'm working on levels from World 3, I would hide all the levels from World 2 etc). Folders would only be virtual though -- they wouldn't effect file locations etc.

    edit: guess a workaround would be to have something in the search field to filter, but that only works if the naming conventions fit with how you want to filter things.
     
    Last edited: Aug 5, 2013
unityunity