Drop Shadow Multi

After Effects
September 26, 2025
/*
This script applies a Drop Shadow effect to selected layers in After Effects.
The topmost selected layer acts as a control layer with adjustable Drop Shadow properties.
Other selected layers have Drop Shadow effects linked via expressions to the control layer.
*/

var selectedLayers = app.project.activeItem.selectedLayers;

if (selectedLayers.length > 0) {
  app.beginUndoGroup("Apply Drop Shadow");

  // Convert selectedLayers to array and sort by index ascending (topmost first)
  var layers = [];
  for (var i = 0; i < selectedLayers.length; i++) {
    layers.push(selectedLayers[i]);
  }
  layers.sort(function(a, b) {
    return a.index - b.index;
  });

  var topLayer = layers[0];
  var controlLayerName = topLayer.name;

  // Add Drop Shadow effect to control layer and set properties
  var dropShadow = topLayer.property("Effects").addProperty("Drop Shadow");
  dropShadow.property("Opacity").setValue(40);
  dropShadow.property("Softness").setValue(250);
  dropShadow.property("Direction").setValue(0);
  dropShadow.property("Distance").setValue(0);

  // Add Drop Shadow to other layers and link properties to control layer via expressions
  for (var i = 1; i < layers.length; i++) {
    var layer = layers[i];
    var layerDropShadow = layer.property("Effects").addProperty("Drop Shadow");
    layerDropShadow.property("Opacity").expression = 
      'thisComp.layer("' + controlLayerName + '").effect("Drop Shadow")("Opacity")';
    layerDropShadow.property("Softness").expression = 
      'thisComp.layer("' + controlLayerName + '").effect("Drop Shadow")("Softness")';
    layerDropShadow.property("Direction").expression = 
      'thisComp.layer("' + controlLayerName + '").effect("Drop Shadow")("Direction")';
    layerDropShadow.property("Distance").expression = 
      'thisComp.layer("' + controlLayerName + '").effect("Drop Shadow")("Distance")';
  }

  app.endUndoGroup();
} else {
  alert("No layers selected. Please select at least one layer.");
}

How to use the script

Always check code before running it on your computer. Even basic scripts like this one. If you’re not a developer, ask an LLM like ChatGPT, Claude, or Gemini to verify it for you.

Option 1: Install to your AE Folder

Download and install the below .jsx file in your After Effects Script folder. You can then run it using the scripts menu, or by using a launcher like Quick Menu 3.

Option 2: Adapt the script yourself

Alternatively copy the code below and develop your own version. If you’re not a developer you can do this easily with an LLM like ChatGPT.

Research, interviews, and tools for modern motion designers.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.