Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013TAaJBzbmePTECuv62BXYX
11 KiB
Project Hygiene — Organize, Relink, ExtendScript
Keep AE projects organized, portable, and automatable: consistent naming, a clear folder/bin structure, label discipline, pre-comp discipline, reliable relinking when files move, and ExtendScript (.jsx) automation for repetitive tasks.
Folder (bin) structure
Create folders in the Project panel (the folder icon at the bottom). A reliable layout:
01_Comps/ finished/active compositions
02_Precomps/ nested precomps
03_Footage/ imported video
04_Images/ stills, logos, textures
05_Audio/
06_Solids/ (AE's auto "Solids" folder — keep it here)
07_Assets_3D/
99_Old/ deprecated comps/layers, not deleted yet
Numeric prefixes force a stable sort order. After importing, immediately drag items into the right bin — File > Reduce Project and File > Consolidate All Footage help later, but discipline up front prevents chaos.
Naming conventions
- Comps:
PROJECT_section_descriptor_v01(e.g.,BRAND_intro_logoBuild_v03). Version with zero-paddedv01,v02. - Precomps: prefix
PRE_or suffix_preso they're obvious in lists. - Layers: rename solids/nulls to their role (
CTRL_master,BG_gradient,MATTE_text). Never ship "Black Solid 12". - No spaces / special chars in filenames destined for render farms or cross-OS sharing — use
_and-. - Keep names short but unique; long names truncate in the timeline.
Label colors
Use the Label color (the swatch left of each Project/Timeline item) as a visual system. Pick a convention and apply it consistently, e.g.:
- Red = control/null layers
- Blue = footage
- Green = precomps
- Yellow = text
- Purple = adjustment/effects layers
Right-click an item → Label to set. Select multiple, then Edit > Label > Select Label Group to act on a whole color at once. Customize label names/colors in Preferences > Labels.
Pre-comp discipline
- Pre-compose (
Layer > Pre-compose,Ctrl/Cmd+Shift+C) to group related layers and to apply one effect to a group — not reflexively for everything. - When pre-composing a single layer, choose "Leave all attributes in" vs "Move all attributes into the new composition" deliberately: "Move" carries transforms/effects inside; "Leave" keeps them on the outer layer.
- Name the precomp immediately and file it in
02_Precomps. - Avoid deep nesting beyond a few levels — it slows navigation and makes relinking/debugging painful.
- Match precomp duration and frame rate to need; an over-long precomp wastes cache.
The "moved one file and everything broke" rescue
AE references footage by file path. Moving, renaming, or sending a project without its assets breaks links (shown as colored bars / "Missing Footage" placeholders).
Fix options, in order
- Relink one, fix many: double-click a missing item (or right-click → Replace Footage > File). Point it at the moved file; AE offers to relink all missing items from the same folder automatically. This single step usually fixes the whole project.
- Find Missing Footage:
File > Dependencies > Find Missing Footagelists every broken link to resolve. - Replace Footage: right-click footage → Replace Footage > File to swap an asset while keeping every use, effect, and keyframe intact.
Prevent it: Collect Files
Before moving or sharing a project, use File > Dependencies > Collect Files. This copies the project plus every used asset into one new folder with relative structure, so links survive on any machine. Always hand off projects as a Collect Files package, not a bare .aep.
Related: File > Dependencies > Consolidate All Footage (merge duplicate imports), Remove Unused Footage, and Reduce Project (strip everything not used by selected comps) to slim a project before collecting.
Batch automation with ExtendScript (.jsx)
AE scripts (ExtendScript / JSX) automate repetitive work. Run via File > Scripts > Run Script File..., or place in the ScriptUI Panels folder to dock as a panel. Always wrap edits in app.beginUndoGroup("name") ... app.endUndoGroup() so one Undo reverts the whole batch.
Common automations (full code in ../scripts/):
- Batch rename selected layers with a base name + auto-increment (
../scripts/batch-rename.jsx). - Sequential offset — stagger selected layers in time by N frames each, a staggered "domino" start (
../scripts/sequential-offset.jsx). - Apply an effect (e.g., a Gaussian Blur, or any matchName) across all selected layers at once (
../scripts/apply-effect-to-layers.jsx).
Minimal pattern:
app.beginUndoGroup("My Batch Op");
var comp = app.project.activeItem;
if (comp && comp instanceof CompItem) {
var sel = comp.selectedLayers;
for (var i = 0; i < sel.length; i++) {
// operate on sel[i]
}
}
app.endUndoGroup();
Quick reference
| Task | How |
|---|---|
| New bin | Folder icon at bottom of Project panel |
| Set label color | Right-click item → Label |
| Relink missing footage | Double-click item / Replace Footage > File |
| List broken links | File > Dependencies > Find Missing Footage |
| Package for handoff | File > Dependencies > Collect Files |
| Swap an asset everywhere | Replace Footage > File |
| Slim project | Reduce Project / Remove Unused Footage |
| Run a script | File > Scripts > Run Script File... |
| Pre-compose | Layer > Pre-compose (Ctrl/Cmd+Shift+C) |
Gotchas
- Collect Files before moving anything. Moving the
.aepalone always breaks links. - Relinking one item often relinks the rest from the same folder — try that before fixing each by hand.
- Replace Footage preserves effects/keyframes; deleting + re-importing does not.
- AE auto-creates a "Solids" folder — don't scatter solids elsewhere or it regenerates duplicates.
- Scripts need
app.beginUndoGroup/endUndoGroupor a batch becomes many separate undos. - Applying effects by name needs the
matchName, not the display name (e.g.,"ADBE Gaussian Blur 2"), to be reliable across AE language versions. - Allow Scripts to Write Files must be enabled in
Preferences > Scripting & Expressionsfor scripts that save/render. - Deep precomp nesting makes both performance and relinking worse — keep it shallow.
AE Project Organization — Detailed Reference
Full folder (bin) template
PROJECT.aep
├── 00_Output/ (final renders live next to project on disk)
01_Comps/ master & active comps
02_Precomps/ nested precomps (prefix PRE_)
03_Footage/ video clips
04_Images/ stills, logos, vector, textures
05_Audio/ music, VO, SFX
06_Solids/ AE auto-folder; leave it here
07_Assets_3D/ OBJ/C4D/3D model assets
08_Reference/ storyboards, briefs, temp ref
99_Old/ deprecated, kept until final
Numeric prefixes lock sort order. Keep the on-disk asset folders mirroring these bins so Collect Files stays clean.
Naming scheme
| Item | Pattern | Example |
|---|---|---|
| Master comp | PROJ_section_v## |
BRAND_main_v04 |
| Sub/shot comp | PROJ_section_shot_v## |
BRAND_intro_logo_v02 |
| Precomp | PRE_descriptor |
PRE_textReveal |
| Null/control | CTRL_role |
CTRL_master |
| Solid/BG | BG_role |
BG_gradient |
| Matte | MATTE_role |
MATTE_logoTrack |
| Adjustment | ADJ_role |
ADJ_grade |
Rules: zero-pad versions; no spaces/special characters for farm/cross-OS safety; keep unique and short.
Label color system (example)
| Color | Meaning |
|---|---|
| Red | Control / null layers |
| Blue | Footage |
| Green | Precomps |
| Yellow | Text |
| Purple | Adjustment / effects |
| Orange | Audio |
| Gray | Disabled / old |
Set via right-click → Label. Customize names/colors in Preferences > Labels. Use Edit > Label > Select Label Group to select everything of one color.
Relink / missing footage — full workflow
- Identify: missing items show as colored bars with "Missing" placeholders; the Project panel marks them.
- Relink one to fix many: right-click a missing item → Replace Footage > File (or double-click it). Choose the relocated file. AE prompts to relink all other missing files found in the same folder — accept to fix the batch at once.
- Enumerate:
File > Dependencies > Find Missing Footage,Find Missing Fonts,Find Missing Effectsto locate every broken dependency. - Swap assets: Replace Footage > File swaps the source while preserving all layer instances, effects, masks, and keyframes.
Collect Files (portable handoff)
File > Dependencies > Collect Files.- Options: Collect Source Files = All; enable Reduce Project to drop unused; optionally Generate Report.
- Produces a folder containing the
.aepplus a(Footage)subfolder with every used asset, preserving relative links so the project opens anywhere. - Always deliver/move projects as a Collect Files package, never a lone
.aep.
Slimming a project
File > Reduce Project— removes all items not used by the currently selected comp(s). Destructive to unused items; save first.File > Dependencies > Consolidate All Footage— merges duplicate imports of the same file.File > Dependencies > Remove Unused Footage— drops footage no comp references.- Run these before Collect Files to keep the package small.
Scripting setup
- Enable
Preferences > Scripting & Expressions > Allow Scripts to Write Files and Access Networkfor scripts that save or render. - Run a script:
File > Scripts > Run Script File.... - Dock a panel script: place the
.jsxin(AE install)/Scripts/ScriptUI Panels/, restart AE, open from theWindowmenu. - Wrap every batch in
app.beginUndoGroup("...")/app.endUndoGroup()so it undoes in one step. - Apply effects by matchName (internal id like
"ADBE Gaussian Blur 2"), not the localized display name, for cross-version reliability. Uselayer.property("ADBE Effect Parade").addProperty(matchName).
Pre-comp discipline details
- "Leave all attributes in the new composition" keeps the outer layer's transform; "Move all attributes" pushes them inside the precomp. Choosing wrong shifts/rescales the result.
- Trim precomp duration to the content; over-long precomps waste RAM/disk cache.
- Name and file precomps immediately; never leave "Pre-comp 1".
- Keep nesting shallow (2–3 levels) for performance and easier relinking/debugging.
Keep the project tidy and named well and footage relinks without a fight. Built by iart.ai — the AI motion agent for editable, on-brand motion graphics.