# How to make neon lightning effect in unity 3d

How can i Create Neon Lighting effect in unity 3d ,

so i have 2d scene and i want the rect to glow like neon

• @AlexandreVaillancourt i tried to follow some video tutorials but they are so complex, hope you can help me – Kartik Dec 7 '17 at 2:42
• Then you want us to write a tutorial tailored for your needs? – Vaillancourt Dec 7 '17 at 2:45
• @AlexandreVaillancourt maybe but you can give me some hints or suggest any tools for this – Kartik Dec 7 '17 at 2:47
• I suggest you take a look at the help center. Asking good questions is hard, but it's worth it. Questions containing only 10 words rarely make good questions. We expect you'll put as much effort into your issue (and more) and writing the question than we'll put effort into writing an answer. – Vaillancourt Dec 7 '17 at 2:54
• The pictures are a great step, mainly we just need to know what part of neon lights isn't working for you. The answer to the question would be very different if your neon lights aren't working because they're not glowy enough vs they aren't working because they aren't colored or don't cast shadows. If you can get some screenshots of how your current attempt at neon lights looks as well, people will be able to give you even better answers :) – Lunin Dec 7 '17 at 3:09

You could achieve the neon light effect in two different ways, depending on your lighting. If in your game you use static baking with lightmaps you could use an "emissive shader", if you want to use realtime lighting with realtime shadows, you can use an emissive shader or an unlit one, and with pointlights or a spotlight. If you dont want to do everything by yourself there is also this package

• so there is no way to do with scripts and shaders – Kartik Dec 7 '17 at 17:13
• Yes, you can use shaders. Otherwise you could use post processing effects like Unity's post processing stack. – user100681 Dec 7 '17 at 17:18

A simple way to perform a glow, particularly in 2D, is to make a blurred copy of your image and then blend it with the original image. You can use either a normal blend with a 50/50 mix between the original image and the blurred image, or you can use an additive blend. It can be helpful to threshold the original image before blurring it if you want only the brightest parts to glow. You can also give it a color cast before the glow if you want the glow to be a particular color.

Shader "Glow" {
Properties {
_MainTex ("Texture", 2D) = "white" {}
_Color ("Color", Color) = (1,1,1,1)
_Glow ("Intensity", Range(0, 3)) = 1
}
Tags { "Queue" = "Transparent" "IgnoreProjector" = "True" "RenderType" = "Transparent" }
LOD 100
Cull Off
ZWrite On
Blend SrcAlpha OneMinusSrcAlpha

Pass {
CGPROGRAM
#pragma vertex vert
#pragma fragment frag

sampler2D _MainTex;
half4 _MainTex_ST;
fixed4 _Color;
half _Glow;

struct vertIn {
float4 pos : POSITION;
half2 tex : TEXCOORD0;
};

struct v2f {
float4 pos : SV_POSITION;
half2 tex : TEXCOORD0;
};

v2f vert (vertIn v) {
v2f o;
o.pos = mul(UNITY_MATRIX_MVP, v.pos);
o.tex = v.tex * _MainTex_ST.xy + _MainTex_ST.zw;
return o;
}

fixed4 frag (v2f f) : SV_Target {
fixed4 col = tex2D(_MainTex, f.tex);
col *= _Color;
col *= _Glow;
return col;
}
ENDCG
}
}
}