# How to change Brush hardness without changing it's size via batchplay

**URL:** <https://forums.creativeclouddeveloper.com/t/how-to-change-brush-hardness-without-changing-its-size-via-batchplay/4385>\
**Category:** Photoshop\
**Created:** [March 8, 2022, 11:01am UTC](https://forums.creativeclouddeveloper.com/t/how-to-change-brush-hardness-without-changing-its-size-via-batchplay/4385 "2022-03-08T11:01:40Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Adam](https://sea1.discourse-cdn.com/flex015/user_avatar/forums.creativeclouddeveloper.com/adam/32/1808_2.png) [@Adam](https://forums.creativeclouddeveloper.com/u/Adam)\
**Post date:** [March 8, 2022, 11:01am UTC](https://forums.creativeclouddeveloper.com/t/how-to-change-brush-hardness-without-changing-its-size-via-batchplay/4385/1 "2022-03-08T11:01:41Z")

</div>

Hi,

I’m trying to change brush hardness with Batchplay but no matter what I do, other parameters are being affected as well. For example size is being changed automatically to 25.  
I want to adjust hardness only and keep spacing and size (diameter) unaffected.

This is the batchplay code I’m using:

```auto
{
  _obj: 'set',
  _target: [{_ref: 'brush', _enum: 'ordinal', _value: 'targetEnum'}],
  to: {
    _obj: 'brush',
    hardness: {
      _unit: 'percentUnit',
      _value: 0
    }
  }
}

```

Anyone have the solution for that?

Thanks!

---

<div class="post-metadata">

**Author:** ![simonhenke](https://sea1.discourse-cdn.com/flex015/user_avatar/forums.creativeclouddeveloper.com/simonhenke/32/957_2.png) [@simonhenke](https://forums.creativeclouddeveloper.com/u/simonhenke)\
**Post date:** [March 8, 2022, 12:28pm UTC](https://forums.creativeclouddeveloper.com/t/how-to-change-brush-hardness-without-changing-its-size-via-batchplay/4385/2 "2022-03-08T12:28:07Z")

</div>

To reliably change just one settings, you need to set back the whole tool options descriptor like I’ve described here:

> [@Setting minimum brush opacity](http://forums.creativeclouddeveloper.com/t/setting-minimum-brush-opacity/3104/4):
>
> I figured it out… const toolOpt: PaintBrushToolOptionsDescriptor = getAppProperty('currentToolOptions') as PaintBrushToolOptionsDescriptor toolOpt.$opVr.minimum.\_value = 50 const desc = { \_obj: 'set', \_target: { \_ref: [{ \_ref: 'paintbrushTool'}], }, to: toolOpt } photoshop.action.batchPlay([desc], {}) 3 Notes: You can ignore the types if you’re not using typescript, although I highly recommend it to know what’s going on inside the descriptors. For a different t…

To save you some time:

```auto
// ... require batchPlay & executeAsModal

// Have your tool selected or select it via:
executeAsModal(() =>
  batchPlay([
      {
        _obj: "select",
        _target: {
          _ref: "paintbrushTool",
        },
        dontRecord: true,
      },
    ],{})
);

// Store current tool options
const toolOpt = batchPlay([
  {
    _obj: 'get',
    _target: [
      { _property: "currentToolOptions" },  
      { _ref: 'application', _enum: 'ordinal', _value: 'targetEnum' }
    ],
  },
], { synchronousExecution: true })[0].currentToolOptions

// Set new value
toolOpt.brush.hardness._value = 50

// Write it back to the tool options
executeAsModal(() => batchPlay([
  {
      _obj: 'set',
      _target: {
        _ref: [{ _ref: 'paintbrushTool'}],
      },
      to: toolOpt
    }
  ],{}))

```

---

<div class="post-metadata">

**Author:** ![Adam](https://sea1.discourse-cdn.com/flex015/user_avatar/forums.creativeclouddeveloper.com/adam/32/1808_2.png) [@Adam](https://forums.creativeclouddeveloper.com/u/Adam)\
**Post date:** [March 8, 2022, 12:51pm UTC](https://forums.creativeclouddeveloper.com/t/how-to-change-brush-hardness-without-changing-its-size-via-batchplay/4385/3 "2022-03-08T12:51:28Z")

</div>

Again Thank you Simon! You’ve saved a lot of my time and frustration 🙂

Have a great day!

---

<div class="post-metadata">

**Author:** ![Karmalakas](https://sea1.discourse-cdn.com/flex015/user_avatar/forums.creativeclouddeveloper.com/karmalakas/32/1048_2.png) [@Karmalakas](https://forums.creativeclouddeveloper.com/u/Karmalakas)\
**Post date:** [May 27, 2022, 6:05am UTC](https://forums.creativeclouddeveloper.com/t/how-to-change-brush-hardness-without-changing-its-size-via-batchplay/4385/4 "2022-05-27T06:05:37Z")

</div>

> [@simonhenke](#):
>
> `dontRecord: true`

What does this do? 🤔

---

<div class="post-metadata">

**Author:** ![simonhenke](https://sea1.discourse-cdn.com/flex015/user_avatar/forums.creativeclouddeveloper.com/simonhenke/32/957_2.png) [@simonhenke](https://forums.creativeclouddeveloper.com/u/simonhenke)\
**Post date:** [May 27, 2022, 9:02am UTC](https://forums.creativeclouddeveloper.com/t/how-to-change-brush-hardness-without-changing-its-size-via-batchplay/4385/5 "2022-05-27T09:02:57Z")

</div>

I have no idea. Maybe one time it was set for every tool select event whether it should be recorded in Actions or not, until they moved it to this setting:

 ![image](https://us1.discourse-cdn.com/flex015/uploads/xdplugins/original/2X/c/caa63ac930842ddf71db34493be64dcf9487f03c.png)  
Just blindly guessing though…
