Current 2D Renderer's missing core features

I am going to nag once more here, because it has been so long and nothing from the list below has been addressed even with 2020.2f1 release.

  1. Emissive Channel - This is MUST have for any 2D or 3D rendering pipeline. I am not sure why this was not implemented the first time, because no rendering pipeline is practically usable without one. [ Done, _CustomLitMode]

  2. Opaque Texture ( GrabPass ) [ Done, _CameraSortingTexture ]

  3. Soft Shadow

  4. Renderer Features, is an another must have feature. [Maybe on URP 12]

  5. Updatable ShadowCaster2D runtime sprite silhouette and ShadowCaster2D Falloff Distance.

  6. Tilemap ShadowCaster2D support.

  7. Directional Light support. [Maybe on URP 12]

  8. Ability to write directly to the buffers, such as Normal, Light.

Now, I know that the 2D renderer team is working on the “optimization” but we have no idea how far that has come to and when we will be able to get our hands on that and move on to the critically missing features?

Share the roadmap, dates, anything! Please!

12 Likes

EDIT: OP updated post with my entry.

1 Like

Updated !

Just adding my support here. Falloff distance in particular is absolutely necessary for every use case I can think of; without it there doesn’t seem to be any viable way to use dynamic lighting in an open world top-down game. Soft shadows and tilemap shadow casters would definitely be appreciated as well.

As it is right now we have no way to actually test the aesthetic we’re going for with our game. It’d be nice to be able to periodically check our assets (which are all currently being drawn) with the dynamic lighting & shadows that we’re planning to use and make sure it all looks exactly the way we want it to, but right now we just have to guess and hope everything comes together properly when these features eventually make their way in.

2 Likes

I dont mind a bit of waiting, if it is necessary. But waiting without knowing what is to come is dreadful.

1 Like

Also throwing my support in for this feature. It’s the last thing I need from the 2D renderer. Even just an eta would be very welcome

When you have no idea when/or what is going to happen to the critical core feature that you are betting your life on, it is very fearful feeling.

The thing is, ok so it is partially my fault to gone with the experimental feature, but when 2Drenderer came out, (when was it… I even forgot it now,… May 2016 ???), it “looked” promising and the update seemed like it will be followed swiftly.

But instead, I think years has passed and we still have no idea when/what… if any? Why is there no detailed roadmap, dates etc shared to the community?

1 Like

I’ve been checking for updates on this subject daily since there’s no better way to know about. I love 2D Renderer, it’s probably my favorite feature on unity and currently the main reason for me to use it, but I just wish they’d share some detailed info about what they’re focusing on, there’s so many features missing right now

1 Like

I also support a roadmap. :stuck_out_tongue:
(but I feel like I shouldn’t have to. Roadmaps are kinda common courtesy these days… Why we still do not have one is beyond me).

I’d like VFX Graph support for 2D renderer. That said, the focus on optimization / solidifying current features for 2D generally seems appropriate to me since it’s only been the past handful of releases that fixes important to me (batching / culling) have been implemented. Exposing more for the scripting API ( get/set secondary textures , lower-level tilemap API ) are more current issues for me b/c I’ve already gone with baked shadows and carefully tuned pseudo emission. A public roadmap for 2D features sounds like a great idea.

3 Likes

My 2 cents:

1-Ability to choose which ShadowCasters are affected by which lights ( https://forum.unity.com/threads/ability-to-choose-which-shadowcasters-are-affected-by-which-lights-by-layer.1029523/ )
2-Blend mode in Sprite-Lit shaders in ShaderGraph ( Blend mode in Sprite-Lit shaders in ShaderGraph )
3-Read lights texture in ShaderGraph ( Read lights texture in ShaderGraph )
4-Target Sorting Layers as an asset ( [2D Lights proposal]: Target Sorting Layers as an asset )
5-Custom postprocesing
6-Sprite masks that use alpha gradients instead of just cut-off

My total support for the Emissive colors, I would put that as the first and main priority.
Regarding tilemap shadow casters, I shared my solution for now: Script for generating ShadowCaster2Ds for Tilemaps

2 Likes

I agree.

Emissive channel is pretty basic and fundamental feature that should have been implemented even before the shadow… Beats me why that was not implemented tilll now… I was pretty shocked to find out.

1 Like

Well, there is the product board. Why this isn’t more prominent is what I don’t understand.

https://portal.productboard.com/unity/1-unity-graphics/tabs/9-visual-effect-graph

You can vote there how important a feature is. Not sure though if that has any impact on the priority though :wink:

Well… there still seems to be nothing about 2d renderer…

Yep! But we don’t have one for 2D URP. :frowning:

It feels like Unity doesn’t want us knowing about the Product Boards… Maybe because it makes them feel responsible when the most critical / asked-for features take a year to implement? (I’m looking at you, point-light shadows). :roll_eyes:

1 Like

Well, it’s a bit hidden. So for example, for us the VFX Graph needs to be supported, so when you tab to VFX Graph, you can see an entry there:

6699184--768847--2021-01-07 17_15_05-Visual Effect Graph - Unity Graphics _ Product Roadmap – Mozilla Firefox.png

But, yes, it would be very useful to have a separate tab for the 2D Renderer @officials!

1 Like

Recent Unity blog says that 2drenderer wants to be default mode for 2d work flow… it is a pretty predominant statement. But it lacks all the exposure, roadmaps, plans shared to the public. Even the recent blog post and all the videos about 2drenderer at Unite sessions are about old stuff, it does not mention anything on what is coming, when they will land, what are they working on exactly. It is not enough to just say, we are working on 2drenderer … then one day just boom… here. Devs needs to be able to plan around core features… it is not like 2drenderer has been just released… it has been years… years!

4 Likes

Agree! It’s pretty annoying and frustrating to even not know what features are actually supported before you start. If we had known that the 2D Renderer doesn’t support VFX Graph (and GPU particles with it), then we would have implemented our own 2D lighting, which seems also to be stuck in development (maybe it isn’t but how should we know?).

Would love to hear official comments on this. Maybe @rustum or @Chris_Chu ?

2 Likes

Indeed, that was the one of other thing that I didn’t know and caught me off guard.

I’m going to try to answer some of these. Any questions I ask anyone/everyone who wants to answer can.

  1. I totally agree. This is something we wanted to do, but just has not made it yet.

  2. The opaque texture behavior normally captures the frame buffer after the opaque objects have been rendered. Because Sprites are transparent, I have added something called _CameraSortingLayerTexture for URP 11. It allows the user to capture the rendering of the back most layer to a specified layer into a render texture.

  3. What is your expectation on this, do you just want softness on the edges (like PCF) or are you thinking accurate soft shadows? Also what sort of device are you expecting soft shadows to run on?

  4. What are some specific examples you would like do with renderer features that you can’t currently do?

  5. What will you use falloff distance for. Do you have some screenshots for a game uses falloff distance similarly?

  6. This has been a big issue. Hopefully, we can have something in for URP 12 for this.

We are experimental and still missing some feature compatibility with some systems. For VFX graph specifically, the 2D team has done some of the work needed for compatibility, and the VFX graph team is working on the remaining changes.

I know everyone wants more transparency into what is happening, but I can’t give out a roadmap at the moment. I can say, as I have before, that we are working toward becoming the standard renderer for 2D. I know that seems to mean to some people that we need more features, but it actually means we need to make sure that we better support existing features and packages, have good stability, and performance.

Also if there was a way to work around some of these issues yourself, by using shadergraph, or renderer features, etc, would this be an acceptable temporary solution.

5 Likes