Unity 2022.3 LTS+  ·  URP & HDRP

Pixel-perfect reticles.
One draw call.

The Reactive Combat Engine gives your game production-ready HUD reticles, reactive combat states, animated transitions, and tracer effects — all rendered with SDF math in a single GPU pass.

1 call
Draw calls for all shapes
10+
Built-in SDF shape types
4 states
Reactive combat categories
7 modes
Property animation types
Core Capabilities

Everything your combat HUD needs

From simple dot sights to complex animated reticles with boolean groups, RCE handles it all at the GPU level with zero texture dependencies.

SDF Rendering

All shapes are rendered with signed distance fields — infinitely scalable, resolution-independent, and anti-aliased with uniform feathering.

Single Draw Call

Every shape, glow, outline, and gap in your reticle renders in a single GPU pass. No batching workarounds, no overdraw — just one call.

4-State Reactive System

HUD, Situational Awareness, Hip Fire, and Aim Down Sight. Each state has independent shape layouts with smooth animated transitions between them.

Shape Animations

Seven animation modes — Spin, Oscillate, Pulse, PingPong, Sawtooth, Noise, and Tween — with sequencing, cumulative stacking, and ramp envelopes.

10 Transition Types

Morph, CrossFade, ScaleOutIn, Pop, Slide, RadialWipe, StaggerFade, Spiral, Explode, and ColorFlash — each configurable per state pair.

Boolean Shape Groups

Union and subtraction operations let you combine shapes into complex cutout designs. Glow follows true SDF boundaries, not alpha masks.


Three lines to reactive reticles

Wire your input system to RCE's state API. The engine handles transitions, animations, and rendering automatically.

  • Simple State API Call SetActiveState(LoadoutState) from your input system — gamepad, keyboard, or custom controller.
  • GlobalFX for Hit Effects Fire-and-forget hit markers, damage flashes, and persistent UI widgets via the IGlobalFXService API.
  • JSON Loadout Serialization Save and load reticle configurations as versioned JSON. Cloud sync, user profiles, and modding-ready.
  • Zero Configuration Add the RCE Renderer Feature to your URP asset (or Custom Pass for HDRP). No scripting defines needed.
PlayerController.cs
using RCE.Runtime.Data;
using RCE.Runtime.Bootstrap;
using RCE.Runtime.Rendering;

public class PlayerController : MonoBehaviour
{
    private ILoadoutManager _loadout;
    private IGlobalFXService _globalFX;

    void Start()
    {
        _loadout = RCEServices.Get<ILoadoutManager>();
        _globalFX = RCEServices.GlobalFX;
    }

    void Update()
    {
        if (Input.GetButton("ADS"))
            _loadout.SetActiveState(LoadoutState.AimDownSight);
        else if (Input.GetButton("Fire"))
            _loadout.SetActiveState(LoadoutState.HipFire);
        else
            _loadout.SetActiveState(LoadoutState.SituationalAwareness);
    }

    public void OnEnemyHit()
    {
        _globalFX?.PlayLayerByName(
            "HitMarker",
            LayerPlayMode.FireAndForget
        );
    }
}

Render Pipelines

Works with your pipeline

Full support for both Unity render pipelines from a single package. Pipeline-specific code is isolated in optional assemblies.

Universal Render Pipeline

URP

Scriptable Renderer Feature integration. Add it to your URP Renderer asset and you're done.

  1. 1Open your Universal Renderer asset
  2. 2Add Renderer Feature → RCE Renderer Feature
  3. 3Enter play mode
High Definition Render Pipeline

HDRP

Custom Pass integration. Add RCE to a Custom Pass Volume with After Transparent injection.

  1. 1Add a Custom Pass Volume to your scene
  2. 2Set injection to After Transparent
  3. 3Add the RCE custom pass