-
After Effects
FX StrokeSetter
The missing Stroke panel for After Effects! Change Stroke Caps, Corners, and Alignment on several Shape Layers at once. Add Taper, Wave, or Dashes to your Strokes, and control them with expressions locally (effects created on each layer) or globally (effects on a master Null) thanks to easy shortcuts!
As a motion designer, chances are that you always end up twirling down your Shape Layers' content groups in order to find and tweak all the Stroke properties like Color, Width, Opacity, Dashes, Taper, Wave...
Indeed, After Effects doesn't even offer any "Stroke panel" like Illustrator, and - especially for projects with a lot of stylized outlined vector artwork - twirling down those Shape layers contents groups again and again can become very time-consuming.
This is why I've created a dedicated, handy, new tool! Let me introduce you...
FX StrokeSetter, the missing stroke panel for After Effects!
FX StrokeSetter consists of a set of icon buttons, grouped in a fluid, responsive UI Panel, arranged in the following order :
![]()
- Stroke Caps
Use the 3 first buttons to set the Stroke(s) Cap to Butt (1), Round (2) or Projecting (3), on selected Shape Layers. - Stroke Corners
Use the 4th to 6th buttons to set the Stroke(s) Corner to Miter Join (4), Round Join (5) or Bevel Join (6), on selected Shape Layers. - Stroke Align
Use the 7th to 8th icons in order to align Stroke(s) on Center (7), Inside (8) or Outside (9), on selected Shape Layers.
This options are better suited for CLOSED shaped (like in Adobe Illustrator) ; you'll generally not want to apply these ones on open paths!
Please also note that an Offset Shape Layer Animator called 'FX StrokeOffset' will be added at the same hierarchy level for each Stroke. - Stroke Taper
Use one of these 2 buttons to set the value of the Stroke's 'Taper Start' (10) or the 'Taper End' (11) to 100%, on selected Shape Layers.
ALT + click on these buttons will create some local controls. This way, you'll force all the Stroke Taper's options ('Start Length', 'End Lenght', 'Start Width', 'End Width', 'Start Ease' and 'End Ease') to be linked to some same named Expressions Controls that will be added to each Shape Layer's effects stack. This is perfect if you want to maintain some consistency in all the shapes contained in a same shape layer, that should share the exact same Taper Effect.
ALT + SHIFT + click on these buttons will create global controls. Just like explained previously, each Taper property will be driven by some Expression Controls created locally... BUT each of these Expression Controls effects will also be linked through expression to a master Null called 'FX_StrokeSetter CTRL', where you'll find the exact same Controls effects that will drive all the selected Shape Layers globally (conversely to the ALT only shortcut, where controls where just local, independant from each other layer). This is the perfect choice if you want to keep consistency in all the composition or if you plan to expose the effects as Master Properties in the Essential Graphic Panel for templates creation. If a 'FX_StrokeSetter CTRL' Null layer already exists in the active composition, the Controls Effects will be added to it's effects stack, among other existing controls.
- Stroke Wave
Use this button (12) to set the value of the Stroke's 'Wave Amount' to a default value of 75%, on selected Shape Layers.
ALT + click on this button will create some local controls. This way, you'll force all the Stroke Wave's options ('Wave Amount', 'Wave Lenght' and 'Wave Phase') to be linked to some same named Expressions Controls that will be added to each Shape Layer's effects stack. This is perfect if you want to maintain some consistency in all the shapes contained in a same shape layer, that should share the exact same Wave Effect.
ALT + SHIFT + click on this button will create global controls. Just like explained previously, each Wave property will be driven by some Expression Controls created locally... BUT each of these Expression Controls effects will be also linked through expression to a master Null called 'FX_StrokeSetter CTRL', where you'll find the exact same Controls effects that will drive all the selected Shape Layers globally (conversely to the ALT only shortcut, where controls where just local, independant from each other layer). This is the perfect choice if you want to keep consistency in all the composition or if you plan to expose the effects as Master Properties in the Essential Graphic Panel for templates creation. If a 'FX_StrokeSetter CTRL' Null layer already exists in the active composition, the Controls Effects will be added to it's effects stack, among other existing controls.
- Stroke Dashes
Use this button (13) to add Dashes and Gaps to the Stroke's 'Dashes' group, on selected Shape Layers. A modal window will prompt you to add some dashes and gaps by pair ('Dash 1', 'Gap 1', 'Dash 2', 'Gap 2'...), up to a maximum of 3 Dash/Gap pair (After Effects can't add more natively), thanks to the + and - buttons (then validate with the 'Set Dashes on Selected Shape Layers').
ALT + click on this button will create some local controls. This way, you'll force all the Stroke Dashes's options you had chosen in the modal window ('Dash 1', 'Gap 1', 'Dash 2', ... + another one called 'Dashes Offset') to be linked to some same named Expressions Controls that will be added to each Shape Layer's effects stack. This is perfect if you want to maintain some consistency in all the shapes contained in a same shape layer, that should share the exact same Dashes setup.
ALT + SHIFT + click on this button will create global controls. Just like explained previously, each Dashes property will be driven by some Expression Controls created locally... BUT each of these Expression Controls effects will be also linked through expression to a master Null called 'FX_StrokeSetter CTRL', where you'll find the exact same Controls effects that will drive all the selected Shape Layers globally (conversely to the ALT only shortcut, where controls where just local, independant from each other layer). This is the perfect choice if you want to keep consistency in all the composition or if you plan to expose the effects as Master Properties in the Essential Graphic Panel for templates creation. If a 'FX_StrokeSetter CTRL' Null layer already exists in the active composition, the Controls Effects will be added to it's effects stack, among other existing controls.
- Stroke Reset or Width/Color/Opacity
This button (14) can be used for 2 different purpose : either to reset the Stroke's Dashes, Wave and Taper effects, or to apply local or global controls for Strokes' Width, Color and Opacity, on selected Shape Layers.
By clicking the button solely without any shortcut, the script will remove all Dashes from the Strokes, reset their Wave Amount to 0 and rest their Taper Start and End Lenght values to 0.
But if these properties had an expression on them, if you had created local or global controls by ALT clicking the tool's buttons for example, you'll need to 'Hard Reset' the selected Shape Layer's Stroke, by removing all the expressions, effects and the master 'FX_StrokeSetter CTRL' null layer. Just hold down the SHIFT key on your keyboard while clicking this button in order to do so (and confirm it when the warning pops up)
ALT + click on this button will create some local controls for the Stroke Width, Color and Opacity, plus a checkbox called 'Non Rescaling Stroke Width', that you can check if you want your Strokes' width to visually remain the same while you resize the shape layer or its parent! This way, you'll force the Stroke Width, Color and Opacity to be linked to some same named Expressions Controls that will be added to each Shape Layer's effects stack. This is perfect if you want to maintain some consistency in all the shapes contained in a same shape layer, that should share the exact same Stroke Width/Color/Opacity.
ALT + SHIFT + click on this button will create global controls. Just like explained previously, Stroke's Width, Color and Opacity will be driven by some Expression Controls created locally... BUT each of these Expression Controls effects will be also linked through expression to a master Null called 'FX_StrokeSetter CTRL', where you'll find the exact same Controls effects that will drive all the selected Shape Layers globally (conversely to the ALT only shortcut, where controls where just local, independant from each other layer). This is the perfect choice if you want to keep consistency in all the composition or if you plan to expose the effects as Master Properties in the Essential Graphic Panel for templates creation. If a 'FX_StrokeSetter CTRL' Null layer already exists in the active composition, the Controls Effects will be added to it's effects stack, among other existing controls.
- Help & Info or Select all Shapes Layers in the comp
Click on this button (15) without any shortcut in order to retrieve all the product's info, including the version number, some tools description and some external links.
But you can also use this exact same button while holding down the SHIFT key in order to automatically select all the Shape Layers contained in the active composition. Pretty convenient when you have a lot of Shape Layers and complex timeline with different types of layers!

Important Notes :
You can select as many shape layers as you want in the active composition, and the script will cycle through each of them in order to find Strokes and apply the different effects to them, either directly at the Contents' root (if you create an empty shape layer from scratch and add a stroke manually for exemple), or inside Groups at the first level only. Deeper group levels will be ignored in order to maintain responsiveness, but it shouldn't be a problem in general since the 1rst level of hierarchy is the most common case (Strokes are in 1rst level groups if you draw shapes with the AE vector tools or if you import shapes with Overlord for example).
Installation :
Use the aescript and plugins manager or copy and paste both the FX_StrokeSetter.jsxbin file AND the FXStrokeSetterAssets folder into your Adobe After Effects' Scripts > ScriptsUI Panels folder.
The toolset works on PC and MAC, and is compatible with all After Effects CC+ versions EXCEPT for the Taper and Wave effects, that were first introduced since AE CC2020 (build 17.2). In versions prior to this one, the Start Taper, End Taper and Wave buttons will be greyed out and won't be enabled.
Discussions
Want to talk about it?
Head over to r/aescripts to chat with fellow users about this product.
Need Support?
Please open a support ticket to be connected directly with the author of this product
Version History
1.0 -
Jan 26, 2022
Compatibility
After Effects
2026, 2025, 2024, 2023, 2022, 2021, 2020
EULA
This software ("the Software Product") and accompanying documentation is licensed and not sold. This Software Product is protected by copyright laws and treaties, as well as laws and treaties related to other forms of intellectual property. The author owns intellectual property rights in the Software Product. The Licensee's ("you" or "your") license to download, use, copy, or change the Software Product is subject to these rights and to all the terms and conditions of this End User License Agreement ("Agreement").
Acceptance
YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS AGREEMENT BY SELECTING THE "ACCEPT" OPTION AND DOWNLOADING THE SOFTWARE PRODUCT OR BY INSTALLING, USING, OR COPYING THE SOFTWARE PRODUCT. YOU MUST AGREE TO ALL OF THE TERMS OF THIS AGREEMENT BEFORE YOU WILL BE ALLOWED TO DOWNLOAD THE SOFTWARE PRODUCT. IF YOU DO NOT AGREE TO ALL OF THE TERMS OF THIS AGREEMENT, YOU MUST SELECT "DECLINE" AND YOU MUST NOT INSTALL, USE, OR COPY THE SOFTWARE PRODUCT.
License Grant
This Agreement entitles you to install and use one copy of the Software Product. In addition, you may make one archival copy of the Software Product. The archival copy must be on a storage medium other than a hard drive, and may only be used for the reinstallation of the Software Product. This Agreement does not permit the installation or use of multiple copies of the Software Product, or the installation of the Software Product on more than one computer at any given time, on a system that allows shared used of applications, on a multi-user network, or on any configuration or system of computers that allows multiple users. Multiple copy use or installation is only allowed if you obtain an appropriate licensing agreement for each user and each copy of the Software Product.
Restrictions on Transfer
Without first obtaining the express written consent of the author, you may not assign your rights and obligations under this Agreement, or redistribute, encumber, sell, rent, lease, sublicense, or otherwise transfer your rights to the Software Product.
Restrictions on Use
You may not use, copy, or install the Software Product on any system with more than one computer, or permit the use, copying, or installation of the Software Product by more than one user or on more than one computer. If you hold multiple, validly licensed copies, you may not use, copy, or install the Software Product on any system with more than the number of computers permitted by license, or permit the use, copying, or installation by more users, or on more computers than the number permitted by license.
You may not decompile, "reverse-engineer", disassemble, or otherwise attempt to derive the source code for the Software Product.
Restrictions on Alteration
You may not modify the Software Product or create any derivative work of the Software Product or its accompanying documentation. Derivative works include but are not limited to translations. You may not alter any files or libraries in any portion of the Software Product.
Restrictions on Copying
You may not copy any part of the Software Product except to the extent that licensed use inherently demands the creation of a temporary copy stored in computer memory and not permanently affixed on storage medium. You may make one archival copy which must be stored on a medium other than a computer hard drive.
Disclaimer of Warranties and Limitation of Liability
UNLESS OTHERWISE EXPLICITLY AGREED TO IN WRITING BY THE AUTHOR, THE AUTHOR MAKES NO OTHER WARRANTIES, EXPRESS OR IMPLIED, IN FACT OR IN LAW, INCLUDING, BUT NOT LIMITED TO, ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE OTHER THAN AS SET FORTH IN THIS AGREEMENT OR IN THE LIMITED WARRANTY DOCUMENTS PROVIDED WITH THE SOFTWARE PRODUCT.
The author makes no warranty that the Software Product will meet your requirements or operate under your specific conditions of use. The author makes no warranty that operation of the Software Product will be secure, error free, or free from interruption. YOU MUST DETERMINE WHETHER THE SOFTWARE PRODUCT SUFFICIENTLY MEETS YOUR REQUIREMENTS FOR SECURITY AND UNINTERRUPTABILITY. YOU BEAR SOLE RESPONSIBILITY AND ALL LIABILITY FOR ANY LOSS INCURRED DUE TO FAILURE OF THE SOFTWARE PRODUCT TO MEET YOUR REQUIREMENTS. THE AUTHOR WILL NOT, UNDER ANY CIRCUMSTANCES, BE RESPONSIBLE OR LIABLE FOR THE LOSS OF DATA ON ANY COMPUTER OR INFORMATION STORAGE DEVICE.
UNDER NO CIRCUMSTANCES SHALL THE AUTHOR, ITS DIRECTORS, OFFICERS, EMPLOYEES OR AGENTS BE LIABLE TO YOU OR ANY OTHER PARTY FOR INDIRECT, CONSEQUENTIAL, SPECIAL, INCIDENTAL, PUNITIVE, OR EXEMPLARY DAMAGES OF ANY KIND INCLUDING LOST REVENUES OR PROFITS OR LOSS OF BUSINESS) RESULTING FROM THIS AGREEMENT, OR FROM THE FURNISHING, PERFORMANCE, INSTALLATION, OR USE OF THE SOFTWARE PRODUCT, WHETHER DUE TO A BREACH OF CONTRACT, BREACH OF WARRANTY, OR THE NEGLIGENCE OF THE AUTHOR OR ANY OTHER PARTY, EVEN IF THE AUTHOR IS ADVISED BEFOREHAND OF THE POSSIBILITY OF SUCH DAMAGES. TO THE EXTENT THAT THE APPLICABLE JURISDICTION LIMITS THE AUTHOR'S ABILITY TO DISCLAIM ANY IMPLIED WARRANTIES, THIS DISCLAIMER SHALL BE EFFECTIVE TO THE MAXIMUM EXTENT PERMITTED.
Limitation of Remedies and Damages
Any claim must be made within the applicable warranty period. All warranties cover only defects arising under normal use and do not include malfunctions or failure resulting from misuse, abuse, neglect, alteration, problems with electrical power, acts of nature, unusual temperatures or humidity, improper installation, or damage determined by the author to have been caused by you. All limited warranties on the Software Product are granted only to you and are non-transferable. You agree to indemnify and hold the author harmless from all claims, judgments, liabilities, expenses, or costs arising from your breach of this Agreement and/or acts or omissions.
Governing Law, Jurisdiction and Costs
This Agreement is governed by the laws of New York, without regard to New York's conflict or choice of law provisions.
Severability
If any provision of this Agreement shall be held to be invalid or unenforceable, the remainder of this Agreement shall remain in full force and effect. To the extent any express or implied restrictions are not permitted by applicable laws, these express or implied restrictions shall remain in force and effect to the maximum extent permitted by such applicable laws.