Unity shader alpha and transparency issue?

hello, new to unity and fx here.

trying to understand whats happening and how to solve it,

  1. I have a sprite unlit shader (alpha) created in shadergraph urp,
  2. The mesh is a simple cylinder without the bottom face.
  3. Texture renders through to the other side, displaying the non existent “Backface” of the cylinder
    ( but only when I am viewing the mesh from one side )
  4. Yet the texture does not cut off when I simply rotate the camera and view from another direction.

Can anyone explain this issue, or give suggestions on how to solve it?
Basically want to control the sorting of the alpha, but retaining the properties of alpha/additive. ( e.g. not using opaque materials for a solution )

first cylinder is the cutoff when facing from 1 direction
Cylinder 2 is the correct look, sort of, when facing from another direction.

is this possible… ?

Hey! Most likely it is about sorting issues. Are you by chance rendering two sides of the mesh?
You need to check your culling options and turn on the one that renders only outside (usually back culling).
If you need two-sided without sorting issues, I can recommend creating absolutely the same second mesh but with flipped normals that would render only the inside part. So you can combine them and you will not see this problem but at a cost of 2 meshes.

2 Likes

Hi there!
Thanks for the reply!

Yeah i didnt need to render both sides.

I assume you are talking about vfx graph culling options. I’m actually just using sprite unlit shader with the vanilla particle system, there wasn’t any options to tweak its culling. ( not that I know of )

But I’ve now switched to unlit shader and could find the culling option under render face > Front ( I assume this is it ) , and this seems to have fixed the issue! so thanks a bunch!

Btw is there any difference between sprite unlit or unlit shaders? other than a warning that tells me sprite unlit shader’s isn’t meant for vfx graph? Just curious.

spriteunlit