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

Showcase Node finder for unity visual scripting

Discussion in 'Visual Scripting' started by myanko, Oct 18, 2021.

  1. myanko

    myanko

    Joined:
    Nov 9, 2013
    Posts:
    56
    So, my wife(etherElric) and I, got annoyed to work on huge graphs without any ways to search for nodes we added and wanted to explore how a node finder could work and be done for unity visual scripting. So we started to work part time, on a node finder for unity visual scripting. This a pretty early version, but the concept seem to work well.

    We plan to put this tool on unity asset store for free if we can get the time to work on it a little more, so everybody can get access to the full tool for free.

    Will be nice to see if there is a demand for such a tool ;).

    This is a preview of the tool.


    AssetStore link : Node finder for unity visual scripting
    Github Repo: https://github.com/myanko/uvs-finder
     
    Last edited: Sep 23, 2022
    termway, BlueMarker, JACLEMGO and 4 others like this.
  2. Starpaq2

    Starpaq2

    Joined:
    Mar 14, 2013
    Posts:
    77
    Brilliant and definitely a daily thorn on the walking path.
     
    PanthenEye and myanko like this.
  3. myanko

    myanko

    Joined:
    Nov 9, 2013
    Posts:
    56
    This weekend work.
    • Removing some UI items that won't be used.
    • Adding the find in graph functionalities.
    • Better Search Visual.
    • Adding type Icons in the search list.
    • Adding preferences panel for the tool.
    • Can now search within variable name, custom events name, subgraph name.
    • Adding a user preference panel.
    Visual Update.
    upload_2021-10-25_0-52-31.png

    Preferences Panel
    upload_2021-10-25_0-55-57.png
     
    NaoYuYan and Starpaq2 like this.
  4. Starpaq2

    Starpaq2

    Joined:
    Mar 14, 2013
    Posts:
    77
    You had me at searching within "Custom Events Name". This would be the extremely useful. It's looking great thus far.
     
    NaoYuYan and myanko like this.
  5. PanthenEye

    PanthenEye

    Joined:
    Oct 14, 2013
    Posts:
    2,050
    Brilliant work! I assume they'll get their own search functionality with GTF migration but that's like 2 years away. So this is very much needed in the meantime.
     
    myanko likes this.
  6. myanko

    myanko

    Joined:
    Nov 9, 2013
    Posts:
    56
    Thank you both.

    I hope they will have this functionality when moving in GTF. DOTS Visual Scripting got a naive integration of Ctrl+f functionality in graphs, that was done by Dev Theo.

    If it is in 2 years, it means 2 years before getting a unity version LTS with the functionality.
    Then depending on your production, it means approximately 6 months to 6 years and more stuck in a version of the editor not having the feature because you lock your editor to an LTS version to make sure nothing breaks :p.

    By working on my personal project that we try to make only in visual scripting and very early in its production life cycle, I can imagine how tough it will be at the end of a production with the tool at this level.

    Also, this thing was part of my top 1 graph feature to get. This is sad that Lazlo never was able to work on it.

    You can see the Events search in action ^-^
     
    Last edited: Oct 26, 2021
    Ignacii and NaoYuYan like this.
  7. PanthenEye

    PanthenEye

    Joined:
    Oct 14, 2013
    Posts:
    2,050
    Yeap, all the Unity goodies in the oven are still anywhere from 1-3 years away, unfortunately. Longer if you've frozen engine version for a multiyear project.

    He implemented a fully featured search for Bolt 2 but it was also a lot easier to do that there as a lot of stuff was GUID based and didn't depend on basic string equality. I'm fairly sure the search tech wasn't even that tightly coupled with Bolt 2 core as he's using it also in Peek. So they could probably port it fairly easily. The problem, of course, being that they want to standartize all graph based tools so what works for just UnityVS now probably wouldn't extrapolate to other graph tools. Especially if that search tech uses some middleware not native to Unity. So we're stuck waiting.

    ---

    Now that you can search in variable and custom event names, could it be possible to implement a basic search and replace for variable/custom event names? Refactoring graphs currently is entirely manual and therefore slow and prone to error.

    EDIT: Holy S***! The custom event search is amazing.
     
    NaoYuYan and myanko like this.
  8. myanko

    myanko

    Joined:
    Nov 9, 2013
    Posts:
    56
    Yes it is part of our roadmap.

    First we need to fix a bunch of issues coming from different node types and also fix the find in current graph functionality that double the code at the moment as we tried to use Bolt classes and OMG, this thing make it so much more complicated than working with IO on files in the project.

    This what we planned to do.
    1. Find in graph (WIP Almost at parity with the find in all graph)
    2. Find in all graph (Done)
    3. Find embed (WIP May not ship this one)
    4. Add node icons (Done with some issues)
    5. Add user preferences. (Front end done)
    6. Add the tool to the Asset Store + Open UPM
    7. Move tool to an open repository possibly with an MIT license.
    8. Add Find and replace.
    9. Look at using the quick search back end.
    10. Add right click actions in graphs (find usage).
    11. Add Rename option for variables and custom events.
    12. Many more stuff.
    13. Add node inspector.
     
    NaoYuYan, PanthenEye and cassandraL like this.
  9. myanko

    myanko

    Joined:
    Nov 9, 2013
    Posts:
    56
    WIP3

    New update, the node finder is becoming better, this is still a big proof of concept, but it is getting exiting to play with this project.



    What is new:

    • Better Nodes items formatting for readability
    • Search Highlight
    • Find Deprecated Nodes
    • Find Variables
    • Find Events
    • Set Preferences
    • Find nodes in States Graphs
    • Find Groups
     
    Starpaq2, MasterSubby and PanthenEye like this.
  10. PanthenEye

    PanthenEye

    Joined:
    Oct 14, 2013
    Posts:
    2,050
    Looks amazing! Honestly, this would be more than enough for the initial release assuming it's more or less consistent and error free.
     
    Starpaq2 likes this.
  11. myanko

    myanko

    Joined:
    Nov 9, 2013
    Posts:
    56
    Good news you can now get the version 0.0.4 for free on the Asset Store.

    This version should work with VisualScripting packages 1.5.2 and more.

    AssetStore link : Node finder for unity visual scripting

    I should soon set the GitHub repository public, so people can contribute or submit bugs+ feature requests. Have fun!!!
     
  12. PanthenEye

    PanthenEye

    Joined:
    Oct 14, 2013
    Posts:
    2,050
    Jus tried it out. It's absolutely brilliant. Got API out-of-date warnings in 2021.2.8 when importing, but Unity offered to auto upgrade. Anyway, it worked out fine in the end, console is clean and the tool is simply amazing and literally a lifesaver for medium to large sized projects using UVS.
     
    myanko likes this.
  13. haroldo7

    haroldo7

    Joined:
    Aug 27, 2021
    Posts:
    5
    That's great !!! Keep up the good work!
     
    myanko likes this.
  14. doublegumbo

    doublegumbo

    Joined:
    Oct 24, 2013
    Posts:
    53
    thank you for this!! YES!!! this has been the missing link for me in terms of using this tool.
     
    myanko likes this.
  15. marcuslelus

    marcuslelus

    Joined:
    Jun 18, 2018
    Posts:
    67
    myanko likes this.
  16. myanko

    myanko

    Joined:
    Nov 9, 2013
    Posts:
    56
    Lol yup totally free. I pushed a new asset store version 3 days ago, I was waiting for the update to be accepted to post this. :p


    A Major upgrade. V0.1.0 is now done, with nice features and bug fixes.

    Features
    • Better Subgraphs digging in state graphs.
    • Search state graphs in state graphs
    • Scriptgraphs now support subgraphs search.
    • Replaced the deserialization to use Visual Scripting.
    • Added support for Visual Scripting 1.8
    • Same name as in the fuzzy finder (Add is not more sum)
    Fixes
    • Made the tool Editor only.
    • Fixed Stylesheet warnings.
    • Switched default shortcut to Alt+F to remove collision with Unity Shortcuts.
    • Removed Preferences sections that are not hooked to the code.
    • Operators are searchable by name.

    Bonus, the repository is now full public.
    https://github.com/myanko/uvs-finder
     
    PanthenEye likes this.
  17. PanthenEye

    PanthenEye

    Joined:
    Oct 14, 2013
    Posts:
    2,050
    I want to try it out, but the store still shows that 0.0.4 is the latest one. Perhaps need to wait a bit more.
     
  18. myanko

    myanko

    Joined:
    Nov 9, 2013
    Posts:
    56
    You can from the git repo. Simply get the tag 0.1.0. You can delete the folder com.sokatoa.uvs.finder, in your asset and drop the one from the repo in your folder to test. You can also use the package manager and it with file path.

    Or you can just wait ~2 days to get it on the asset store. It take normally around 5 working days when I get the Unity message saying it will take ~3 working days to get approval. The 5 working day is when you are lucky and nothing fail :p.
     
    PanthenEye likes this.
  19. myanko

    myanko

    Joined:
    Nov 9, 2013
    Posts:
    56
    Starpaq2 and PanthenEye like this.
  20. PanthenEye

    PanthenEye

    Joined:
    Oct 14, 2013
    Posts:
    2,050
    It can't resolve NewtonSoftJSON namespace in my project:



    Unity 2021.2.8f1, UVS 1.7.7, Node finder 0.1.0

    I do have the NewtonSoftJSON package:



    Any idea on what's up?
     
    myanko likes this.
  21. PanthenEye

    PanthenEye

    Joined:
    Oct 14, 2013
    Posts:
    2,050
    Ok, deleting previous version of Node Finder and importing 0.1.0 anew fixed the issue.

    EDIT: Nested subgraph search works beautifully.
     
    myanko likes this.
  22. myanko

    myanko

    Joined:
    Nov 9, 2013
    Posts:
    56
    Yes, due to how the asset store package work, it won't remove deleted scripts and we deleted a bunch :p. And removed the need to use NewtonSoftJSON. ^-^
     
  23. PanthenEye

    PanthenEye

    Joined:
    Oct 14, 2013
    Posts:
    2,050
    Gotcha! You might wanna add upgrade warning in Asset Store Release notes. Other popular assets do that when they require the previous version to be deleted.
     
    myanko likes this.
  24. JACLEMGO

    JACLEMGO

    Joined:
    May 30, 2013
    Posts:
    30
    myanko likes this.
  25. myanko

    myanko

    Joined:
    Nov 9, 2013
    Posts:
    56
    Version 0.2.0 should be on the Asset Store soon.
    upload_2022-5-20_12-50-25.png


    Features
    • Search in Embed ScriptMachine and StateMachine graphs from objects in scene and in project.
    • Search in Hierarchy.
    • Added User Defined highlight color selection in preferences.
    • Search field have an erase button.
    • Improvement for search information on found items.
    • Type icons are now shown by default.
    • Made some small UI improvements.
    • Animation Event name is part of the search
    Fixes
    • Node list Scrolling that shuffle items.
    • Icons are no more making your scrolling lag.
    • Auto focus on the search field when opening the tool.
    • List items are smaller in height.
    • The alignment of items (UI).
    • Current graph node selection will keep the selected object graph.
    • Adding missing icons for HasVariables Nodes
    • Fixed Unity 2021+ Listview expanding with search...
    • Special Characters breaking the search like "[ ]"
     
    Starpaq2, marcuslelus and PanthenEye like this.
  26. myanko

    myanko

    Joined:
    Nov 9, 2013
    Posts:
    56
    PanthenEye likes this.
  27. Ignacii

    Ignacii

    Joined:
    May 23, 2013
    Posts:
    106
    OMG I've accidentally found this amazing gem. I wanted this for so long... Such a pleasant surprise. Please make donations available
     
  28. ncr100

    ncr100

    Joined:
    Jul 23, 2015
    Posts:
    32
    Ignacii likes this.
  29. Ignacii

    Ignacii

    Joined:
    May 23, 2013
    Posts:
    106
    Edit: Wrong thread but very useful to all UVS users.

    I managed to open a second window by clicking on a Subgraph node inside a graph and then clicking "Open in new window" in the Context Menu that pops up after right-clicking. Works flawlessly and you can keep it forever and open whatever you want. Just like with Bolt. No add-ons required.
     
    Last edited: Sep 3, 2022
  30. myanko

    myanko

    Joined:
    Nov 9, 2013
    Posts:
    56
    From which contextual menu you were able to open a second node editor? From the asset store version, we don't have any contextual menu.

    But on the repo, we do have some new features like the right click action to find nodes. New incoming feature preview :p.
    ContextMenu.gif
     
    Ignacii likes this.
  31. Ignacii

    Ignacii

    Joined:
    May 23, 2013
    Posts:
    106
    Whoops... Sorry! This reply was meant to be in another thread where people were trying to figure out how to open a second UVS window. This is a very important feature but very difficult to find but I managed to! Going to post it to the right thread.

    And your new feature looks very useful!
     
  32. myanko

    myanko

    Joined:
    Nov 9, 2013
    Posts:
    56
    Lol. Allright.
     
  33. myanko

    myanko

    Joined:
    Nov 9, 2013
    Posts:
    56
    V0.3 is now on the asset store. Node finder for unity visual scripting

    Features
    • Options to disable search for tabs with the checkbox on each tabs.
      upload_2022-9-27_20-50-37.png
    • New search filters to constraint current graph to:
      • Search in current graph.
      • Search in current graph and subgraphs.
      • Search in all graphs (Parent, current and subgraphs).
    • Search in state graphs transition nodes.
    Fixes
    • SubState graph search.
    • Fixed naming of some nodes.
    • Fixed default highlight color black and issues with alpha.
    • Fixed Can now See 3d Physic Events
     
    PanthenEye likes this.
  34. Ignacii

    Ignacii

    Joined:
    May 23, 2013
    Posts:
    106
    Hello! I think there's one more thing your asset could do that would be great. And might be pretty easy to implement too. To clear graph errors globally with a push of a button and also to globally clear graph errors automatically on play, just like the default console does.

    It gets really frustrating fast to press the "clear errors" button on every graph if you have many layered subgraphs on top of one another.

    What do you think?
     
  35. Ignacii

    Ignacii

    Joined:
    May 23, 2013
    Posts:
    106
    When I have multiple graph windows open at the same time and use the finder, some graphs get wiped. The ones I'm looking in, I believe. It's possible to recover by going back and forth through the graphs in the finder window but it's not fun :D
     
  36. myanko

    myanko

    Joined:
    Nov 9, 2013
    Posts:
    56
    After several months dealing with health issues + lost of employment, I was finally able to work on a new release for the node finder 0.4 with minor bug fix, better search formatting and a right click functionality!!! Until it get approved, if it pass the Unity Validation, you can look at this video showing the latest features.



    Features
    • Right click on nodes contextual find options [NEW]
    • Variables (Getter, Setter and Has)
    • Groups
    • Custom Events (Trigger and Events)
    Adding support to Find nodes with custom text fields, dropdown items [NEW]
    • Get Button show Button Name
    • Get Axis
    • Get Button Down
    • Get Button UP
    • Get Button show Button Name
    • Get Axis
    • Animator (Work in progress)
    • GetButton
    • GetMouseButton
    • New Input System Events
    • On Input System Event Float
    • On Input System Event Button
    • On Input System Event Vector 2
    Fix
    • Window partially un-dock after restoring. (Domain Reload)

    As we are using Harmony, for the right click functionality, we will see how it goes for the validation. Crossing fingers to get it in 3 days :p.
     
    PanthenEye and Ignacii like this.
  37. Ignacii

    Ignacii

    Joined:
    May 23, 2013
    Posts:
    106
    Amazing! I hope your health is much better now. I've noticed that the finder wasn't able to find some nodes so this looks great. Thank you very much for this wonderful FREE asset! I hope Unity acquires it for a good sum of money to help with your finances.
     
  38. myanko

    myanko

    Joined:
    Nov 9, 2013
    Posts:
    56
    I think it is a very good idea, but it should be something separated from the node finder. Ideally, Unity Visual Scripting team should add this kind of features. I could look at creating some power tools for Visual Scripting.


    I will look at and see if I can find what is happening, thhx for pointing out.
     
    Ignacii likes this.
  39. myanko

    myanko

    Joined:
    Nov 9, 2013
    Posts:
    56
    Now LIVE!!!! Was faster than expected.
     
    Ignacii likes this.
  40. Ignacii

    Ignacii

    Joined:
    May 23, 2013
    Posts:
    106
    This has to be a bug. The current graph has more findings than in all graphs. Feels like the search is worse than with the previous version for some reason :(
     

    Attached Files:

  41. Ignacii

    Ignacii

    Joined:
    May 23, 2013
    Posts:
    106
    Rolled back to 0.3 and it works fine again.
     

    Attached Files:

    Last edited: May 15, 2023
  42. myanko

    myanko

    Joined:
    Nov 9, 2013
    Posts:
    56
    Hmm, this is looking strange. we have tests, to validate that we have the same amount of nodes in our test package. Do you have an error in the unity console? Or maybe something special that was not catched with the latest version. The nodes in the all graphs section that are missing or of a special kind, come from a special graph or position in the editor?
     
  43. Ignacii

    Ignacii

    Joined:
    May 23, 2013
    Posts:
    106
    I remember some dictionary error. All I use are default and API nodes from other assets. Search on all graphs was broken. 0.3 working great
     
    Last edited: May 15, 2023
  44. myanko

    myanko

    Joined:
    Nov 9, 2013
    Posts:
    56
    Ok, I may see what could be confusing and it maybe a bug. When you have objects in a scene that contain embed graph, the nodes are not part of the all graphs section, only the ones in the project will be part of the count. So, this is part of the new recursive search algo. As you can see on this image this is what I am getting. It may be the same issue on your side.
    upload_2023-5-10_15-28-41.png
     
  45. Ignacii

    Ignacii

    Joined:
    May 23, 2013
    Posts:
    106
    Hmm, I don't know. I'm using only one Script Machine for everything in my project as it's recommended to use as few Script Machines as possible for better performance (a tip for someone who doesn't know that yet).
    Sorry, I am of no more help to you but I am very happy with 0.3 and everything might be fine on a new project with 0.4, who knows? Something in my project could be interfering but only with something that's added into 0.4 as 0.3 works well, except that multiple window issue that's not happening anymore simply because I am avoiding it in a very disciplined manner by having only one window at the time of node finding. :D
     
    Last edited: May 15, 2023
  46. Ignacii

    Ignacii

    Joined:
    May 23, 2013
    Posts:
    106
    That's what I'm getting:
    encountered an error while searching in all scripts The given key '%axisName' was not present in the dictionary. at System.Collections.Generic.Dictionary`2[TKey,TValue].get_Item (TKey key) [0x0001e] in <a40b0ad4a868437393ad434631fb6ff1>:0
    at Unity.VisualScripting.UVSFinder.GraphElement.GetNameFromSpecificTypes (Unity.VisualScripting.IGraphElement ge) [0x00b5e] in C:\Users\x\com.sokatoa.uvs.finder\Editor\Serialization\GraphElement.cs:74

    And many more like this one. Don't want to spam them all here :D

    Gave another chance but rolling back to 0.3 again.
     
  47. myanko

    myanko

    Joined:
    Nov 9, 2013
    Posts:
    56
    Thx, you can add the errors on the git hub repo, so we can fix all of them. ^-^.
    https://github.com/myanko/uvs-finder/issues
    thx
     
  48. Ignacii

    Ignacii

    Joined:
    May 23, 2013
    Posts:
    106
    Glad you found out what's going on! It has to be Rewired because I'm not using Unity's input system. I remember other errors were the same but with just different input names. I hope you won't need to update for every asset the finder isn't working with. Also, the errors weren't red nor yellow. Simply white.
     
  49. myanko

    myanko

    Joined:
    Nov 9, 2013
    Posts:
    56
    Happy to announce Version 0.5.

    [0.5.0] - 2023-06-02
    Added

    • Can search the embedded elements in the opened scenes' hierarchy (script machines and state graphs)
    Fixed
    • Better display name for the Layer Masks
    • Errors with the Input methods "The given key '%axisName' was not present in the dictionary"
    • Harmony issue with burst compile

    This version should fix your errors. *Crossing fingers*
     
    Ignacii likes this.
  50. Ignacii

    Ignacii

    Joined:
    May 23, 2013
    Posts:
    106
    Yay! Hope so :) Scene search feature is going to be great for sure.
     
    myanko likes this.