Name Modifiers

The Simple Renaming tool introduces powerful renaming variables, making it easier and more flexible to create customized naming schemes. These variables allow for dynamic renaming while keeping the process quick and efficient. The "@" symbol is used to define variables, avoiding conflicts with other common symbols like "$". You can easily generate these variables by clicking a button next to the input field or typing them directly. With a range of predefined variables, the tool adapts to various Blender project needs.

System and Number Variables

Variable Name Description
@d date Current date (UTC timezone).
@i time Current time (UTC timezone).
@f filename User's filename of the blend file. Ignored if the file hasn’t been saved.
@r random Random letter combination, 6 characters long.
@n number Iterating number with padding zeros (e.g., 003). Length defined in preferences.

User Variables

Variable Name Description
@h high poly User-defined for high poly meshes.
@l low poly User-defined for low poly meshes.
@b cage User-defined for bake cage meshes.
@u1 user var User-defined variable.
@u2 user var User-defined variable.
@u3 user var User-defined variable.

Object Variables

These variables are supported in Object mode.

Variable Name Description
@p parent name Parent name. If no parent exists, the object name is used.
@o object name Name of the current object.
@a active object Name of the active object.
@m object data Object data name.
@t object type Object type, e.g., MESH, CURVE, LIGHT.
@c collection All linked collection names.

You can use any number of renaming variables in any input field, and combine them with regular strings.

Example: @f_@t_object_@i
This would output [filename]_[objecttype]_object_[time].

Note:

Be cautious when using renaming variables in the Search input, as it only compares strings. For example, using the @d (date) variable will only find objects with the current date in the same format.

By deactivating automatic numeration and using the custom number variable @n, you can rename multiple objects with an increasing number in the middle of the string.

Example: object_001_high, object_002_high, object_003_high
This is useful for tasks like baking multiple high-poly objects onto a single low-poly object in Marmoset or Substance.


Case Transformation

Case Buttons

The Case section in the panel provides six one-click operators that convert names between common naming conventions. The word splitter automatically detects the input format — you do not need to prepare names beforehand.

Button Description Example
UPPERCASE All characters uppercase hello_worldHELLO_WORLD
lowercase All characters lowercase Hello_Worldhello_world
PascalCase Each word capitalised, no separator hello_worldHelloWorld
camelCase First word lowercase, rest capitalised hello_worldhelloWorld
snake_case All lowercase, words joined by _ HelloWorldhello_world
kebab-case All lowercase, words joined by - HelloWorldhello-world

The word splitter handles all common input conventions:

Input format Splits into words
hello_world hello, world
hello-world hello, world
HelloWorld Hello, World
helloWorld hello, World
HELLO_WORLD HELLO, WORLD
XMLParser XML, Parser

Regex Replace Modifiers

When Use Regex is enabled, the Replace field supports case modifiers that apply to individual captured groups. This allows fine-grained control that is not possible with the case buttons alone.

Modifier Effect on the group
\u$1 Uppercase the first character only
\l$1 Lowercase the first character only
\U$1 Uppercase the entire group
\L$1 Lowercase the entire group

Both $1 and \1 are accepted as group reference syntax.

Example — convert kebab-case to PascalCase:

Field Value
Search [-_]?([a-zA-Z]+)
Replace \u$1

hello-worldHelloWorld

Example — uppercase only the first word:

Field Value
Search ^([a-z]+)(.*)
Replace \U$1$2

hello_worldHELLO_world