I have been diving into Creative Cloud for a while now, mainly using Photoshop and Illustrator for personal and work projects. Recently, I have become really interested in the idea of developing my own plugins to streamline some workflows. However, I am pretty new to the whole plugin development scene.
For those of you who have been in this space for a while, where would you recommend starting? Any must-read tutorials, tips, or tools that really helped you get the hang of it? I am also curious about what common pitfalls to avoid for a newbie.
Looking forward to hearing from you all- thanks in advance!
Out of curiosity… did you consider pros and cons hiring someone to do that vs doing it yourself? I wonder how this consideration turned out. Do you consider yourself a technical kind of person?
Common pitfalls
If code fails within Promise and it is not wrapped in try/catch inside… you will probably never know about that error
All PS editing code must be in executeAsModal which must be promise inside
batchPlay needs token instead of file paths
“fs” module returns numbers instead of error messages
if there is error in batchPlay… it does not throw anything by default… you have to check explicitly
Many CSS styles not working/implemented but documentation on that is outdated
If you use TypeScript the types for UXP are wrong on many places
Documentation is hard to work with and not great… but you can buy better one. It is better to use Google to search in it instead of using search provided in Docs.
PS DOM has limited features and new ones won’t be probably added within next few years
so you have to use low level batchPlay for almost everything… but that is harder to work with
Manifest documentation is in 3-4 different pages… manifest v6 is not documented yet
Sample code projects are great either… I heard they can be broken/outdated but don’t remember what exactly it was
AI chatbots generates code with errors most of the time
SP-Components have whole bunch of quirks and weird behavior and infinite z-index so regular element cannot be above
SWC SP-Components alternative is hard to setup
many browser or NodeJS related features are not implemented… you have to add polyfill or find workaround
Referencing your insight that PS DOM is limited, could you expand or confirm its consistent with the following experience Im having (?)
there are two plugins im playing with
my experience level is basically im trying to finish my first plugins
and I’m at a roadblock with both because when I try to access their attributes dynamically with the simplest written version of what my solution would be, I’m being returned undefined.
So far with my traffic bumps, I’m gathering that:
the event object is not accessible
class and id are the only attributes of an element that can be queried & relayed, in the console at least which also means the program
since you mentioned this point about PS’s dom, is what I’m experiencing consistent with what you meant by that?