2D FX Essentials: nine free sprite shaders for Godot 4 (outline, dissolve, hit flash, shine...)

Nine small canvas_item shaders that most 2D games end up needing, free for personal and commercial games: outline, dissolve, hit flash, shine, grayscale, tint, pixelate, wind and silhouette. They go on a Sprite2D, TextureRect or AnimatedSprite2D as a plain ShaderMaterial, with no autoload or plugin to enable.

A few details that took the most time:

  • Dissolve gets an ember edge whose width you set, and the sprite is fully gone at 1 (no leftover pixels at the end of a death animation). An optional sweep makes it burn from one side.
  • Hit flash has five patterns (punch, blink, double, strobe, pulse) driven by one progress value, so a hit is one tween:
var mat := $Sprite2D.material as ShaderMaterial
mat.set_shader_parameter("progress", 0.0)
create_tween().tween_property(mat, "shader_parameter/progress", 1.0, 0.25)
  • Outline stays smooth at any width instead of stair-stepping on diagonals.

Tested on Godot 4.3 and 4.7. The itch page has a browser player where you can try them on a sprite with sliders before downloading (it also shows effects from my paid packs, each one marked).

Feedback welcome, especially if something looks wrong in Compatibility or on the web.