Preview:
using UnityEngine;

[ExecuteInEditMode]
public class SpriteOutline : MonoBehaviour
{
   public Color color = Color.black;

   [Range(0, 16)]
   public int outlineSize = 1;

   private SpriteRenderer spriteRenderer;

   private void Awake()
   {
      spriteRenderer = this.GetComponent<SpriteRenderer>();
   }

   private void OnEnable()
   {
      updateOutline(true);
   }

   private void OnDisable()
   {
      updateOutline(false);
   }

   void updateOutline(bool outline)
   {
      MaterialPropertyBlock mpb = new MaterialPropertyBlock();
      spriteRenderer.GetPropertyBlock(mpb);

      float o = 0;
      if(outline)
      {
         o = 1f;
      }

      else
      {
         o = 0;
      }

      mpb.SetFloat("_Outline", o);
      mpb.SetColor("_OutlineColor", color);
      mpb.SetFloat("_OutlineSize", outlineSize);
      spriteRenderer.SetPropertyBlock(mpb);
   }
}
downloadDownload PNG downloadDownload JPEG downloadDownload SVG

Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!

Click to optimize width for Twitter