Changelog
Changelog
Section titled “Changelog”What’s new and changed for scripting?
After Effects 25
Section titled “After Effects 25”After Effects 25.2 Beta build 98 (February 2025)
Section titled “After Effects 25.2 Beta build 98 (February 2025)”- Scripting methods and attributes added:
- Updated: LightLayer.lightSource
After Effects 25.0 Beta build 26 (August 2024)
Section titled “After Effects 25.0 Beta build 26 (August 2024)”- Scripting methods and attributes added:
- Added: CharacterRange.pasteFrom()
- Added: FontObject.hasGlyphsFor()
- Added: FontObject.otherFontsWithSameDict()
- Added: FontsObject.getCTScriptForString()
- Added: FontsObject.getDefaultFontForCTScript()
- Added: FontsObject.setDefaultFontForCTScript()
After Effects 24
Section titled “After Effects 24”- Scripting methods and attributes added:
- Added: FontsObject.favoriteFontFamilyList
- Added: FontsObject.fontsDuplicateByPostScriptName
- Added: FontsObject.freezeSyncSubstitutedFonts
- Added: FontsObject.mruFontFamilyList
- Added: FontsObject.substitutedFontReplacementMatchPolicy
- Added: FontsObject.pollForAndPushNonSystemFontFoldersChanges()
- Added: TextDocument.boxAutoFitPolicy
- Added: TextDocument.boxFirstBaselineAlignment
- Added: TextDocument.boxFirstBaselineAlignmentMinimum
- Added: TextDocument.boxInsetSpacing
- Added: TextDocument.boxOverflow
- Added: TextDocument.boxVerticalAlignment
- Scripting methods and attributes added:
- Added: Project.replaceFont()
- Added: Project.usedFonts
After Effects 24.4 Beta build 25 (March 2024)
Section titled “After Effects 24.4 Beta build 25 (March 2024)”- Added: ThreeDModelLayer object
- Scripting methods and attributes added:
- Added: CharacterRange object
- Added: ParagraphRange object
- Added: ComposedLineRange object
- Added: TextDocument.characterRange()
- Added: TextDocument.composedLineCharacterIndexesAt()
- Added: TextDocument.composedLineCount
- Added: TextDocument.composedLineRange()
- Added: TextDocument.paragraphCharacterIndexesAt()
- Added: TextDocument.paragraphCount
- Added: TextDocument.paragraphRange()
- Changed: app.purge() - PurgeTarget.ALL_CACHES now includes the disk cache
- Scripting methods and attributes added or changed:
- Added: LayerCollection.addVerticalText()
- Added: LayerCollection.addVerticalBoxText()
- Added: TextDocument.lineOrientation
- Added: FontsObject.fontServerRevision
- Added: FontsObject.getFontByID()
- Added: FontObject.fontID
- Scripting methods and attributes added:
- Added: getEnumAsString()
- Added: app.fonts
- Added: Fonts object
- Added: FontsObject.allFonts
- Added: FontsObject.fontsWithDefaultDesignAxes
- Added: FontsObject.getFontsByFamilyNameAndStyleName()
- Added: FontsObject.getFontsByPostScriptName()
- Added: FontsObject.missingOrSubstitutedFonts
- Added: Font object
- Added: FontObject.designAxesData
- Added: FontObject.designVector
- Added: FontObject.familyPrefix
- Added: FontObject.hasDesignAxes
- Added: FontObject.hasSameDict()
- Added: FontObject.postScriptNameForDesignVector()
- Added: FontObject.familyName
- Added: FontObject.fullName
- Added: FontObject.isFromAdobeFonts
- Added: FontObject.isSubstitute
- Added: FontObject.location
- Added: FontObject.nativeFamilyName
- Added: FontObject.nativeFullName
- Added: FontObject.nativeStyleName
- Added: FontObject.postScriptName
- Added: FontObject.styleName
- Added: FontObject.technology
- Added: FontObject.type
- Added: FontObject.version
- Added: FontObject.writingScripts
- Added: TextDocument.autoHyphenate
- Added: TextDocument.autoKernType
- Added: TextDocument.baselineDirection
- Added: TextDocument.composerEngine
- Added: TextDocument.digitSet
- Added: TextDocument.direction
- Added: TextDocument.endIndent
- Added: TextDocument.everyLineComposer
- Added: TextDocument.firstLineIndent
- Added: TextDocument.fontBaselineOption
- Added: TextDocument.fontCapsOption
- Added: TextDocument.fontObject
- Added: TextDocument.hangingRoman
- Added: TextDocument.kerning
- Added: TextDocument.leadingType
- Added: TextDocument.ligature
- Added: TextDocument.lineJoinType
- Added: TextDocument.noBreak
- Added: TextDocument.spaceAfter
- Added: TextDocument.spaceBefore
- Added: TextDocument.startIndent
- Scripting attributes updated:
- Updated: TextDocument.fauxBold
- Updated: TextDocument.fauxItalic
- Updated: TextDocument.justification
After Effects 23
Section titled “After Effects 23”- Scripting methods and attributes added:
- Added: AVLayer.setTrackMatte()
- Added: AVLayer.removeTrackMatte()
- Added: AVLayer.trackMatteLayer
- Scripting attributes updated:
- Updated: AVLayer.trackMatteType
- Updated: AVLayer.isTrackMatte
- Updated: AVLayer.hasTrackMatte
After Effects 22
Section titled “After Effects 22”- Scripting methods added:
- Added: Property.keyLabel()
- Added: Property.setLabelAtKey()
- Scripting methods added:
- Added: Layer.doSceneEditDetection()
- Scripting methods added:
- Added: Layer.id
- Added: Project.layerByID()
- Added: Property.essentialPropertySource
- Scripting Access to Render Queue Notifications:
- Added: RenderQueue.queueNotify
- Added: RenderQueueItem.queueItemNotify
- Scripting Access to Multi-Frame Rendering, Maximum CPU Percentage Overrides:
- Added: app.setMultiFrameRenderingConfig()
After Effects 18
Section titled “After Effects 18”- Scripting methods and attributes to support Media Replacement:
- Added: AVItem.isMediaReplacementCompatible
- Added: AVLayer.addToMotionGraphicsTemplate()
- Added: AVLayer.addToMotionGraphicsTemplateAs()
- Added: AVLayer.canAddToMotionGraphicsTemplate()
- Added: Property.alternateSource
- Added: Property.canSetAlternateSource
- Added: Property.setAlternateSource()
- Added relevant match names
- Added match name for Essential Properties property group.
After Effects 17
Section titled “After Effects 17”- Scripting access to Shape Layer Stroke Taper, Stroke Waves, Offset Paths Copies, Offset Path Copy Offset:
- Added relevant match names
- Fixed an issue to allow negative values for CompItem.displayStartTime:
- Added CompItem.displayStartFrame
- Now matches the valid range allowed when setting the Start Timecode in the Composition Settings Dialog (-3:00:00:00 to 23:59:00:00).
- Scripted creation and modification of Dropdown Menu Control items:
- Added: Property.isDropdownEffect
- Added: Property.setPropertyParameters()
After Effects 16
Section titled “After Effects 16”After Effects 16.1
Section titled “After Effects 16.1”- Scripting access to ViewOptions object guide and ruler booleans:
- Added: ViewOptions.guidesLocked
- Added: ViewOptions.guidesSnap
- Added: ViewOptions.guidesVisibility
- Added: ViewOptions.rulers
- Scripting access to add, remove, and set existing guides:
- Added: Item.addGuide()
- Added: Item.removeGuide()
- Added: Item.setGuide()
- Scripting access to additional EGP property attributes:
- Added: CompItem.motionGraphicsTemplateControllerCount
- Added: CompItem.getMotionGraphicsTemplateControllerName()
- Added: CompItem.setMotionGraphicsControllerName()
- Added: Property.addToMotionGraphicsTemplateAs()
- Scripting access to marker label and protectedRegion attributes:
- Added: MarkerValue.label
- Added: MarkerValue.protectedRegion
- Scripting access to additional project color management settings:
- Added: Project.workingSpace
- Added: Project.workingGamma
- Added: Project.listColorProfiles()
- Added: Project.linearizeWorkingSpace
- Added: Project.compensateForSceneReferredProfiles
- Scripting access to the expression engine attribute:
- Added: Project.expressionEngine
- Added project method Project.setDefaultImportFolder(), which sets the folder that will be shown in the file import dialog.
- Added app property app.disableRendering, which disables rendering via the same mechanism as the Caps Lock key.
After Effects 15
Section titled “After Effects 15”- Project.autoFixExpressions() will now fix expression name references in single quotes (ex., (‘Effect Name’)), as well as double quotes.
- Fixes CompItem.exportAsMotionGraphicsTemplate() not returning a boolean as expected
- Scripting Access to motion graphics templates:
- Added: CompItem.motionGraphicsTemplateName
- Added: CompItem.exportAsMotionGraphicsTemplate()
- Added: CompItem.openInEssentialGraphics()
- Added: Property.addToMotionGraphicsTemplate()
- Added: Property.canAddToMotionGraphicsTemplate()
After Effects 14
Section titled “After Effects 14”After Effects 14.2.1 (CC 2017.2) (June 2017)
Section titled “After Effects 14.2.1 (CC 2017.2) (June 2017)”- Buttons in ScriptUI panels have been reverted to the rectangular appearance seen in After Effects 14.1 and previous releases.
- The AVItem.setProxyToNone() scripting method no longer fails with an error message, “After Effects error: AEGP trying to add invalid footage”.
- The System.callSystem() scripting method now waits for all tasks called by the command to complete, instead of failing when the command takes a long time to complete.
After Effects 14.2 (CC 2017.1) (April 2017)
Section titled “After Effects 14.2 (CC 2017.1) (April 2017)”- Scripting Access to text leading:
- Added: TextDocument.leading
- Scripting Access to Team Projects (Beta):
- Added: Project.newTeamProject()
- Added: Project.openTeamProject()
- Added: Project.shareTeamProject()
- Added: Project.syncTeamProject()
- Added: Project.closeTeamProject()
- Added: Project.convertTeamProjectToProject()
- Added: Project.listTeamProjects()
- Added: Project.isTeamProjectOpen()
- Added: Project.isAnyTeamProjectOpen()
- Added: Project.isTeamProjectEnabled()
- Added: Project.isLoggedInToTeamProject()
- Added: Project.isSyncCommandEnabled()
- Added: Project.isShareCommandEnabled()
- Added: Project.isResolveCommandEnabled()
- Added: Project.resolveConflict()
- Drop-down menus in ScriptUI panels are no longer clipped on HiDPI displays on Windows.
- The appearance of buttons, sliders, disclosure triangles (“twirly arrow”), scroll bar, progress bar, radio buttons, and checkboxes in ScriptUI embedded panels have been updated to match the appearance of After Effects native controls.
- After Effects no longer crashes when the AVLayer.compPointToSource() scripting method is used with a 3D text layer.
- The match name of the Fast Box Blur effect is “ADBE Box Blur2”. The older match name “ADBE Box Blur” will continue to work: when used to add the effect, “ADBE Box Blur” will apply the Fast Box Blur effect, but with the older name “Box Blur”; the Iterations parameter will be set to the new default of 3.
After Effects 14.0 (CC 2017) (November 2016)
Section titled “After Effects 14.0 (CC 2017) (November 2016)”- Scripting Access to Tools:
- Added: Project.toolType
- Scripting Access to Composition Markers:
- Added: CompItem.markerProperty
- Scripting Access to Queue in AME:
- Added: RenderQueue.queueInAME()
- Scripting Access to Available GPU Acceleration Options:
- Added: app.availableGPUAccelTypes
After Effects 13
Section titled “After Effects 13”After Effects 13.8 (CC 2015.3) (June 2016)
Section titled “After Effects 13.8 (CC 2015.3) (June 2016)”- Enable GPU effect rendering via scripting:
- Added: Project.gpuAccelType
- New Gaussian Blur effect added w/ matchname
ADBE Gaussian Blur 2
After Effects 13.6 (CC 2015) (November 2015)
Section titled “After Effects 13.6 (CC 2015) (November 2015)”- Scripting access to text baselines:
- Added: baselineLocs
- New scripting method to generate random numbers:
- Added: generateRandomNumber()
- Using the copyToComp() scripting method no longer causes After Effects to crash when the layer has a parent.
- The valueAtTime() scripting method now waits for time-intensive expressions, like
sampleImage
, to finish evaluating before it returns the result. - ScriptUI panels now display and resize correctly on high-DPI displays on Windows.
- After Effects no longer crashes when you click OK or Cancel buttons in a scriptUI dialog with tabbed panels.
After Effects 13.2 (CC 2014.2) (December 2014)
Section titled “After Effects 13.2 (CC 2014.2) (December 2014)”- Scripting improvements for text layers (read-only):
- Returns boolean value:
- Added: fauxBold
- Added: fauxItalic
- Added: allCaps
- Added: smallCaps
- Added: superscript
- Added: subscript
- Returns float:
- Added: verticalScale
- Added: horizontalScale
- Added: baselineShift
- Added: tsume
- Returns array of ([X,Y]) position coordinates (paragraph text layers only):
- Added: boxTextPos
- Layer space / comp space conversion:
- Added: sourcePointToComp()
- Added: compPointToSource()
After Effects 13.1 (CC 2014.1) (September 2014)
Section titled “After Effects 13.1 (CC 2014.1) (September 2014)”- Scripting improvements for text layers (read-only):
- returns string:
- Added: fontLocation
- Added: fontStyle
- Added: fontFamily
- “Use Legacy UI” toggle implemented
- Scripting access to render settings and output module settings:
- Added: RenderQueueItem object getSetting, setSetting methods
- Added: RenderQueueItem object getSettings, setSettings methods
- Added: OutputModule object getSetting, setSetting methods
- Added: OutputModule object getSettings, setSettings methods
- Fetch project item by id: Project.itemByID()
- CEP panels implemented
After Effects 12
Section titled “After Effects 12”- Access to effect’s internal version string:
- Added: Application effects object’s version attribute, see app.effects
- Ability to get and set preview mode:
- Added: ViewOptions.fastPreview
- Access to layer sampling method (see samplingQuality)
- Changed preference and settings methods (see Settings object)
- ScriptUI is now based on the same controls as the main application.
After Effects 11
Section titled “After Effects 11”- Added: Access to Viewer object object and controls:
- Added: app.activeViewer
- Added: AVLayer.openInViewer() to open a layer in the layer viewer
- Added: CompItem.openInViewer() to open a composition in the composition viewer
- Added: FootageItem.openInViewer() to open a footage item in the footage viewer
- Added: Property.canSetExpression
- Added: AVLayer.environmentLayer
- Added: MaskPropertyGroup.maskFeatherFalloff
- Access to Shape Feather properties via scripting:
- Added: Shape.featherSegLocs
- Added: Shape.featherRelSegLocs
- Added: Shape.featherRadii
- Added: Shape.featherInterps
- Added: Shape.featherTensions
- Added: Shape.featherTypes
- Added: Shape.featherRelCornerAngles
After Effects 10
Section titled “After Effects 10”- Added to the Project object object:
- Project.framesCountType
- Project.feetFramesFilmType
- Project.framesUseFeetFrames
- Project.footageTimecodeDisplayStartType
- Project.timeDisplayType
- Removed from the Project object object:
timecodeDisplayType
attributetimecodeBaseType
attributetimecodeNTSCDropFrame
attributetimecodeFilmType
attributeTimecodeDisplayType
enumTimecodeFilmType
enumTimecodeBaseType
enum- Added: CompItem.dropFrame
- Added support for Paragraph Box Text:
- Added LayerCollection.addBoxText()
- Added TextDocument.boxText
- Added TextDocument.pointText
- Added TextDocument.boxTextSize
- Added LightLayer.lightType
After Effects 9
Section titled “After Effects 9”- Added: app.isoLanguage
- Added: MarkerValue.duration
- Added: OutputModule.includeSourceXMP
- Added: Project.xmpPacket
- Added the following Property methods and attributes related to the Separate Dimensions feature:
- Property.dimensionsSeparated
- Property.getSeparationFollower()
- Property.isSeparationFollower
- Property.isSeparationLeader
- Property.separationDimension
- Property.separationLeader
- Added TextDocument object access, including:
- Added: TextDocument.applyFill
- Added: TextDocument.applyStroke
- Added: TextDocument.fillColor
- Added: TextDocument.font
- Added: TextDocument.fontSize
- Added: TextDocument.justification
- Added: TextDocument.resetCharStyle()
- Added: TextDocument.resetParagraphStyle()
- Added: TextDocument.strokeColor
- Added: TextDocument.strokeOverFill
- Added: TextDocument.strokeWidth