The VKO1 shader engine, rebuilt as a native After Effects effect. Sixty GPU shaders, a live thumbnail browser, and drop-in custom GLSL — every control keyframable. Renders on the GPU, animates on the comp clock, and reacts to your composition's audio. Works with or without sound.
macOS and Windows — Metal on Mac, Direct3D 11 on Windows.
Shaders are written in GLSL either way, and the same .glsl runs on both.
Drop VKO Shader on any layer and pick from a live thumbnail grid of all 60 shaders — each one a real rendered frame. Every numeric control keyframes on the comp clock; an optional BPM pulse drives the beat with no audio at all.
Import .glsl… (or drop files in the VKO Shaders folder). They appear in the browser at once — no AE restart — and recompile on every save.
GLSL (vec4 vko_main); VKO Shader cross-compiles it to Metal on macOS and Direct3D 11 on Windows — the very same .glsl the Android app runs. One shader, every platform.
Audio Reactive to analyze the comp's own audio.
VKO Shader carries a runtime GLSL compiler. Drop a .glsl in your VKO Shaders folder (or click Import) and it shows up in the browser — recompiled on every save, routed through the same GPU pipeline as the built-ins. No build, no app reload.
vec4 vko_main(vec2 uv) — that's the whole contract. uv spans 0..1. (The mobile apps add 3D and full-shader modes; the AE effect runs the 2D snippet.)U.* — U.time, U.beat, U.bass, U.energy, plus four knobs U.p0–U.p3 wired to the sliders.U.p0. Scale audio by U.p1. Drive detail with U.p2. Add U.p3 * 0.4 as a jogwheel phase offset (range −3..3).dfdx, fwidth) aren't available. Compute widths analytically and the same .glsl runs on Android too.vko_main snippet that avoids fragment derivatives drops straight into both — identical GLSL, same U.* uniforms, same palette helpers (get_vko_palette_color), same knobs. iOS runs the same engine, knobs and palettes, but its shaders are written in Metal (MSL) — porting GLSL ↔ MSL is mechanical.
// sharp flash on beat, decays quickly
float flash = U.beat * U.p1 * 0.8 * exp(-U.beatPhase * 4.0);
col += vec3(flash);
float kick = U.bass * U.p1;
vec2 warped = p + p * kick * 0.15;
float d = length(warped);
// no dfdx/fwidth in a compute kernel
float aspect = U.resolution.x / max(U.resolution.y, 1.0);
vec2 p = (uv * 2.0 - 1.0) * vec2(aspect, 1.0);
float scanLine = uv.y + U.time * 0.05
+ U.p3 * 0.3;
vec3 col = get_vko_palette_color(
fract(scanLine), U.palette);
One zip, both platforms — a signed, notarized Mac installer (universal, Apple Silicon and Intel) and a Windows installer. Each installs into Adobe's shared plug-ins folder, so it covers After Effects 2025 and 2026 at once.
VKO_AE-v0.2-beta.zip above, unzip it and open the Mac or Windows folder..pkg is notarized, so no Gatekeeper warning. The Windows .exe is unsigned during the beta: if SmartScreen appears, click More info → Run anyway.⌘Q / File ▸ Exit) and reopen it.Layer ▸ New ▸ Solid (⌘Y) — then Effect ▸ VisualKO ▸ VKO Shader. It generates its own image, so it needs a layer to render on. Any solid or adjustment layer works.