Changelog¶
What's new and changed for scripting?
After Effects 25¶
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¶
After Effects 24.6 (August 2024)¶
- 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
After Effects 24.5 (May 2024)¶
- Scripting methods and attributes added:
- Added: Project.replaceFont()
- Added: Project.usedFonts
After Effects 24.4 Beta build 25 (March 2024)¶
- Added: ThreeDModelLayer object
After Effects 24.3 (March 2024)¶
- 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
After Effects 24.2 (February 2024)¶
- 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
After Effects 24.0 (October 2023)¶
- 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¶
After Effects 23.0 (October 2022)¶
- 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¶
After Effects 22.6 (August 2022)¶
- Scripting methods added:
- Added: Property.keyLabel()
- Added: Property.setLabelAtKey()
After Effects 22.3 (April 2022)¶
- Scripting methods added:
- Added: Layer.doSceneEditDetection()
After Effects 22.0 (October 2021)¶
- 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¶
After Effects 18.0 (March 2021)¶
- 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¶
After Effects 17.1.1 (May 2020)¶
- 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).
After Effects 17.0.1 (November 2019)¶
- Scripted creation and modification of Dropdown Menu Control items:
- Added: Property.isDropdownEffect
- Added: Property.setPropertyParameters()
After Effects 16¶
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()
After Effects 16.0 (October 2018)¶
- 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¶
After Effects 15.1 (April 2018)¶
- 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
After Effects 15.0 (October 2017)¶
- Scripting Access to motion graphics templates:
- Added: CompItem.motionGraphicsTemplateName
- Added: CompItem.exportAsMotionGraphicsTemplate()
- Added: CompItem.openInEssentialGraphics()
- Added: Property.addToMotionGraphicsTemplate()
- Added: Property.canAddToMotionGraphicsTemplate()
After Effects 14¶
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)¶
- 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)¶
- 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¶
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)¶
- 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)¶
- 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)¶
- Scripting improvements for text layers (read-only):
- returns string:
- Added: fontLocation
- Added: fontStyle
- Added: fontFamily
- "Use Legacy UI" toggle implemented
After Effects 13.0 (CC 2014) (June 2014)¶
- 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¶
After Effects 12.0 (CC) (June 2013)¶
- 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¶
After Effects 11.0 (CS6) (April 2012)¶
- 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¶
After Effects 10.5 (CS5.5) (April 2011)¶
- 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¶
After Effects 9.0 (CS4) (September 2008)¶
- 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