lukakldiashvili / Unified-Universal-Blur

UI blur (translucent) effect for Unity.
MIT License
424 stars 33 forks source link

blur works only after additional setup #22

Closed punyacen closed 2 weeks ago

punyacen commented 3 weeks ago

I had an issue where the blur didn't work at first, although I followed the exact instructions in the readme. I use Unity 6 LTS (6000.0.23f1) and had to check this Compatibility mode option under Render Graph in Project Settings -> Graphic to make the blur work

image image

There seems to be a warning about disabling Render Graph API, but I still haven't found any major issue yet. I don't know if it is Unity 6 only issue, but I'm submitting this issue in case anyone else face the same problem

lukakldiashvili commented 3 weeks ago

I will implement Render Graph support soon. Thank you!

matyX6 commented 2 weeks ago

Yeah... Hi again! I also updated my project to the Unity 6 and the package obviously only works under compatibility mode. I would already make a pull request with the update, but this migration seem like a tricky step for me since I've never dug deep into rendering code.

Btw Luka, did you already take a look at the Render Graph? It seems like the code will be similar with the similar features they retained, but slightly reorganized.

lukakldiashvili commented 2 weeks ago

Hi @matyX6! Yeah, I did take a look at Render Graph, both how URP handles it and how user is meant to use it for a render feature.

I am planning to rewrite the feature from the ground up, on a separate branch. But, as you said, the API is vastly different, and I want to take time to consider the proper way to port the feature.

My biggest concern is backwards compatibility. I may not be able to properly back-port it then, for previous versions of Unity, or it might not be worth it.

matyX6 commented 2 weeks ago

Thank you for your answer! Yeah, everything you said is understandable. First thing that crossed my mind was "How will he handle backwards compatibility?". This indeed seems like the biggest question while migrating the code to the new API.

Although it is possible to achieve, I feel that backwards-compatible code will always somehow be harder to mantain in the future, and would unnecesarily add to code complexity. Since Unity is dropping the support for the older API, or at least that is how I interpreted it by their warnings, it maybe really isn't worth it as you said.

Me personaly, I would treat the versions that are released until now as a solution for the older API, and focus on the future in parallel with Unity philosophy. Hopefully this feedback helps...

Btw, if you are in the process of migrating the code, and need testing and feedback before merging it to main branch, do not hesitate to send a message here.

lukakldiashvili commented 2 weeks ago

@matyX6 Thank you for your efforts! The new branch is now available, and I am looking forward to your feedback!

lukakldiashvili commented 2 weeks ago

I am closing this issue in favor of #23.

Current solution is to enable compatibility mode in Graphics settings for Unity 6, that is, until we release render graph support.