From Unity 2023 to Unity 6, many weird issues and worse user experience in many topics

Overall, I feel like Unity 6 VFX Graph has some impromvements on the UX, also some better performance and the option to use new templates and removing that from the node system is much better.
But, there are a lot of things that are just worse now, starting by the lack of render order (At least, usable one)
On the VisualEffect dedicated output custom shader, you had the option to set a Sorting Order.


Since 6 doesn’t include this anymore, the only way I’ve found to set a custom render order per shader is this, the SortKey (If it doesnt do that, the descriptions are extremely confusing).

The change from a single “ParticleMesh” output that you could add a shader graph instead of the base one, to a “ParticleShaderMesh” without a toggle or a button to change from one to another, is just odd.
In a normal workflow, custom shaders increase compilation times on iteration by a lot, so to blockout shapes, it makes sense to wanting to swap from one to the other, something not doable anymore. Seems like an odd change just for a worse result. I would ask at list for a toggle or an equivalent for those, instead of two indvidual outputs. (Found the convert output, makes flow easier, stills more messy than previous versions, but could be worse)

Removing the quick search access to some nodes, right now to search for a “multiply over lifetime” you need to access from a “set size over lifetime” and then select the subnode, or change it once it’s instantiated. The submenus are really nice, but missing a nice feature from previous versions is just weird.

This last feedback also applies to things like position shapes, I like that they are now unified under the same node (Shape: Sphere) From the menu, unless you find it first, there is no way you know you can change that later. And even more important, it’s adding an extra step where it wasn’t needed. Even more considering than any extra step in VFXGraph implies a new compilation pass.

Those are my thoughts after my first hours of use, probably, due to the “VFXGraph doesn’t save unless you save it, or close the effect” will be nice to have some kind of autosave feature that you could recover in case of a crash, something that happens pretty often in 2023-6.

Thanks a lot,

(Discussion made me delete my photos, so I guess you need to believe everything I’m saying)

PD: Unity front porting is a bit miserable, even in some projects, impossible.
VisualEffect output was the most reliable one in previous versions, so render queues are completely broken.
All the systems won’t open with the “updated” system for output, so you need to manually fix them one by one. Plus fixing blendings, ZW, sorting (if I could, but it’s broken), etc.
I fill this could be improved a lot if you want games with over thousand of effects being ported to any future version. (I work on one of those and that’s impossible to even consider)

Why had to delete the photos ?

This is extremely strange, was there a moderation on the photos or were auto removed for some reason ?

Also by the post above seems effects that previously worked maybe now not work the same, this should qualify as a new bug in Unity 6.

A bunch of them, maybe, I’m already planning on opening a new bug
(It’s my first post on discussions forums, so I guess that’s the reason)

1 Like

Morning! First, let me thank you for your detailed feedback. It’s always very valuable to get them so that we can push VFX Graph further. I will answer the best as I can and with as much transparency as possible, putting some context whenever it makes sense.

I am not sure why you are not seeing this Sorting Priority, as I can see it on my end. I’m guessing it’s a bug. If so please, don’t hesitate to fill a bug so that we can tackle it. This Sorting Priority allows you to enforce the Sort order between Output within the same VFX Graph. Another method is to use the Output Render Order (in the Inspector setting when selecting the VFX Asset in the Project) to easily manipulate the output list order.

Sorting transparency is often tricky, here are two post where you might find useful information about sorting and VFX Graph.
Post A
Post B

To give some context here, this change occurred to reduce some internal complexity and potential data loss while switching the Render Pipeline. This is part of an incremental improvements plan. To make it simple, we know that this is a regression on UX standpoint, but these foundation changes were needed, and this UX regression will be addressed in future released.

I’m not sure why the Right-Click→ Convert Output isn’t a viable solution. This allows you to convert your Output from Quad Unlit to Lit to Strip to Shader Graph Output pretty easily. And your Output Blocks as the Output settings that can are preserved. Now, don’t get me wrong, as said upper it’s an UX regression, but now that the foundations are better, we hope to mitigate this issue and improve the idea of Output composition instead of inheritance.

So, to provide some context here, a lot of the Node Search and Blackboard UX changes and improvements have been made with several things in mind:

  • Reduce interface clutter and overwhelming feeling for new users.
  • Provide Better Browsing/ Search experience.
  • Keep the Power user workflow

To reduce visual clutter and help the new users, we’ve put all the “Main variant” in the main panel, and moved the other variants to the details panels.
This details panel can be opened at any moment and its state is kept for the session.

All blocks with variants have an icon that lets you easily open the detail panel, although you can also open it with the dedicated icon in the top.

The Node search has also been re-ordered in a hierarchical tree view, instead of drawers. So, overall, the browsing experience should be way faster (less click to reach the wanted block) than before as the average folder depth is 2 while it used to be 4.

Now, most advanced users use the Search function, and VFX Graph always featured an approach that exposed to the users, most, if not all variants (Block with composed settings).
For new users, the feedback has always been that the number of results were scary and overwhelming.
To mitigate this, we decided that, by default, only the Main Variants (which were chosen for each block based on how often they were used.) will be displayed in the main panel and for “basic search”.

Now, VFX Graph users can still have the previous experience:

Toggling the Sub-Variant Visibility button, allows you to expose all variants in the search, just like before. The state of these buttons is kept between sessions.

|517x487.49446881071896

You can also temporarily toggle all variant search by starting your search with a “+” as stated by the tooltip. This can be useful, to only get full search when needed.

We’ve introduced some new visual elements → Pills/Tags, that should give some hints to know the Variant/settings part of a block. In the future, we want to implement Interactive Tag/pills on the Blocks themselves. This would allow the user to change the Composition mode, and settings directly by clicking the Tag/pills and without going into the inspector. This will help with setting discoverability, and also save space on each block.

I hope, this can shed some lights on why we’ve made those changes. So, from what I’m understanding from your feedback related to Node Search, enabling the Sub-variant toggle should give you the previous search experience. To get the previous browse experience, you can keep the details panel open. Both of those options are saved between session.

An auto-save feature could be pretty useful. Sadly, it’s currently not planned for U6 Cycle but could be considered for later.

I’m truly sorry to hear that, as it shouldn’t happen. I would encourage you to fill a bug so that we can repro as this seems like a High user pain issue that should be resolved as swiftly as we can.

While we are trying to provide the best possible upgrade solution, I would just like to highlight the fact that a Library of thousand of effect might not be the ideal configuration with VFX Graph. A thousand of different VFX assets means that none can be batched together thanks to the instancing features, which would be bad for performances. Furthermore, Built-time will clearly suffer from the size of such a library.
On of VFX Graph strength is to allow you to create a versatile VFX assets that can be parametrized and made unique by tweaking instanced properties.

To finish, I would like to thank you gain for taking the time to make this long feedback, and please keep them coming. I wish you a sunny day.

4 Likes

Hello!

First of all, thanks for the reply!

I’m adding a GoogleDrive link to be able to add all the media.
https://drive.google.com/drive/folders/14zrAPKuIoz-PJe4nQOmUO9Ljw2aArjks?usp=sharing

I think, Sorting Prio on custom Shaders is definetely broken.
This is a screenshot in 2022.3
Check ScreenshotUnity2022-3.
This is on 6
Check SccreenshotUnity6.

Seems like SortingKey is not working at all, RenderOrder in the system is, but this is odd. There are timees where you want some pieces of ALL the VFX rendered behind, like AlphaBlend Masks or RefractionParticles (Since they use RenderOpaque, it’s good to avoid making it draw on top of transparencies).

Check SortingOrder_Weird video.

I found the ConvertOutput, but since I needed to change all the shaders from the VisualEffect to the URP+VFXGraph support target, none of the properties were kept (ZWrite, RenderOrder as is broken, Blending, AlphaClip/Shadows). This made everything extremely slow and painful.
Check ConvertingIssues video.

“While we are trying to provide the best possible upgrade solution, I would just like to highlight the fact that a Library of thousand of effect might not be the ideal configuration with VFX Graph. A thousand of different VFX assets means that none can be batched together thanks to the instancing features, which would be bad for performances. Furthermore, Built-time will clearly suffer from the size of such a library.” For sure, reusablity is the key, but any big game (Literally the one i’m working, with tons of abilties and different interactions) will end up with 1000 of effects easy (980, I’ve just checked). For sure build time suffers, you safe from the performance perspective (But it’s similar than other projects, since the materials needed on shuriken compensated). Maybe the worse part is testing on editor after removing library, when you need to wait for little compilation times. Overall performance is impresive compared with Shuriken.

I can get used to working on new search system, I think could be a bit better by setting the option of search “MultiplyOverLifetime” for example and having it appear, I feel like is an extra step that in the past I got automatized and know i need to add some clicks. If more users feel like this is the right path, I’m none to disagree.

One more thingy I found, is there a plan on the roadmap to make shader decal and light layers for VFX Graph accesible? Right now they only allow for plane looking and vague alpha dissolve, allowing access to this could really improve VFXArtists life.

Thanks a lot again,
R.

1 Like

Well, from the screenshots, I can see that the advanced option dropdown is closed.

I think that the sorting priority setting that your searching is under it.

I’ll check with the team, as this seems like a pain, especially if you’ve customized most of them.
Do you think that you can share us a small 2022.3 unity package so that we can test on our hand?
Or is this issue (lost setting during conversion 2022.3 → Unity 6) happen with all? If so, I can make an easy repro.

Well, I’ve never reached these kind of numbers even on big AAA or AA productions :hushed:. But this might be due to the type of project, or the workflow. I’m really curious now :grinning:. Are you mainly using VFXG assets with only one system inside so that you can more easily kit bashing them together by any chance?
Anyway, the issue doesn’t come from the number of VFX assets but from upgrading pains which are on our side :sweat_smile:

Well, as I explained, you shouldn’t need to get used to as we kept the best of both world. Just need to Toggle the Sub-variant Once as the toggle state is saved.

ShaderGraph particle decal output would be indeed killer. Not on the roadmap yet, but as we added recently URP decal output, it’s a logical next step.

Could you be a bit more specific with by Light Layers ?
Are you talking about the rendering Layer Mask ? If so This is working with VFX instances.
But you might refer to something else

Here only my VFX is affected by the Red light which is using the Light Layer 1 in the Rendering Layer Mask.

Have a great day.

1 Like

Hello again!

I’ve just seen the issue with the sorting prio! Thanks a lot for clarification, I was super confused, maybe sorting shoulnd’t be there tho!

I can send you some personal files for sure! Can I do that privately?
I can also disclousure more about the projects that way.

I thought about having the light layer per decal on the VFXGraph output itself, but that can get the work done too! (You can use light layers to decide where a decal is not projected, to avoid environmental elements on top of players or this kind of stuffs).

Cheers,
R

Sure, let me see with our Product manager to see how to organize this.

Regarding, Decal, you can also have access to the decal layer in your Output settings.
Decal layer features needs to be turned on in your Render Asset first for this to be visible.

Sadly, the sorting between Particle Decal and Regular decal isn’t very customizable.

Sure, I think you have access to my mail!

Decals work, thanks! Seems like the UI got updated when I reopen the Graph!

1 Like