Search Unity

  1. Improved Prefab workflow (includes Nested Prefabs!), 2D isometric Tilemap and more! Get the 2018.3 Beta now.
    Dismiss Notice
  2. The Unity Pro & Visual Studio Professional Bundle gives you the tools you need to develop faster & collaborate more efficiently. Learn more.
    Dismiss Notice
  3. Improve your Unity skills with a certified instructor in a private, interactive classroom. Watch the overview now.
    Dismiss Notice
  4. Want to see the most recent patch releases? Take a peek at the patch release page.
    Dismiss Notice

Assets [RELEASED] Project Scan - analyze your ENTIRE project and find potential performance improvements!

Discussion in 'Works In Progress' started by elmar1028, Mar 28, 2017.

  1. elmar1028

    elmar1028

    Joined:
    Nov 21, 2013
    Posts:
    2,025

    After 9 months of development, I am proud to present you my latest asset, Project Scan.

    What is it?

    Project Scan is an Editor Extension that allows developers and artists to scan their entire project to find potential performance improvements, a brief explanation and how to improve it!

    ProjectScan_ScreenShot_2.png

    It scans various assets like Audio Clips, Textures, 3D Meshes, Scripts and even your current Scene contents to find common performance errors.

    ProjectScan_ScreenShot_4.png

    Project Scan is extremely customizable and you can filter out specific files, GameObjects, and directories!

    ProjectScan_ScreenShot_3.png

    Check out Project Scan in action!




    I am open to any feedback that comes by!

    Feel free to ask any questions! :)
     
    Last edited: Oct 13, 2017
  2. theANMATOR2b

    theANMATOR2b

    Joined:
    Jul 12, 2014
    Posts:
    7,779
    Does this tool take into account the build target and suggest performance improvements that are consistent with the build platform requirements?
     
  3. elmar1028

    elmar1028

    Joined:
    Nov 21, 2013
    Posts:
    2,025
    Hi,

    It checks whether your build target is Mobile (iOS, Android, Blackberry build targets etc.) and, based on that, runs particular tests and outputs specific results.

    For example, realtime reflection won't perform well on Android devices like on Desktops or Consoles. Project Scan captures that.

    Apart from limit, you can also specify your own benchmark. E.g. how many polygons per scene or per mesh do you aim to have? This is really useful if you wish to know whether you hit limits you've set.

    Hopefully that answers your question :)
     
    theANMATOR2b likes this.
  4. elmar1028

    elmar1028

    Joined:
    Nov 21, 2013
    Posts:
    2,025
    Project Scan's Bottleneck Scanner can easily help you see which GameObjects/Assets require your attention. Added support for filtering GameObjects by scene.

    That's right, Project Scan scans not only currently active scene, but also all your currently loaded scenes!

    See it in action!

     
    Last edited: Jun 1, 2017
    alexanderameye likes this.
  5. elmar1028

    elmar1028

    Joined:
    Nov 21, 2013
    Posts:
    2,025
    ProjectScan_Promo_BETA.png

    After months of hard work, Project Scan is now stable enough to carry a BETA tag. The stage of CLOSED BETA officially begins!

    I am actively looking for participants who are willing to test and provide feedback on Project Scan during the CLOSED BETA stage. BETA participants will receive a free copy of Project Scan upon its launch.

    If you’re interested in participating or have any questions, please send a PM or an email to beta@hardcodelab.com

    Be sure to mention the following info:
    • Your name (or nickname if you prefer)
    • What is your role in game development (e.g a programmer or an artist)
    • Years of experience
    • Machine Specs
    See you there! :)
     
    Last edited: Oct 13, 2017
    alexanderameye likes this.
  6. elmar1028

    elmar1028

    Joined:
    Nov 21, 2013
    Posts:
    2,025
    It's been almost a month since BETA started and I have received a lot of useful feedback from some of you guys! Thank you for that!

    Here's how Project Scan's Bottleneck Scanner looked like 1 month ago:

    FHP2RK4.png

    And here's how it looks like now!

    xyqKYOm.png

    And that doesn't include tons of tests internal optimizations, features and bug fixes!

    Don't forget BETA is still on and if anyone would like to participate, drop an email at beta@hardcodelab.com :)
     
    Last edited: Oct 13, 2017
  7. elmar1028

    elmar1028

    Joined:
    Nov 21, 2013
    Posts:
    2,025
    Check out a quick video to get an idea of how it feels like working with Bottleneck Scanner!

     
    Last edited: Jun 2, 2017
  8. elmar1028

    elmar1028

    Joined:
    Nov 21, 2013
    Posts:
    2,025
    Project Scan comes with lots of Filtering options. Have a look at this quick video!

     
  9. elmar1028

    elmar1028

    Joined:
    Nov 21, 2013
    Posts:
    2,025
  10. umauj

    umauj

    Joined:
    Nov 20, 2011
    Posts:
    80
    Interesting project!
    Do you also monitor performance in playmode somehow?
    Do instantiate and destroy account for pooling?
    What about expensive functions in general and finding out how often they are triggered?
     
  11. elmar1028

    elmar1028

    Joined:
    Nov 21, 2013
    Posts:
    2,025
    Hi @umauj

    Project Scan scans your project files and scripts, while running it in playmode would be possible, it would have a heavy workload on the system and therefore impractical.

    In the future, Project Scan will have a runtime scanner which would continuously read data both in playmode or at runtime!

    Instantiate() and Destroy() are expensive functions and Project Scan does catch it regardless if you're using it for pooling or not.

    It does look out for expensive functions and more is going to be added in the future, also accounting for how often they're being used.

    I hope this answers your questions!

    Regards,

    Elmar
     
  12. elmar1028

    elmar1028

    Joined:
    Nov 21, 2013
    Posts:
    2,025
  13. elmar1028

    elmar1028

    Joined:
    Nov 21, 2013
    Posts:
    2,025
    Project Scan 1.0.2 Update Now Live!

    Changelog:
    • Added support for Unity 2017.1
    • Minor code changes
    • Fixed a bug which caused ArgumentOutOfRangeException to be thrown for MacOS Sierra users
     
    C_p_H likes this.
  14. MoribitoMT

    MoribitoMT

    Joined:
    Jun 1, 2013
    Posts:
    194
    Great tool, love using it.

    However I was not able to exclude folders. It still keeps scanning all the third party assets and my other folders. The comma separated input line is not good way. I think there should be check box related UI, so that we can choose them. I mean i have 60 folders maybe, how will enter their names one by one manually ?
     
  15. elmar1028

    elmar1028

    Joined:
    Nov 21, 2013
    Posts:
    2,025
    Hey @MoribitoMT

    Thanks for purchasing Project Scan!

    Would it be possible if I could have a look at your settings?

    Thanks,

    Elmar
     
  16. elmar1028

    elmar1028

    Joined:
    Nov 21, 2013
    Posts:
    2,025
    Project Scan 1.0.3 Update Now Live!

    Changelog:
    General
    • Added support for Unity 2017.2
    • Minor UI tweaks
    Bottleneck Settings
    • Added a directory treeview allowing you to exclude directories from being scanned. This makes filtering folders much faster and less tedious.
    Affected Objects List
    • Added an option to add Folders to filters directly.
    • Added an option to “Open File” to open an asset in a default program
    • Added an option to “Open Folder” to open folders
     
  17. ranaUK

    ranaUK

    Joined:
    Mar 1, 2017
    Posts:
    158
    Hi @elmar1028, there is a simple error with the asset; there is a Editor file (I think it was PS_DirectoryTree - can't recall right now) that was sitting on a normal folder and was causing unity build to fail. I had to move it under Editor folder.
     
    MoribitoMT and elmar1028 like this.
  18. elmar1028

    elmar1028

    Joined:
    Nov 21, 2013
    Posts:
    2,025
    Thank you for bringing this to my attention! I have submitted an update and it should be live soon.
     
  19. MoribitoMT

    MoribitoMT

    Joined:
    Jun 1, 2013
    Posts:
    194
    Yes, I had the same problem, and cannot build to iOS without deleting the asset.

    And one more thing, the new file directory system is very slow, I try to choose the folders to scan ( I have like 300-400 folder in my 10gb project ) and scrolling down is almost impossible, it stucks and moves very slowly, it does not crash but is so slow to scroll down.
     
  20. elmar1028

    elmar1028

    Joined:
    Nov 21, 2013
    Posts:
    2,025
    To fix this do the following:
    1. Locate the script named PS_DirectoryTree located in Project Scan/Tools/Bottleneck Scanner/Classes/Other/Bottleneck Settings
    2. Create a folder named "Editor" in the same folder PS_DirectoryTree is
    3. Drag PS_DirectoryTree.cs into "Editor" folder.
    Your project should now compile without any errors.

    Thanks for letting me know about the slow directory system. I am taking a closer look at it right now and hope to release a fix in the near future.
     
    MoribitoMT likes this.
  21. elmar1028

    elmar1028

    Joined:
    Nov 21, 2013
    Posts:
    2,025