Changelog

What’s new in V2

SMS Macros V2 is a complete rewrite focused on better organisation, easier recording, and true portability of your macro sets.

Presets are now JSON files with folders

  • Macro sets are saved as human‑readable .json files, not hidden text blocks inside .blend files.

  • You can organise your sets into categories and subcategories – just create folders in your presets folder.

  • Share a macro set by sending the .json file (and its optional companion .blend) – no more appending from other .blend files.

Record by right‑clicking

  • Turn on Start Recording in the Recorder panel, then right‑click any button, slider, or operator in Blender’s interface and choose Add Macro Entry.

  • No more copying from the Info area – the macro is captured instantly.

Last Touched helper

  • Click Get Last Touched to see a list of your most recent actions (scraped from the Info area).

  • Add a single action or the whole sequence to your macro set with one click.

Smart asset handling

  • Append Asset – pick any datablock (material, object, node group, etc.) from a .blend file and record it as an entry. The asset will be automatically appended when you play the set.

  • Set Material – one‑click recording of “assign the most recently appended material to the active slot”.

  • Set Geonode – one‑click recording of “assign the most recently appended node group to a Geometry Nodes modifier”.

Companion .blend for portability

  • If your macro set uses external datablocks (e.g. bpy.data.materials["MyMaterial"]), the extension offers to bundle them into a companion ``.blend`` file.

  • That .blend travels with the macro set – run the set on any machine without missing data.

Run on all selected objects

  • New toggle All Selected in the Player panel – the macro set executes once for every object you have selected.

  • Perfect for applying the same transformation, modifier stack, or material to many objects at once.

No duplicates mode

  • Enable No Duplicates – operators that add modifiers, constraints, particle systems, shape keys, etc. will be skipped if the target object already has one of that type.

  • Running the same set twice no longer clutters your scene with duplicate data.

Toggle between absolute and relative paths

  • Property entries can be switched between bpy.data.objects["Cube"].location (absolute) and bpy.context.object.location (relative).

  • Use the Toggle Path Type button on a single entry or Toggle Paths for the whole set.

  • Makes your macro sets work across different scenes and object names.

Edit anything

  • Change entry names, Python commands, default/min/max values, and even the order of entries.

  • Everything is editable directly in the Recorder panel – no manual text editing required.

Import legacy V1 sets

  • Use the Options panel → Import Legacy (V1) Presets.

  • Pick any .blend file that contains old mac_* text blocks – they are converted to modern JSON presets and saved in a Legacy folder.

Requirements panel

The Player now shows a Requirements list before you run a set – it tells you what must already exist in the scene.

Cross‑editor support

The SMS Macros panels now appear in the following Blender editors: 3D View, Image Editor, Dope Sheet / Action Editor, NLA Editor, Graph Editor, Video Sequence Editor, Node Editor, and Clip Editor.

Cleaner UI

Three separate panels: Options (configuration), Recorder (make sets), Player (run sets).

What stayed the same (but improved)

  • Randomisation between min/max values still works.

  • Default / Min / Max recall types are still there.

What was removed

  • The “Quick Panel” (compact mode) – the new UI is already cleaner.

  • The “Reset” button – use Blender’s own “factory settings” if needed, or simply delete the presets folder.

Note

V1 macro sets (text blocks inside .blend files) are not automatically converted. Use the Import Legacy (V1) Presets button in the Options panel to bring them into V2. After conversion, you can safely remove the old .blend files.