Skip to Content
DocumentationHow-To GuidesDissolve Effects

Dissolve Effects

Dissolve is one of Genesis’s most-used FX — it can erase a mesh on death, materialize a teleport, or wipe a hologram off. This recipe shows how to drive it from gameplay code and from Timeline so the same material works in both contexts.

What you’ll build

An enemy death dissolve that burns away from the feet upward with a glowing orange edge, plus a reversed teleport-in dissolve where the same character materializes in cyan.

Video

A character dissolving away from the feet upward with a glowing orange burn edge, then the same dissolve reversed so the character materializes in with a cyan edge.

how-to/dissolve-effects/result.mp4

The death dissolve and reversed teleport-in this recipe builds.

Requirements

  • A Genesis material (any mode).
  • A tiling noise texture (the Samples folder ships several).
  • A MaterialPropertyBlock-friendly renderer.

Steps

1. Enable dissolve

Effects → Dissolve on. Assign the noise texture. Set Threshold = 0 (fully visible).

2. Tune the edge

Edge Width 0.05 gives a thin ink line; 0.15 gives a thicker burning glow. Pick an emissive Edge Color — Genesis multiplies it by HDR intensity 4 by default.

3. Drive threshold from script

Animate _DissolveThreshold from 0 → 1 to dissolve out. Use a MaterialPropertyBlock to avoid breaking SRP batching.

using UnityEngine; public class DissolveOnDeath : MonoBehaviour { [SerializeField] Renderer rend; [SerializeField] float duration = 1.2f; static readonly int Threshold = Shader.PropertyToID("_DissolveThreshold"); MaterialPropertyBlock mpb; void Awake() => mpb = new MaterialPropertyBlock(); public void Play() => StartCoroutine(Run()); System.Collections.IEnumerator Run() { for (float t = 0; t < duration; t += Time.deltaTime) { mpb.SetFloat(Threshold, t / duration); rend.SetPropertyBlock(mpb); yield return null; } } }

4. Direction control

Effects → Dissolve → Direction — World-Y feet-up burn, Object-Space surface-from-uv, or Custom Vector for an arbitrary direction.

5. Reverse for teleport-in

Animate threshold from 1 → 0. Change Edge Color from orange to cyan for the materialize-in moment.

mpb.SetFloat(Threshold, 1f - t / duration); mpb.SetColor("_DissolveEdgeColor", Color.cyan * 5f);

6. Timeline integration

Add a Material Property Track to your Timeline. Bind it to the renderer. Animate _DissolveThreshold like any other clip parameter.

Timeline drives MaterialPropertyBlock under the hood — batching is preserved the same way as the script path.

Setting properties via renderer.material.SetFloat instantiates the material and breaks instancing. Always use MaterialPropertyBlock for per-instance dissolve.

Variations

  • Glitch dissolve: animate the noise scale alongside threshold for digital corruption.
  • Frozen shatter: dissolve + a custom noise that resembles ice cracks + sparkle particles.
  • Reveal a hologram: dissolve-in plus the Hologram effect for a sci-fi summon.
Last updated on