Official documentation · Advanced Editor · 3D Scene Creator

Reactive Layers

Added in v1.3.80

Connect touch, charging, network, time or supported device inputs to per-layer animations, visibility, transforms and FX. Configure WHEN, DO and TARGET, then use TEST to preview the result.

What are Reactive Layers?

Reactive Layers let scene elements react to taps, finger movement, battery and charging state, time, network activity and supported device sensors. Each rule connects WHEN (source and condition), DO (the reaction) and TARGET (the affected layer). TEST shows what the rule is receiving and lets you preview it. Reactions do not overwrite the layer’s saved artwork or transforms.

Reactive Layers rule flow: tap on Layer A, On Event behavior, Organic Pulse action targeting Layer B, which reacts while Layer A remains in place. The TEST panel observes real or simulated values.
Example: Tap Layer A → On Event → Organic Pulse on Layer B. TEST lets you inspect the input, condition and result; other sources may use Follow or While.
Rule partRoleExample
WHENInput and conditionTap on the foreground layer
BehaviorFollow continuously, act While a condition holds, or run On EventOn Event
DOAnimation, visibility, property or Layer FXOrganic Pulse
TARGETThe layer receiving the action, including the source layer itselfForeground layer
TESTInspect real/simulated input and preview the resultInspect a value or Play Preview
Live wallpaper: tapping a layer triggers Organic Pulse, while a finger drag varies Layer FX intensity.

Create your first Reactive Action

01

Select the layer

Open the Advanced 3D Scene Creator, go to Layers, and select the source layer.

02

Open Actions

Open Actions for that layer and add a rule. The header identifies the source layer by number and thumbnail. Rules can be enabled, edited, reordered and removed.

03

Set WHEN

Choose Layer Tap to react when the visible source layer is tapped.

04

Set DO

Select Animation → Organic Pulse, then set Strength and Duration.

05

Set TARGET

Choose the same layer or another layer from the scene using the target thumbnails.

06

Test and save

Use TEST → Play Preview to see one animation cycle. Also tap the layer in the actual preview to test hit detection and event routing. Save the project when ready.

Advanced Layers editor with the Actions control and a configured Reactive rule list.
Open Actions from the selected layer to manage its Reactive rules.

WHEN: Follow, While and On Event

WHEN combines Source, its contextual Behavior and any matching threshold or range. The options change with the input type; you do not have to configure generic numeric conditions for every source.

BehaviorWhat happensGood for
FollowMaps a continuous numeric reading to a layer property or FX strength while the reading is available.Movement speed → FX intensity; battery percentage → opacity
WhileMaintains an animation, visibility change or property adjustment while a condition is true; releases its contribution when the condition ends.While charging; during nighttime hours; while movement exceeds a threshold
On EventFires a one-time action when a tap, named event or observed condition transition occurs.Tap → Bounce; power connected → Spin; crossing a threshold → Pulse

The main editor presents direct options such as React to movement, While plugged in, During selected hours or At a selected time. Advanced contains custom conditions and mapping controls such as input/output ranges, inversion, response curve, dead zone, threshold, smoothing and return-to-base.

Reactive WHEN configurations for Finger Movement with sensitivity and Charging state conditions.
WHEN options adapt to continuous movement inputs and discrete device states.

WHEN: Available input sources

The six common sources appear first. More specialized inputs are available through Advanced. A listed source still depends on device capabilities, Android version and live source availability.

Primary sourceReadingTypical options
Layer TapA qualified tap on the visible artwork of a source layer.When this layer is tapped
Finger MovementFinger movement speed in viewport distances per second.React / While threshold / On threshold entry
Device MovementChange intensity from the existing gyroscope input (not absolute tilt angle).React / While / On entry
Battery LevelBattery charge percentage (0–100%).Follow / While below or above / crossing
ChargingPlugged-in power state, including a full battery still connected.While plugged/unplugged / connected/disconnected
Time of DayLocal time, rounded to minutes.During hours / At time; time ranges may cross midnight
Advanced sourceActual measurement / requirement
Finger Position X / YPosition normalized to 0–1 within the visible viewport; becomes unavailable after release.
Finger Motion StrengthNormalized movement intensity; not pressure sensing.
Gyroscope Horizontal / VerticalSigned relative tilt −1…1, with source-appropriate Follow or conditions.
Device OrientationPortrait / landscape configuration, not a continuously measured angle.
Thermal StatusAndroid thermal severity status 0–6 on Android 10+; not CPU temperature.
Phone Network ReceiveAggregate incoming traffic for the phone in bytes per second (B/s), not only ESEER traffic; the first sample may be unavailable.
Mobile SignalCellular signal strength in dBm on Android 10+ when the modem provides a valid cached reading.
Ambient LightLight sensor reading in lux; requires a light sensor.
AccelerationMovement acceleration magnitude in m/s²; requires a compatible sensor.
Battery TemperatureBattery-service temperature in °C; distinct from Android thermal severity.
External Event / External VariableAuthenticated named events or numeric values sent from an automation app.

Practical source units: initial light mapping uses 0–1000 lux, acceleration 0–10 m/s², and battery temperature 20–45 °C, while their editable ranges are larger. Mobile signal uses negative dBm values. Phone receive sensitivity defaults to full response around 16 KiB/s for a new simple network FX reaction. These are editable mappings, not clipping limits on real readings.

DO: Layer animations

Select Animation in DO. The primary presets are Organic Pulse, Bounce and Spin. Shake and Wiggle are under Advanced. New animations use modern responsive motion by default; older saved animation styles retain their original behavior unless you change them.

AnimationVisual resultControls
Organic PulseGentle shaped scale pulse. Optionally modulates configured Glow and layer opacity.Strength · Duration · optional Tune influences
BounceUp/down movement with anticipation, landing and rebound.Strength · Duration · available motion styles
SpinFull rotation with smooth momentum and optional settling.Strength · Duration · direction · 1–10 Turns
ShakeShort translation shake.Strength · Duration · Original / Responsive style when offered
WiggleAlternating rotation.Strength · Duration · Original / Responsive style when offered

One animation cycle uses a configurable Duration of 200–2000 ms. Strength is separate from speed. Spin always finishes complete turns (the optional Turns control ranges from 1 to 10); Strength is not a partial-turn angle slider. Depending on WHEN, an animation can play once or repeat while a condition remains active.

Comparison of Organic Pulse, Bounce, Spin, Shake and Wiggle on the same layer.

DO: Visibility and properties

Visibility provides Show, Hide and Toggle. Toggle is a one-shot action; it is not offered as a sustained While visibility choice. Reactive Show never bypasses authored hiding, On Unlock visibility constraints, masks or editor-only preview choices.

Layer PropertyReactive contribution
OpacityMultiplies authored/Intro opacity from 0–100%.
ScaleMultiplies the authored/Intro scale (5–500% available in the underlying mapping).
Position X / YAdditive position offsets on the target layer.
Rotation X / Y / ZAdditional degrees, with layer-mode restrictions.
FX / Glow IntensityMultiplier up to 300% of the resolved effect intensity.
Glow RadiusMultiplier up to 300% of the authored Glow radius.
Advanced FX parameterA bounded numeric value on one exact Layer FX instance.

Primary property choices are Opacity and Scale; position and rotation are Advanced choices. Numeric properties can Follow an input, stay active While a condition matches, or be set by a discrete event when the editor offers those combinations. Several rules can target one property; the active rule priority determines the final rendered result.

DO: Reactive Layer FX and Glow

A Reactive Layer FX action addresses one exact regular Layer FX instance on the chosen TARGET. Select a configured effect, use Add Layer FX if none exists, or Replace Layer FX to change the linked instance. Selecting a new FX does not mean every effect on the layer is controlled.

FX appearance… opens the existing visual editor for the linked effect. WHEN remains responsible for input and timing. The standard Layer Effects list identifies effects linked to Reactive rules with Reactive ↗. This keeps the normal appearance controls separate from reaction strength, sensitivity and source.

Reactive DO Layer FX editor with an instance selected and options to replace or edit its appearance.
Reactive actions link one specific regular Layer FX instance, not the entire effect stack.
FX familyReactive numeric controls (when the effect is available)
Charge WaveIntensity, Speed, Width, Turbulence, Refraction and Hue.
GlowIntensity, Radius, Softness and Threshold.
Glitch / Screen GlitchIntensity, Block Size and RGB Split.
Chromatic AberrationIntensity, Separation and Edge Boost.
Digital GlitchIntensity and Block Size.
Slice GlitchIntensity, Slice Amount, Slice Height, Scanline Strength, RGB Split and Jitter Speed.
Edge GlowIntensity, Width and Flow Speed.
Barrel DistortionIntensity and Distortion.
ScanlineIntensity, Density and Speed.

Layer Glow uses the visible alpha silhouette of the target. Its normal editor offers Color, Intensity, Radius, Softness, Threshold and Blend; black produces a dark halo and supports Normal/Multiply, while other colors have additional blend modes. Reactive Actions can control supported Glow intensity, radius or advanced numeric appearance parameters. Regular masks, painted coverage and the actual rendered layer alpha affect the halo.

Two independent rules: Layer 4 — Power Connection (Charging) → Charge Wave; Layer 1 — Phone Network Receive → Glitch.

TARGET and TEST

TARGET chooses which scene layer receives the reaction. It can be the owner/source layer or another layer; the selector uses cropped preview cards to identify artwork even when the source PNG includes large transparent bounds.

TEST reports the selected source, whether its real value is available, real or simulated input, condition status, calculated output and target/action feedback. Use Play Preview to animate one cycle independently of a trigger. With numeric inputs, simulate values to check Follow/While, then choose Use real values to restore the actual device reading.

Reactive TARGET layer selector and TEST panel showing input, condition, output and preview controls.
TARGET chooses which layer reacts. TEST reveals the input, condition and result, with safe simulated values when supported.

Practical reaction recipes

GoalWHENDO / TARGET
A tappable iconLayer Tap → On EventOrganic Pulse or Bounce → the icon layer.
Incoming network glitchPhone Network Receive → Follow; adjust SensitivityGlitch intensity → Layer 1 in the video example.
Power connection accentCharging → While plugged inCharge Wave → Layer 4 in the video example.
Low-battery warningBattery Level → While at/below 20%Show the warning layer, or use repeating Organic Pulse.
Motion-linked lightDevice Movement → React to movementGlow intensity → a target with Glow configured.
Ambient daylight reactionAmbient Light → FollowGlow or Layer FX intensity → a visible layer.
Shake responseAcceleration → threshold entryShake or Pulse → a highlighted layer.
Nighttime scene accentTime of Day → During hours (e.g. 21:00–06:00)Show / Hide a decorative layer.

External automation (Advanced)

External automation is an optional Advanced workflow. You can create a named External Event or a numeric External Variable rule, then send an authenticated Android broadcast from a separate automation tool. Automation remains off until you explicitly enable it in the Actions editor. You do not need Tasker, Automate or any other external app to use ordinary Reactive Actions.

01

Make a rule

Select External Event in Advanced WHEN and name it, for example pulse. Choose an action and valid target. For numeric Follow use an External Variable instead.

02

Enable automation

Enable Automation in the Creator and copy its installation-local authentication token. The token is not included in shared wallpaper files.

03

Send a broadcast

Set action to com.seerobs.echo.REACTIVE_COMMAND, package to com.seerobs.echo and target to Broadcast Receiver, with no explicit receiver class.

04

Provide extras

Send string extras token=YOUR_TOKEN, command=event and name=pulse. The event must match your rule name.

CommandAdditional extras
eventname (named event configured in WHEN)
variablename and numeric value
visibilitylayer stable ID and operation SHOW/HIDE/TOGGLE
animationlayer, preset BOUNCE/SHAKE/SPIN/WIGGLE, optional duration_ms and numeric value
propertylayer, property name, numeric value, optional duration_ms; direct arbitrary shader parameters excluded
resetNo additional extras; clears external overrides/variables of the current scene

Compatibility, limits and troubleshooting

If you see…Check…
No reaction to a tapRule enabled, real alpha-visible tapped pixels, source/target identity, gesture versus drag, and unlocked active wallpaper state.
TEST plays but the live wallpaper does notCheck the real event/input, available sensor or power state, installed scene and whether the service is active. TEST simulation is not a real hardware event.
Glow or FX not changingTarget has that exact enabled regular FX instance; the rule references it and condition is active.
Charge Wave is missing in the live wallpaperCheck that the phone is plugged in. The Creator can preview Charge Wave while unplugged, but the installed wallpaper applies charging-state gating.
Network-driven Glitch is inactivePhone Network Receive measures incoming device traffic; check the rule sensitivity, the first counter sample and actual download activity.
Show does not reveal a layerAuthored visibility, On Unlock/Intro restrictions, editor hide and masks still apply.
A state rule does not fire on openingNew transition rules establish a baseline first; While can activate immediately if its condition already holds.
Sensor is unavailableDevice lacks a sensor, Android API does not expose the data, input was released or wallpaper host is suspended.

Reactive rules run on the active scene in Orbit/Ortho and the Sequential runtime. In Sequential, inactive scenes are suspended and actions do not freely cross scene transitions. In v1.3.80, the public Creator offers Reactive authoring through 3D Scene; new 2D/Sequential scene creation remains gated outside release. Creator preview, the installed wallpaper and lock/unlock paths have distinct lifecycles, so verify the result on the installed wallpaper as well.

Providers acquire only demanded inputs, and temporal animations cease requesting frames when settled. Rendering cost still depends on the scene, motion frequency, Glow passes and effect stack. Do not assume a constant battery or GPU cost across devices.

Old projects retain their serialized behavior and remain readable by newer ESEER builds. New Reactive rule types, animation presets and advanced FX properties are not guaranteed to work in older app releases.