So I'm very numb when it comes to shaders... I was looking around the internet for a shader to use as a quick transition between game views, and I found this: I don't have Shader Forge to recreate it though. But I saw that the video had a snip-it of the code, so I went as far as I could with that snip-it and need help finishing it. Heres my code: Code (CSharp): // Upgrade NOTE: replaced '_Object2World' with 'unity_ObjectToWorld' // Upgrade NOTE: replaced '_World2Object' with 'unity_WorldToObject' // Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)' Shader "Custom/Transitioneffect" { Properties { _offset("offset",range(0,1)) = 0.5 _Scale ("Scale", Range(0,1)) =1 _Transform("Transform", Range(-0.1,1)) =0.5 _Normal_Switch("Normal_Switch", range(0,1))=0 _matCap_Out("matCap_out",2D)="white"{} _matCap_In("matCap_In",2D)="white"{} _Normal("Normal",2D)="white"{} _Emissive("Emissive",2D)="white"{} _edge_Color("edge_Color",Color) = (0.02829963,0.160451,1,1) _edge("edge",float)=2 _microchip_Color("microChip_Color",Color)= (1,0.354,0,1) _microship("MicroChip",float) =2 } SubShader { Tags { "RenderType"="Opaque" } Pass{ Name "FORWARD" Tags{"LightMode"="ForwardBase"} Cull Off CGPROGRAM #pragma vertex vert #pragma fragment frag #define UNITY_PASS_FORWARDBASE #include "UnityCG.cginc" #pragma multi_compile_fwdbase_fullshadows #pragma exclude_renderers gles3 metal d3d11_9x xbox360 xboxone ps3 ps4 psp2 #pragma targate 3.0 uniform float4 _TimeEditior; uniform float _offset; uniform float _Transform; uniform sampler2D _matCap_Out; uniform float4 _matCap_Out_ST; uniform float _Scale; uniform sampler2D _matCap_In; uniform float4 _matCap_In_ST; uniform sampler2D _Normal; uniform float4 _Normal_ST; uniform float _Normal_Switch; uniform sampler2D _Emissive; uniform float4 _Emissive_ST; uniform float4 _edge_Color; uniform float _edge; uniform float4 _microchip_Color; uniform float _microchip; struct VertexInput{ float4 vertex : POSITION; float3 normal : NORMAL; float2 texcoord0 : TEXCOORD0; float2 texcoord1 : TEXCOORD1; float2 texcoord2 : TEXCOORD2; }; struct VertexOutput{ float4 pos : SV_POSITION; float2 uv0 : TEXCOORD0; float2 uv1 : TEXCOORD1; float2 uv2 : TEXCOORD2; float4 posWorld : TEXCOORD3; float3 normalDir : TEXCOORD4; }; VertexOutput vert (VertexInput v) { VertexOutput o = (VertexOutput)0; o.uv0 = v.texcoord0; o.uv1 = v.texcoord1; o.uv2 = v.texcoord2; o.normalDir = UnityObjectToWorldNormal(v.normal); float node_1665 = 0.0; float transform = saturate((node_1665 + ((o.uv1.g -_Transform) *(1.0 - node_1665))/((0.1+ _Transform) - _Transform))); float3 node_9074 = mul(unity_WorldToObject, float4(mul(unity_ObjectToWorld, v.vertex).rgb,1)).xyz; v.vertex.xyz += ((v.normal * _offset*transform)+(_Scale*(node_9074.rgb -(v.normal * dot(node_9074.rgb, v.normal)/dot(v.normal,v.normal)))*(-1.0)*transform)); o.posWorld = mul(unity_ObjectToWorld, v.vertex); o.pos = UnityObjectToClipPos(v.vertex); return o; } float4 frag(VertexOutput i, float facing : VFACE) : COLOR{ float isFrontFace = (facing >= 0 ? 1:0); float faceSign = (facing >= 0 ? 1:-1); i.normalDir = normalize(i.normalDir); i.normalDir *= faceSign; float3 viewDirection = = normalize(_WorldSpaceCameraPos.xyz - i.posWorld.xyz); float3 normalDirection = i.normalDir; float4 _Emissive_var - tex2D(_Emissive, TRANSFORM_TEX(i.uv2,_Emissive)); float4 _Normal_var = tex2D(_Normal, TRANSFORM_TEX(i.uv0, _Normal)); float2 node_1864 = (mul(UNITY_MATRIX_V, float4)lerp((_Normal_var.rgb*2.0+-1.0),i.normalDir,_Normal_Switch),0)).xyz.rgb.rg*0.5+0.5); float4 _matCap_in_var = tex2D(_matCap_In,TRANSFORM_TEX(node_1864, _matCap_In)); float4 _matCap_out_var = tex2D(_matCap_Out,TRANSFORM_TEX(node_1864, _matCap_Out)); float4 node_1843 = _Time + _TimeEditor; float3 emissive = ((_edge_Color.rgb*_Emissive_var.r*_edge)+lerp(_matCap_in_var.rgb,_matCap_out_var.rgb,IsFrontFace)+(saturate(((i.uv0.r+sin(((node_1843.g*(-6.0))+(i.uv1.g* // line was cut off at the end bit here. float3 finalColor = emissive; return fixed4(/*FinalColor?*/); } ENDCG } } FallBack "Diffuse" } If it makes it easier, I don't plan on using the microchip bit, so don't bother setting that up if its not required. again I'm very numb with shaders so if something looks obvious. I didn't know. also, TEACH ME THINGS! I'm trying to better understand shader lab so if you could post an answer in a way that'll help me do that while not being cryptic, I would appreciate it! Many Thanks!