The Problem Nobody Talks About When Sharing Actions
I sent a batch action to a client’s in-house retoucher last spring, one I’d been running cleanly for months on product shots. She ran it on her machine and every single dodge step came out wrong. The brush I’d built into the action was pulling from her default settings instead of mine, and the softness, spacing, and flow were completely different. The action itself was fine. The brush was the problem.
Custom brushes are one of those foundational tools most Photoshop users treat as decoration, something you grab from a pack online and use for adding texture to a sky. But if you’re building actions, batch workflows, or any kind of repeatable retouching system, brushes are infrastructure. How they’re built determines whether your automation holds up or falls apart the moment someone else opens your file.
What Photoshop Actually Stores When You Save a Brush
Here’s what most tutorials skip: Photoshop doesn’t save brush dynamics in the brush tip itself. The brush tip is just the shape and texture. When you define a brush preset, you’re capturing the tip geometry, including hardness, spacing, and roundness, but not the opacity, flow, or any settings from the Brush Settings panel like scattering or texture depth.
This matters enormously for automation. When an action records a paint step, it logs the brush preset name and the tool settings at the time of recording. If those settings aren’t locked into a full tool preset (not just a brush preset), any machine running that action will substitute its own current tool state. That’s why my client’s dodge steps went sideways. She had her flow set to 40% as a personal default. Mine was at 15%.
The fix is to always create tool presets rather than bare brush presets when your brushes are going into actions. Tool presets are saved from the tool options bar dropdown, not the Brushes panel, and they capture the complete tool state, including blend mode, opacity, flow, and whether you’re using pen pressure. That single distinction has saved me from dozens of support headaches.
Building a Brush Tip That Holds Up at Scale
For product retouching, I keep three workhorse brush shapes. A hard-edge round at 100% hardness and 25% spacing for clean masking work. A soft round at 0% hardness and 20% spacing for dodging and burning. And a custom texture tip built from a high-contrast grayscale scan, usually 400x400 pixels at 300 DPI, for adding subtle surface detail to things like fabric or leather.
When creating a custom tip from a scan or graphic, the source image needs to be grayscale with a white background. Black areas become opaque brush marks, white becomes transparent. Keep your source file under 2500 pixels on the longest edge or Photoshop starts generating lag on large canvases, which is brutal mid-action. I define the tip by going to Edit, then Define Brush Preset, and I immediately rename it with a naming convention that includes the pixel size and intended use. Something like “Soft-Dodge-300px-Low” takes five seconds to interpret six months later.
Spacing is the setting people get wrong most often. The default is 25%, which is fine for freehand painting, but inside an action or script-driven stroke, high spacing values create visible gaps. For any brush being used in an automated stroke, I bring spacing down to 5-8%. It adds a negligible amount to processing time and the stroke reads as continuous.
Turning a Brush Into a Reliable Action Component
Once the tip and dynamics are set, here’s my exact process for locking it into an action. Set all your tool options exactly how you want them. Then go to the tool preset picker in the options bar, the small icon on the far left, and save a new tool preset with a name that includes the version number. I use something like “S-Dodge-v3-15f” where S means soft, v3 is the iteration, and 15f means 15% flow. Then record your action step.
When the action plays back, Photoshop looks for that tool preset by name. If it’s present on the target machine, the settings load perfectly. If it’s missing, Photoshop uses whatever the current tool state happens to be, which is chaos. This means whenever I send an action set to a client or collaborator, the ABR brush file and the TPL tool preset file go with it. I bundle them in a single ZIP with a one-page setup PDF. That’s the whole handoff system.
A Lesson from 500 Product Shots in One Afternoon
A few years ago I built a batch system over a weekend to handle a run of product photography for an e-commerce client, 500 SKUs that all needed background cleanup, a consistent dodge pass on the top surface, and a subtle vignette. I ran the first test batch of 50 and the dodge pass was visibly inconsistent across images. Different stroke intensities, different softness. Two hours of troubleshooting later, I realized I’d recorded the action while the tablet driver was assigning pressure to opacity. On a mouse-driven batch, there was no pressure data, so Photoshop was randomizing the opacity fallback.
I rebuilt the tool preset with pen pressure turned off entirely, set a fixed opacity of 22%, and re-ran the batch. Perfectly consistent across all 500 files. The final run took about four hours of machine time while I worked on something else. That whole episode is now the first item in the setup checklist I give anyone using my action sets.
The Setting That Changes Everything
If there is one thing I want you to take away from everything above, it is this: always save tool presets instead of brush presets when those brushes will live inside actions. The brush tip is just geometry. The tool preset is the whole instrument, and consistency in automation lives or dies on that distinction.
Comments (5)
Solid advice. Especially the part about taking your time with it.
Love this. I referenced a similar technique in one of my recent posts. Always good to see other perspectives.
I've been looking for exactly this kind of tutorial. Perfect timing.
Great breakdown. The step-by-step approach really helps.
Clear and practical. No fluff. Appreciate that.
Leave a Comment