Connect
The starting point for everything else. Drop a ShotLink layer into a comp, pick a camera in Source, and the frame is live — Unreal renders it on demand and hands it straight to After Effects.
Nothing is written to disk. There"s no export step, no image sequence to manage, no waiting for a render to finish before you can see whether the shot works. Move the AE camera and Unreal draws the new frame.
The connection survives Unreal restarting. If you close the editor, the layer shows [Not Found] and keeps looking — reopen the project and it picks up where it left off. You can leave a comp set up for weeks and come back to it.
Fly the camera
Framing a shot with the After Effects camera is awkward — you"re dragging position and orientation values in a panel rather than looking through the lens.
So do it the other way round. Switch the Unreal viewport to the ShotLink camera, fly around until the shot looks right, then hit Get. That position and orientation land on the AE camera as a keyframe.
Do it again from another angle further along the timeline and you have a move between the two. It"s a fast way to block out camera work: find the interesting angles in Unreal, let After Effects interpolate between them, then refine the curves as you would with any other keyframes.
Realtime
By default, Unreal renders a frame when After Effects asks for one. Turn on Realtime and it keeps sending — so changes you make in Unreal appear in your comp as you make them.
This is for the part of the work where you"re still deciding: moving a light and watching how it falls, swapping a material, nudging an object into frame. You see the result in context, composited with everything else in your timeline, instead of guessing how it"ll sit.
Turn it off before you preview or render. With Realtime on, After Effects can"t cache frames — every frame gets re-requested, and a RAM preview never completes.
Layers
A ShotLink layer is tied to one camera, but nothing stops you from having several. Point three layers at three cameras and all of them update together as you scrub.
In this comp, one camera renders the scene as it is — the beauty pass. The other two each carry a Post Process material: one outputs depth, one outputs normals. Same shot, same frame, three different kinds of information arriving at once.
The important part is the mechanism, not the specific passes. A pass is just a Post Process material sitting on a camera — so whatever you can build in the material editor, you can pull into After Effects. Object IDs, custom stencils, velocity, world position. Nothing about it is hardcoded on our side.
Post Process Materials in Unreal
Object Mask
Getting an After Effects layer to sit between things in a 3D scene is the classic compositing problem. Normally it means rendering with alpha, exporting, and re-importing — and redoing all of it when the shot changes.
Here a second camera renders one object on its own. Its Primitive Render Mode is set to Use Show Only List, with a single actor in that list, so everything else disappears. That layer sits at the top of the stack, hidden, and works as a matte for the AE text below it — the text gets cut by the cube and reads as though it"s behind it.
An isolated object is lit as if the rest of the scene weren"t there, so it won"t match the beauty pass. Use it as a matte, not as an image. When you need the mask to line up with correctly lit geometry, use Custom Depth instead: tick Render CustomDepth on the object, give it a Stencil Value, and output that through a Post Process material — one camera can then carry several mattes at once.
Creating masks with the Custom Stencil buffer
3D Null
You have a rendered frame in your comp and you want to attach something to a specific point in the scene. Not roughly — exactly, on the surface of that object, holding through the whole camera move.
Click the object in the image. ShotLink traces a ray from the camera through that pixel into the Unreal scene, finds what it hits, and creates a null at that point in After Effects. It picks up the object"s rotation too, so a layer parented to it sits flush with the surface rather than facing the camera.
Alt-drag the pick whip from your layer to the null rather than parenting normally — that way the layer keeps its own position and inherits only the movement. From there it"s an ordinary AE layer that happens to be locked to a point in a 3D scene.
Animation
Up to here the Unreal side has been static — you move the camera, the scene stays put. This station connects the two timelines.
Pick a Level Sequence in the plugin and the sequence follows your After Effects timeline. Scrub to frame 40 and you get frame 40 of the animation, rendered on the spot. Play back the comp and the animation plays with it. Nothing is rendered in Sequencer, and there"s no cached video to regenerate when something changes upstream.
Anything on a Sequencer track comes through — transforms, visibility, material parameters, skeletal animation. The exception is anything driven by world time rather than sequence time: a material that scrolls clouds across the sky, a panning texture, an oscillation wired to the Time node. Those run on their own clock. If you hit one, station 08 has the way around it.
Camera Bake
Everything so far has treated Unreal as a renderer for After Effects. This goes the other way: it takes the camera you"ve animated in AE and writes it into Unreal as a real camera.
Animate the ShotLink camera however you like — keyframes, expressions, a move you pulled in with Get and refined afterwards — then hit Bake. A CineCameraActor appears in the Level Sequence you picked, with position, rotation and lens keyed frame by frame.
From there the shot exists in Unreal on its own — close After Effects and it"s still there. It"s also the answer to the world-time problem from station 07: Movie Render Queue advances time itself, at a fixed step, so materials driven by the Time node land on the right frame.
Movie Render Queue