alpha transparent shader with changeable color?

Hello there,

i’m not that familiar with shaders and have stumbled upon a difficulty, what i would like is for the center of the texture to be transparent but the outline to be visible as seen in the image below (im using a unlit transparent shader)

I got this far but i would like to be able to change the color of that border at runtime and have not been able to figure out how; I did try getting the render and using

material.color = myColour;

but this failed. Any help would be much appreciated,


// Unlit alpha-blended shader.
// - no lighting
// - no lightmap support

Shader "Unlit/Transparent Color" {
Properties {
	_Color ("Color", Color) = (1,1,1,1)
	_MainTex ("Base (RGB) Trans (A)", 2D) = "white" {}

SubShader {
	Tags {"Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent"}
	LOD 100
	ZWrite Off
	Blend SrcAlpha OneMinusSrcAlpha 
	Pass {  
			#pragma vertex vert
			#pragma fragment frag
			#pragma target 2.0
			#pragma multi_compile_fog
			#include "UnityCG.cginc"

			struct appdata_t {
				float4 vertex : POSITION;
				float2 texcoord : TEXCOORD0;

			struct v2f {
				float4 vertex : SV_POSITION;
				float2 texcoord : TEXCOORD0;

			sampler2D _MainTex;
			float4 _MainTex_ST;

			fixed4 _Color;
			v2f vert (appdata_t v)
				v2f o;
				o.vertex = UnityObjectToClipPos(v.vertex);
				o.texcoord = TRANSFORM_TEX(v.texcoord, _MainTex);
				return o;
			fixed4 frag (v2f i) : SV_Target
				fixed4 col = tex2D(_MainTex, i.texcoord) * _Color;
				UNITY_APPLY_FOG(i.fogCoord, col);
				return col;


This is the built-in Unlit/Transparent shader with colour support. Create a new shader and paste this inside.