Search Unity

[Github] UnityEvent visualizer

Discussion in 'Assets and Asset Store' started by Mephesto_Khaan, Oct 4, 2017.

  1. Mephesto_Khaan

    Mephesto_Khaan

    Joined:
    Jun 2, 2013
    Posts:
    47
    I recently did a small tool to help my team visualize how UnityEvents were wired in any scene and we thought it would be nice to just post it in case it helps anyone.

    It shows all UnityEvent, the default component and also custom events, in a Graph. It is a work in progress, but already very functional and useful!



    https://github.com/MephestoKhaan/UnityEventVisualizer

    For any requests write in the github and if I find time I will try to improve it. (or do it! and send a Pull Request ;-) )

    Edit:
    Now free in the asset store! https://assetstore.unity.com/packages/tools/utilities/event-visualizer-163380
     
    Last edited: Mar 28, 2020
  2. LazloBonin

    LazloBonin

    Joined:
    Mar 6, 2015
    Posts:
    813
    Clever idea, looking good! :)
     
  3. Mephesto_Khaan

    Mephesto_Khaan

    Joined:
    Jun 2, 2013
    Posts:
    47
    Updated the tool to support visualizing in real-time when the events fire
     
    starikcetin likes this.
  4. LazloBonin

    LazloBonin

    Joined:
    Mar 6, 2015
    Posts:
    813
    Hehe, that looks quite a bit like Bolt's animations. ;)
     
  5. Mephesto_Khaan

    Mephesto_Khaan

    Joined:
    Jun 2, 2013
    Posts:
    47
    vorokoi likes this.
  6. noethis

    noethis

    Joined:
    Nov 11, 2013
    Posts:
    129
    This is super cool. I've been using this old Signals plugin (which basically uses SendMessage) for doing event scripting and it's gotten pretty hard to track what's triggering what. I think I'm going to try and convert everything to UnityEvents + this visualizer. Thanks a bunch for working on this!
     
    Mephesto_Khaan likes this.
  7. noethis

    noethis

    Joined:
    Nov 11, 2013
    Posts:
    129
    Update on how I've been using this. I quickly found that it refreshing OnHierarchyChange was way too often (and sluggish) for me and also that for my particular needs I really needed to see all events, regardless of whether they are on inactive gameobjects. So I ended up adding a Show Inactive toggle and then it only refreshes/rebuilds the graph when I click on the Clear button (which I renamed to Rebuild Graph since that's what it's doing).

    Next thing I might try when I get time is to organize the nodes into columns so it's not just one tall column and then I'm also gonna try having it select and focus on the associated node when you select the corresponding gameobject in the Hierarchy (reverse of what it does now).
    upload_2020-4-8_9-10-58.png
     
  8. Mephesto_Khaan

    Mephesto_Khaan

    Joined:
    Jun 2, 2013
    Posts:
    47
    Hi @noethis !

    Call this timing! But actually 2 days ago I reviewed the code and I did remove that annoying callback and renamed the "Clear" to "Rebuild" among other useful stuff like creating just the Graph under a selected GameObject.

    I will keep improving the tool shall the time allow it, feel welcome to push back any code changes that you find useful.
     
  9. satolas

    satolas

    Joined:
    Feb 13, 2017
    Posts:
    21
    Hi @Mephesto_Khaan

    I just discovered UnityEvent visualizer. Man this is amazing. Honestly I'm not exaggerating !
    Events are so powerful and using them being kind of blind was such a shame.
    And often it was becoming a mess too.
    But your tool is just perfect for that purpose.

    For me is one of the best assets I found for a while honestly ^^
    I'll write a nice review on the asset store !

    Just one little issue I had :
    In the EventVizualiser 2D graph everything works perfect.
    But in the Scene view, The amazing feature to see the events/connections in 3D seems broken for me.

    I posted an issue there : https://github.com/MephestoKhaan/UnityEventVisualizer/issues/17#issue-607177940

    Thanks for this amazing asset :)
     
  10. rmenapace

    rmenapace

    Joined:
    Jul 12, 2018
    Posts:
    6
    Nice work!