# Getting started with Scripting

## Recommended readings

### Learning Javascript

* JavaScript: The Definitive Guide by David Flanagan (Just read the parts about coding; not web dev)

### References

* [**AE Scripting Guide**](http://docs.aenhancers.com/)
* <https://estk.aenhancers.com/index.html> (Contains ScriptUI documentation)
* **ScriptUI**
  * [Interactive Dialog Builder](https://scriptui.joonas.me/)
  * [Peter Kahrel's ScriptUI documentation](http://www.kahrel.plus.com/indesign/scriptui.html) (recommended)
  * [Adobe Javascript Tools Guide](https://forums.adobe.com/external-link.jspa?url=https%3A%2F%2Fwww.google.co.uk%2Furl%3Fsa%3Dt%26rct%3Dj%26q%3D%26esrc%3Ds%26source%3Dweb%26cd%3D1%26cad%3Drja%26ved%3D0CC8QFjAA%26url%3Dhttp%253A%252F%252Fwwwimages.adobe.com%252Fwww.adobe.com%252Fcontent%252Fdam%252FAdobe%252Fen%252Fproducts%252Findesign%252Fpdfs%252FJavaScriptToolsGuide_CS5.pdf%26ei%3D84vEUdipCdPv0gX064DYCQ%26usg%3DAFQjCNHopvf5agDw1OgtcvbB61RRF_ucOA%26sig2%3Dz0r1T-MYoBSpXgdejliHSQ%26bvm%3Dbv.48293060%2Cd.d2k) (not as good, but official)
  * **Two ways to browse the object structure to see what exists:**
    * Use the generated web pages at <http://jongware.mit.edu>/, eg.
      * ScriptUI - <http://jongware.mit.edu/scriptuihtml/Sui/index_1.html>
      * Illustrator (CS6) - <http://jongware.mit.edu/iljscs6html/iljscs6/>
      * InDesign (CS6) - <http://jongware.mit.edu/idcs6js>
      * Photoshop (CS5) -[ http://jongware.mit.edu/pscs5js\_html/psjscs5/](http://jongware.mit.edu/pscs5js_html/psjscs5/)
    * **Open up the Adobe Extendscript Toolkit** (ESTK, on a Mac it's in Applications > Utilities > Adobe Utilities...), then open Help > Object Model Viewer, choosing "ScriptUI classes" from the top left drop down menu.Or look at the Javascript Tools Guide, + the Intro to Scripting guide in the help menu
  * **Notes**

    For a script to be dockable, you must install the scripts into the ScriptUI folder, and you must invoke it from the Window menu. Then it will open as a panel, and you can drag and drop it into the UI as you would any other panel.

### Training&#x20;

* [FXPHD AFX210 Introduction to After Effects Scripting ](https://www.fxphd.com/details/196/)— highly recommended for beginners
* [FXPHD AFX226: Scripting in After Effects](https://www.fxphd.com/details/516/), MATHIAS MÖHL
* [FXPHD AFX303 Advanced Scripting for After Effects, Part 1](https://www.fxphd.com/details/539/), Feb 2017
* [FXPHD AFX304 Advanced Scripting for After Effects, Part 2](https://www.fxphd.com/details/541/) , Feb 2017
* [ExtendScript Script Writing Training, David Torno](https://www.provideocoalition.com/after-effects-extendscript-training-complete-series/)

### Others

* [After Effects Menu Command IDs](https://www.provideocoalition.com/after-effects-menu-command-ids/)
* <http://www.redefinery.com/index.php>
* [The Coding Train ](https://www.youtube.com/user/shiffman)by Daniel Shiffman

### More resource list

* [ NoSleepCreative motion design coding resources](https://papaly.com/duitbetter/9kjal/motion-code)
* <https://zacklovatt.com/ae-scripting-resources>

## FAQs

### What are some recommended scripts to use?

| Type | Scripts                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| ---- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Free | <p></p><ul><li><a href="https://www.videocopilot.net/blog/2018/05/fx-console-updated-to-v1-0-3/">FX Console</a></li><li><a href="https://aescripts.com/ease-and-wizz/">Ease & Whizz</a></li><li><a href="https://aescripts.com/label-maker/">Laber Maker</a></li><li><a href="https://aescripts.com/project-cleaner/">Project Cleaner</a></li><li><a href="https://www.battleaxe.co/downloads">Buttcapper</a></li><li><a href="https://aescripts.com/repositionanchorpoint/">RepositionAnchorPoint</a></li><li>EaseCopy</li><li>Saber</li></ul> |
| Paid | <p></p><ul><li>Flow</li><li>Ray Dynamic Color</li><li>Ray Dynamic Texture</li><li>Overlord</li><li>Gifgun</li><li>Kbar or Quick Menu</li></ul>                                                                                                                                                                                                                                                                                                                                                                                                  |

### Why should I learn scripting?

### I know how to use expressions but how to get to the next level?

I usually recommend people to watch FXPhd training on Introduction to After Effects Scripting. From there on, you should be confident enough to pave your own path; yes it is that magical.

### How do I learn automation?

Automation is a concept; there is no standard technique. You need to have the foundations of coding and scripting to create your automation workflow.
