unit – Problem with alpha channel hard edges in sprite Shader

I was looking for a shader that could apply a texture to the sprite and move it according to its position in the world.
I've found an example of shader from here.


It works fine, except that the alpha channel crashes and the edges become sharp:Left - with the standard Sprites-Default shader. Right - with mine

Left – with the standard Sprites-Default shader.
Right – with mine


My current shader:


Shader "Custom / Tile" {
properties
{
_NewTex ("Texture", 2D) = "white" {}
}
SubShader
{
Cull Off ZWrite Off ZTest Always
Mix SrcAlpha OneMinusSrcAlpha

Pass
{
CGPROGRAMME
#pragma vertex green
#pragma fragment frag

#include "UnityCG.cginc"

struct appdata
{
top float4: POSITION;
float2 uv: TEXCOORD0;
};
struct v2f
{
float2 uv: TEXCOORD0;
top float4: SV_POSITION;
};

float4 _NewTex_ST;
v2f green (appdata v)
{
v2f o;
o.vertex = UnityObjectToClipPos (v.vertex);
float2 worldXY = mul (unity_ObjectToWorld, v.vertex) .xz;
o.uv = TRANSFORM_TEX (worldXY, _NewTex);
return o;
}
sampler2D _NewTex;

fixed4 frag (v2f i): SV_Target
{
fixed4 col = tex2D (_NewTex, i.uv);
back collar;
}
ENDCG
}
}}

How to reach left alpha sprite look? And yes, I am totally noob in shaders.