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

VFXGraph - UX feedback

Discussion in 'Visual Effect Graph' started by cAyouMontreal, Feb 22, 2020.

  1. cAyouMontreal

    cAyouMontreal

    Joined:
    Jun 30, 2011
    Posts:
    315
    Hey VFXGraph community, I've been using the tool for a couple of weeks quite intensively and I really love the tool, it's been a while since I was that much impressed by a new feature, and I feel so much potential from it!

    I have a some feedback to give that could improve the tool, mostly on the UX part (using 2019.3.0f6 URP 7.2.0):

    - Set/Get nodes. An alternative to either custom attribute or subgraph node, a way to set a result of some nodes into a local variable for the particle easily, and get it from anywhere else. It's like custom attribute but not connected to the trunk, that will give a cleaner node organization (check Amplify Shader Editor if you want some example).

    - Sometimes dropping a property won't work, you have to wait a few seconds to be able to do so, so quick drag&drops will most of the time fail, that's a bit annoying.

    - Give a better view of where a property is used. Right now the only way to see that is to hover your mouse pointer to a property and it will highlight where it's used in the graph, assuming you're looking at the right part of it. I would like to have a list that I can click on each item to see where they are in the graph.

    - Connecting a node to a new one not linked into the graph causes a recompile (not all the time??). This is weird, as I would assume that it would happen only when connecting a node into the trunk for real. The only work around I found was to uncheck auto compile, but I still like the option to be toggled on most of the time.

    - I would like to be able to right click on a node/operator/etc...and quickly access to the documentation, assuming there is one dedicated for each node (as far as I know there is not, so a better documentation would be great).

    - Related to that, it would be great to have a simple example for each node, as some are not intuitive at all.

    - Going on a sub graph from the main graph should give you an easy way to go back to the main graph, with a back arrow or something, like subgraph in an animator.

    - World/Local buttons are not intuitive at all. It took us (at our studio) quite a lot of time to figure out that W/L was a button that you can click to change the simulation or calculation space.

    - I don't like to have some "hidden" options on some nodes/operators on the inspector, and sometimes after clicking on the wheel of the node etc...It's messy and counter intuitive.

    - A way to easily connect a node between two others. In Amplify Shader Editor, you can hold alt and drag a node on a wire, releasing left click will automatically connect it in between. Alt click with an already connected node will disconnect the node and connect directly the two other ones.

    Issues found:
    - I've found an issue with Burst in URP, where the particle ids get shuffled randomly, making the strips useless (as they use the ids to make like between particles)

    - If you try to use a particle ID in the spawn event, the value is NaN.

    - sometimes the UI is glitched. Like I can't see the number inside fields, I have to zoom in/out and they will be displayed again.

    Thank you for reading me, I hope you will consider some of these improvements for a better dev experience!
     
  2. VladVNeykov

    VladVNeykov

    Unity Technologies

    Joined:
    Sep 16, 2016
    Posts:
    550
    Hi @cAyouMontreal ,

    Thank you for taking the time to put together the feedback!

    Yup, we've discussed this, a way to 'teleport' a value would be quite useful.

    Do you mean when adding blocks, or connecting nodes to the graph? If so, I would recommend turning Auto compile off (in the top-left of the VFX window) when making larger changes as yes, recompiling all the time when making many changes can take up time.

    Also discussed, along with a way to remove unused properties.

    A known issue as well, you are correct that the graph should only recompile when valid connections are changed. It happens all the time as long as some noodle of what you are changing is connected to a valid system.

    The docs team is working on it :)

    Agreed; breadcrumbs are on the feature list for the UI system we are using and we'd like to add this once it's supported. Another request has been to support more than 1 VFX window (similar to Shader Graph).

    Because of the ubiquity of the spaceable attributes, it's important that this doesn't take up a lot of space, but at the same time, I hear you that the discoverability is not great. I'll raise the point with the team.

    This is an interesting topic; in a way, almost everything in Unity is using the inspector, but if the VFX window is maximized, then it's easy to miss the additional settings. There are some discussions about ways to have more of this within the vfx window itself.

    That's added! :)


    You should use particleIndexInStrip, there's some more details here:
    https://forum.unity.com/threads/high-particleperstripcount-messy.829950/#post-5488242

    I've seen that too, started relatively recently. Can't quite get reliable repro steps, it's not very consistent, but we are aware of it and it'll be hopefully be addressed soon.

    Hope this is useful, thanks again for taking the time and for your patience working around some of these UX challenges! :)
     

    Attached Files:

    PhilSA likes this.
  3. cAyouMontreal

    cAyouMontreal

    Joined:
    Jun 30, 2011
    Posts:
    315
    I appreciate your quick reply, thank you!
    About the drag and drop issue, it happens when you drag a property from the blackboard into the graph, if you quickly drop it it won't work.
     
    Last edited: Feb 24, 2020
  4. VladVNeykov

    VladVNeykov

    Unity Technologies

    Joined:
    Sep 16, 2016
    Posts:
    550
    Ah, thanks, I see it now. A few observations:
    - It doesn't seem to be a time issue, but rather the mouse state doesn't update. If you move the mouse a bit before the drop, it seems to work:

    - It also seem to only happens if the effect is playing in the scene

    Either way, it's logged and the team will take a look. Thanks!
     

    Attached Files:

    cAyouMontreal likes this.
  5. cAyouMontreal

    cAyouMontreal

    Joined:
    Jun 30, 2011
    Posts:
    315
    Yes, that's exactly the issue I had, thanks for clarifying the repro case, I'm bad at QA -_-