Operators
All 150 operators, as registered. Each one can be searched from Blender’s F3 menu by its name, added to Quick Favourites (right-click its button ▸ Add to Quick Favorites), or called from Python as bpy.ops.voxel_mode.<name>().
Model and document
Section titled “Model and document”Align To Voxel Grid
Section titled “Align To Voxel Grid”bpy.ops.voxel_mode.snap_to_grid
Move the selected voxel models onto the voxel lattice
Benchmark
Section titled “Benchmark”bpy.ops.voxel_mode.benchmark
Time the edit loop on the active model and print the numbers
Clear All Voxels
Section titled “Clear All Voxels”bpy.ops.voxel_mode.clear
Empty the model, keeping its grid, palette and placement
Delete Model
Section titled “Delete Model”bpy.ops.voxel_mode.delete_model
Delete the voxel model and every mesh that belongs to it
Duplicate Voxel Model
Section titled “Duplicate Voxel Model”bpy.ops.voxel_mode.duplicate_model
Duplicate the voxel model, grid and all
| Option | Type | Default | What it does |
|---|---|---|---|
| Move | Boolean | True | Start moving the copy straight away, the way Shift+D does |
Enter Voxel Mode
Section titled “Enter Voxel Mode”bpy.ops.voxel_mode.enter
Start voxel editing on the active model
Exit Voxel Mode
Section titled “Exit Voxel Mode”bpy.ops.voxel_mode.exit
Stop voxel editing and go back to the ordinary select tool
Fill With Shape
Section titled “Fill With Shape”bpy.ops.voxel_mode.fill_shape
Fill the model with a primitive shape
| Option | Type | Default | What it does |
|---|---|---|---|
| Shape | Enum: Box, Sphere, Cylinder, Cone, Pyramid, Floor, Room | BOX | |
| Mode | Enum: Add, Replace, Carve, Paint | ADD | |
| Hollow | Boolean | False | Keep only a shell of the shape |
| Thickness | Int | 1 | |
| Margin | Int | 0 | Empty voxels left around the shape |
| Use Active Color | Boolean | True | Build the shape from the palette colour you are painting with |
| Color | Int | 1 |
Finalise To Mesh
Section titled “Finalise To Mesh”bpy.ops.voxel_mode.join_to_mesh
Move between the grid and a mesh, whichever way round you are going
| Option | Type | Default | What it does |
|---|---|---|---|
| Merge Coplanar Faces | Boolean | True | Greedily merge flat runs of faces into larger quads. Much lighter geometry at no cost in colour - a merged quad never crosses from one palette index to another |
| Keep Voxel Model | Boolean | True | Leave the editable voxel model in the scene beside the mesh |
| One Object Per Group | Boolean | False | Finalise into one mesh object per voxel group instead of one for the whole model. That is what a rigid body rig needs: Parent To Bone parents an object, so every part that moves on its own has to be one |
| Build Rig | Boolean | False | Also build an armature: one bone per group, arranged the way the Groups panel says they hang off each other, with every part bound to its own bone |
| Rig Type | Enum: Rigid Parts, Single Skinned Mesh | RIGID | What the rigged model should end up as |
| Root Bone | Boolean | True | Add a single Root bone above everything. Unreal’s retargeting and root motion both expect one |
| Connect Bones | Boolean | True | Reach each bone’s tail to the part it hangs off, so the skeleton reads as a chain rather than as loose stubs. A part with several children reaches for the nearest |
| Fill Inside | Boolean | True | Fill the hollow the bake left. A finalised mesh is a shell - the inside of the model was never written as faces - so without this the model comes back hollow, which shows the moment you erase a voxel |
| Groups From Objects | Boolean | True | Make each source object a voxel group named after it, so a model split for a rig comes back as one model that still knows where the cuts were |
| Voxel Size | Float | 0.0 | Leave at 0 to read the size off the mesh’s own lattice, which is right unless the mesh has been scaled |
| Hide Source Meshes | Boolean | True | Hide the meshes that were read, rather than leaving them inside the model |
| Enter Voxel Mode | Boolean | False | Pick up the voxel tools on the result, ready to edit |
New Voxel Model
Section titled “New Voxel Model”bpy.ops.voxel_mode.new_model
Create an empty voxel model at the 3D cursor
| Option | Type | Default | What it does |
|---|---|---|---|
| Size | Int | 40 | |
| Voxel Size | Float | 0.1 | |
| Shape | Enum: Empty, Box, Sphere, Cylinder, Cone, Pyramid, Floor, Room | EMPTY | |
| Hollow | Boolean | False | Keep only a shell. Much lighter, and what you want if you are going to carve into it |
| Thickness | Int | 1 | Wall thickness of a hollow shape, and of a floor or room |
| Margin | Int | 0 | Empty voxels left around the shape, so there is room to build |
| Color | Int | 1 | Palette index the shape is made of |
| Placement | Enum: Beside Existing, 3D Cursor | BESIDE | |
| Enter Voxel Mode | Boolean | True | Start editing the new model straight away. The default for this is in the add-on preferences |
Open Example Scene
Section titled “Open Example Scene”bpy.ops.voxel_mode.open_example
Open one of the example scenes
| Option | Type | Default | What it does |
|---|---|---|---|
| Example | Enum: Shapes, Water | SHAPES |
Rebuild Meshes
Section titled “Rebuild Meshes”bpy.ops.voxel_mode.rebuild
Rebuild every chunk mesh from the voxel grid
Reshape Model
Section titled “Reshape Model”bpy.ops.voxel_mode.reshape
Grow, shrink or hollow out the whole model
| Option | Type | Default | What it does |
|---|---|---|---|
| operation | String | GROW |
Resize Model (Drag)
Section titled “Resize Model (Drag)”bpy.ops.voxel_mode.resize_model
Resize the whole model in whole voxels - drag, then click to confirm
| Option | Type | Default | What it does |
|---|---|---|---|
| Voxel Steps | Int | 0 | Whole voxels to add to the model’s longest axis |
| Anchor | Enum: Corner, Center | CENTER |
Set Exact Grid Size
Section titled “Set Exact Grid Size”bpy.ops.voxel_mode.resize_grid
Set the grid size of the active voxel model to an exact number
| Option | Type | Default | What it does |
|---|---|---|---|
| Size | Int | 64 | |
| Anchor | Enum: Corner, Center | CORNER |
Start Empty Instead
Section titled “Start Empty Instead”bpy.ops.voxel_mode.new_model_empty
Go back to new models starting empty
Voxel Workspace
Section titled “Voxel Workspace”bpy.ops.voxel_mode.setup_workspace
Create (or switch to) a Voxel workspace set up for modelling
| Option | Type | Default | What it does |
|---|---|---|---|
| Start Editing | Boolean | True |
Drawing
Section titled “Drawing”Change Shortcut
Section titled “Change Shortcut”bpy.ops.voxel_mode.capture_key
Click, then press the key this should be on
Pick Voxel Color
Section titled “Pick Voxel Color”bpy.ops.voxel_mode.pick_color
Set the active colour from the voxel under the cursor
| Option | Type | Default | What it does |
|---|---|---|---|
| Secondary | Boolean | False | Set the secondary colour instead of the active one |
Redo Voxel Edit
Section titled “Redo Voxel Edit”bpy.ops.voxel_mode.redo
Redo the last undone voxel edit
Reset Shortcut
Section titled “Reset Shortcut”bpy.ops.voxel_mode.reset_key
Put this shortcut back on the key it ships with
Restore Default Shortcuts
Section titled “Restore Default Shortcuts”bpy.ops.voxel_mode.reset_keys
Put every shortcut back on the key it ships with
Set Brush Shape
Section titled “Set Brush Shape”bpy.ops.voxel_mode.set_shape
Switch what a click or drag affects
Set Voxel Tool
Section titled “Set Voxel Tool”bpy.ops.voxel_mode.set_tool
Switch voxel tool without going to the toolbar
Switch Voxel Model
Section titled “Switch Voxel Model”bpy.ops.voxel_mode.select_model
Make the voxel model under the cursor the one you are editing
Track Voxel Modifier
Section titled “Track Voxel Modifier”bpy.ops.voxel_mode.hover_modifier
Track a held modifier so the hover cursor can show what a click would do
Undo Voxel Edit
Section titled “Undo Voxel Edit”bpy.ops.voxel_mode.undo
Undo the last voxel edit
Voxel Menu
Section titled “Voxel Menu”bpy.ops.voxel_mode.call_menu
Open one of the add-on’s menus
Voxel Stroke
Section titled “Voxel Stroke”bpy.ops.voxel_mode.stroke
Draw with the voxel brush
| Option | Type | Default | What it does |
|---|---|---|---|
| Action | Enum: Attach, Erase, Paint, Unpaint | ATTACH |
Selection and transform
Section titled “Selection and transform”Delete Voxels
Section titled “Delete Voxels”bpy.ops.voxel_mode.delete_selection
Delete the selected voxels
Deselect Voxels
Section titled “Deselect Voxels”bpy.ops.voxel_mode.select_none
Clear the voxel selection
Fill Voxels
Section titled “Fill Voxels”bpy.ops.voxel_mode.fill_selection
Paint the selected voxels with the active colour
Grow Selection
Section titled “Grow Selection”bpy.ops.voxel_mode.grow_selection
Take in the voxels touching the selection, or give back its outer layer
| Option | Type | Default | What it does |
|---|---|---|---|
| Direction | Enum: Grow, Shrink | GROW | |
| Steps | Int | 1 | How many layers to add or remove |
| Include Diagonals | Boolean | False | Count voxels touching only at an edge or a corner as neighbours |
Invert Voxel Selection
Section titled “Invert Voxel Selection”bpy.ops.voxel_mode.select_invert
Select every voxel that is not selected
Mirror Voxels
Section titled “Mirror Voxels”bpy.ops.voxel_mode.mirror_selection
Mirror the selected voxels across their own centre
| Option | Type | Default | What it does |
|---|---|---|---|
| Axis | Enum: X, Y, Z | 0 |
Move Voxels
Section titled “Move Voxels”bpy.ops.voxel_mode.move_selection
Move the selected voxels by whole cells
| Option | Type | Default | What it does |
|---|---|---|---|
| Offset | Int | (0, 0, 1) |
Move Voxels
Section titled “Move Voxels”bpy.ops.voxel_mode.grab_selection
Move the selected voxels with the mouse
| Option | Type | Default | What it does |
|---|---|---|---|
| Duplicate | Boolean | False | Leave the selected voxels where they are and drag a copy away from them |
Nudge Voxels
Section titled “Nudge Voxels”bpy.ops.voxel_mode.nudge_selection
Move the selected voxels one voxel, in the direction the arrow points
| Option | Type | Default | What it does |
|---|---|---|---|
| Direction | Enum: Horizontal, Vertical, Depth | HORIZONTAL | |
| Step | Int | 1 |
Rotate Voxels
Section titled “Rotate Voxels”bpy.ops.voxel_mode.rotate_selection
Turn the selected voxels around their own centre
| Option | Type | Default | What it does |
|---|---|---|---|
| Axis | Enum: X, Y, Z | 2 | |
| Quarter Turns | Int | 1 |
Scale Voxels
Section titled “Scale Voxels”bpy.ops.voxel_mode.scale_selection
Resize the selected voxels about their own centre with the mouse
| Option | Type | Default | What it does |
|---|---|---|---|
| Factor | Float | 2.0 |
Select All Voxels
Section titled “Select All Voxels”bpy.ops.voxel_mode.select_all
Select every voxel in the model
Select Connected
Section titled “Select Connected”bpy.ops.voxel_mode.select_connected
Select every voxel connected to the one under the cursor
| Option | Type | Default | What it does |
|---|---|---|---|
| Mode | Enum: Set, Extend, Subtract | SET | |
| Include Diagonals | Boolean | False | Count voxels touching only at an edge or a corner as connected |
| Seed | Int | (-1, -1, -1) | Voxel to spread from, or negative to use the selection |
Select Same Colour
Section titled “Select Same Colour”bpy.ops.voxel_mode.select_color
Select every voxel of one colour, anywhere in the model
| Option | Type | Default | What it does |
|---|---|---|---|
| Mode | Enum: Set, Extend, Subtract | SET | |
| Seed | Int | (-1, -1, -1) | Voxel whose colour to select, or negative to use the colours of the current selection |
Select Voxels
Section titled “Select Voxels”bpy.ops.voxel_mode.select_region
Drag a rectangle to select voxels
| Option | Type | Default | What it does |
|---|---|---|---|
| Mode | Enum: Set, Extend, Subtract | SET | |
| Select Through | Boolean | True | Take everything behind the rectangle as well, all the way through the model. Off, only the surface facing the viewer is selected |
Groups
Section titled “Groups”Add Voxel Group
Section titled “Add Voxel Group”bpy.ops.voxel_mode.add_group
Add a part to this model. Assign voxels to it with Assign Selection
Assign Selection To Group
Section titled “Assign Selection To Group”bpy.ops.voxel_mode.assign_group
Put the selected voxels in the active group
Assign Selection To New Group
Section titled “Assign Selection To New Group”bpy.ops.voxel_mode.assign_new_group
Put the selected voxels in a brand new part, and make it the active one
Clear Active Voxel Group
Section titled “Clear Active Voxel Group”bpy.ops.voxel_mode.clear_active_group
Make no part active, so the highlight goes away
Move Voxel Group
Section titled “Move Voxel Group”bpy.ops.voxel_mode.move_group
Move this part up or down among the parts it shares a parent with
| Option | Type | Default | What it does |
|---|---|---|---|
| Direction | Enum: Up, Down | UP |
Parent To Above
Section titled “Parent To Above”bpy.ops.voxel_mode.group_parent_to_above
Make this part a child of the one above it in the list
Remove Selection From Group
Section titled “Remove Selection From Group”bpy.ops.voxel_mode.unassign_group
Take the selected voxels out of whatever group they are in
Remove Voxel Group
Section titled “Remove Voxel Group”bpy.ops.voxel_mode.remove_group
Remove the active part. Its voxels stay in the model, with no group
Select Group
Section titled “Select Group”bpy.ops.voxel_mode.select_group
Select the voxels of a group
| Option | Type | Default | What it does |
|---|---|---|---|
| Group | Int | -1 | |
| Mode | Enum: Set, Extend, Subtract | SET | |
| Seed | Int | (-1, -1, -1) | Voxel whose group to select, or negative to use the active group |
Set Active Voxel Group
Section titled “Set Active Voxel Group”bpy.ops.voxel_mode.set_active_group
Make this part the active one, without changing the selection
Unparent
Section titled “Unparent”bpy.ops.voxel_mode.group_unparent
Move this part up one level - out of the part it hangs off
Palette and materials
Section titled “Palette and materials”Adjust Colours
Section titled “Adjust Colours”bpy.ops.voxel_mode.adjust_selected
Shift the picked swatches round the colour wheel, or lighten them
| Option | Type | Default | What it does |
|---|---|---|---|
| Hue | Float | 0.0 | How far round the colour wheel to move them. A whole turn is 1.0, so 0.5 is the opposite colour |
| Saturation | Float | 1.0 | Multiplier on how colourful they are. 0 is grey |
| Brightness | Float | 1.0 | Multiplier on how bright they are |
Copy To Picked
Section titled “Copy To Picked”bpy.ops.voxel_mode.copy_to_selected
Give every picked swatch the active swatch’s settings
| Option | Type | Default | What it does |
|---|---|---|---|
| Colour | Boolean | False | Also give them the active swatch’s colour |
| Surface | Boolean | True | Give them its roughness, metal, glow, reflection and refraction |
| Opacity | Boolean | True | Give them its opacity - the colour’s alpha channel |
Enable Raytracing
Section titled “Enable Raytracing”bpy.ops.voxel_mode.enable_raytracing
Switch on the EEVEE raytracing that transmission is drawn with
| Option | Type | Default | What it does |
|---|---|---|---|
| Turn Off Fast GI | Boolean | True | Fast GI speckles refraction with dark dots. Off is the clean look; on is slightly cheaper ambient occlusion |
Gradient
Section titled “Gradient”bpy.ops.voxel_mode.palette_gradient
Blend the picked swatches into a smooth ramp
| Option | Type | Default | What it does |
|---|---|---|---|
| Blend | Enum: RGB, HSV, HSV (Long Way) | RGB |
Load Palette
Section titled “Load Palette”bpy.ops.voxel_mode.load_palette
Load a palette file onto this model, replacing its colours and materials
Load Palette PNG
Section titled “Load Palette PNG”bpy.ops.voxel_mode.load_palette_png
Load a palette image
| Option | Type | Default | What it does |
|---|---|---|---|
| Unused Entries | Enum: Black, White, Keep | BLACK | What to do with the entries the strip does not define, so you can see which colours really came from it |
Material Preview
Section titled “Material Preview”bpy.ops.voxel_mode.toggle_preview_shading
Switch this viewport between Solid and Material Preview
Palette
Section titled “Palette”bpy.ops.voxel_mode.load_library
Load a palette from the library
| Option | Type | Default | What it does |
|---|---|---|---|
| Palette | Enum | ||
| Load | Enum: Replace All, Into Picked Swatches | REPLACE | |
| Unused Entries | Enum: Black, White, Keep | BLACK | What to do with the entries a partial palette does not define, so you can see which colours really came from it |
Palette
Section titled “Palette”bpy.ops.voxel_mode.palette_popup
Pick the colour to paint with, without leaving the viewport
| Option | Type | Default | What it does |
|---|---|---|---|
| Swatch | Int | 1 | Palette index to paint with - type it and press Enter |
Pick Colour
Section titled “Pick Colour”bpy.ops.voxel_mode.choose_color
Pick a palette colour for this setting
| Option | Type | Default | What it does |
|---|---|---|---|
| data_path | String | ||
| prop | String |
Reset Material
Section titled “Reset Material”bpy.ops.voxel_mode.reset_material
Put the picked palette entries’ surfaces back to a plain matte finish
Reset Palette
Section titled “Reset Palette”bpy.ops.voxel_mode.reset_palette
Reset the palette to the default colours
Save Palette
Section titled “Save Palette”bpy.ops.voxel_mode.save_palette
Save this model’s palette - colours and materials - to a file
| Option | Type | Default | What it does |
|---|---|---|---|
| File Path | String | Filepath used for exporting the file |
Save Palette PNG
Section titled “Save Palette PNG”bpy.ops.voxel_mode.save_palette_png
Save the colours as a palette image
| Option | Type | Default | What it does |
|---|---|---|---|
| File Path | String | Filepath used for exporting the file |
Save To Library
Section titled “Save To Library”bpy.ops.voxel_mode.save_to_library
Save this palette into the library, so it shows up in the dropdown
| Option | Type | Default | What it does |
|---|---|---|---|
| Name | String | My Palette |
Secondary Color
Section titled “Secondary Color”bpy.ops.voxel_mode.secondary_color
The colour Shift+click paints with on the Paint tool
| Option | Type | Default | What it does |
|---|---|---|---|
| Action | Enum: Swap, From Active | SWAP |
Select Swatches
Section titled “Select Swatches”bpy.ops.voxel_mode.select_palette
Change which swatches are picked
| Option | Type | Default | What it does |
|---|---|---|---|
| Action | Enum: All, None, Invert, Used | NONE |
Set Active Color
Section titled “Set Active Color”bpy.ops.voxel_mode.set_active_color
Paint with this palette colour
| Option | Type | Default | What it does |
|---|---|---|---|
| index | Int | 1 |
Set Colour
Section titled “Set Colour”bpy.ops.voxel_mode.set_color_index
Use this palette colour here
| Option | Type | Default | What it does |
|---|---|---|---|
| data_path | String | ||
| prop | String | ||
| index | Int | 1 |
Surface Preset
Section titled “Surface Preset”bpy.ops.voxel_mode.apply_surface
Give the picked palette entries a ready-made surface
| Option | Type | Default | What it does |
|---|---|---|---|
| Surface | Enum: Matte, Water, Deep Water, Ice, Glass, Wet Stone, Polished Metal, Brushed Metal, Glow | WATER | |
| Use Preset Colour | Boolean | False | Also take the preset’s suggested colour, replacing this entry’s own |
Shapes and library
Section titled “Shapes and library”Build Previews
Section titled “Build Previews”bpy.ops.voxel_mode.library_build_thumbnails
Render the missing shape previews, one per tick
Build Shape Gallery
Section titled “Build Shape Gallery”bpy.ops.voxel_mode.build_asset_library
Publish the shapes as a Blender asset library, for the shape shelf
| Option | Type | Default | What it does |
|---|---|---|---|
| Render Missing Previews | Boolean | True | Draw the thumbnails that do not exist yet before publishing. Without this those shapes appear in the gallery as blank tiles |
Clear Previews
Section titled “Clear Previews”bpy.ops.voxel_mode.library_clear_thumbs
Delete the cached shape previews and make them again as they are needed
Delete Category
Section titled “Delete Category”bpy.ops.voxel_mode.library_delete_category
Delete this category and the shapes in it
| Option | Type | Default | What it does |
|---|---|---|---|
| category | String |
Delete Shape
Section titled “Delete Shape”bpy.ops.voxel_mode.delete_stamp
Remove a saved shape from this file, or from the library folder
| Option | Type | Default | What it does |
|---|---|---|---|
| Shape | String |
Export Shape
Section titled “Export Shape”bpy.ops.voxel_mode.export_stamp
Write the selected voxels to a shape file of your choosing
| Option | Type | Default | What it does |
|---|---|---|---|
| File Path | String | Filepath used for exporting the file |
Export Shape Pack
Section titled “Export Shape Pack”bpy.ops.voxel_mode.library_export_pack
Save this category, and everything under it, as one .zip to share
| Option | Type | Default | What it does |
|---|---|---|---|
| File Path | String | Filepath used for exporting the file | |
| category | String | ||
| Pack Name | String |
Import Shape
Section titled “Import Shape”bpy.ops.voxel_mode.import_stamp
Load a shape file into the stamp library
Import Shape Pack
Section titled “Import Shape Pack”bpy.ops.voxel_mode.library_import_pack
Add a .zip of shapes to the library, keeping its categories
| Option | Type | Default | What it does |
|---|---|---|---|
| category | String |
Move Shape
Section titled “Move Shape”bpy.ops.voxel_mode.library_move_shape
Move this shape into another category
| Option | Type | Default | What it does |
|---|---|---|---|
| shape | String | ||
| Move To | Enum | Which of your folders to move it into | |
| New Folders | String | Folders to make inside the category above and move it into. Slashes make a whole chain at once. Leave empty to use the category as it is |
New Category
Section titled “New Category”bpy.ops.voxel_mode.library_new_category
Make a new category inside this one
| Option | Type | Default | What it does |
|---|---|---|---|
| parent | String | ||
| Name | String | New Category | What to call it. Slashes make a whole chain at once - Weapons/Swords/Long is three categories |
Open Category
Section titled “Open Category”bpy.ops.voxel_mode.library_set_category
Show this category
| Option | Type | Default | What it does |
|---|---|---|---|
| category | String |
Open Folder
Section titled “Open Folder”bpy.ops.voxel_mode.library_open_folder
Open this category’s folder in the file browser
| Option | Type | Default | What it does |
|---|---|---|---|
| category | String |
Open Shape
Section titled “Open Shape”bpy.ops.voxel_mode.open_shape
Open this shape as a voxel model, so it can be corrected
| Option | Type | Default | What it does |
|---|---|---|---|
| Size | Int | 20 | Size a primitive is generated at. A saved shape ignores this and opens at the size it was made |
| Margin | Int | 2 | Empty voxels left around the shape, so there is room to add to it. Saving trims whatever is still empty |
| Voxel Size | Float | 0.1 |
bpy.ops.voxel_mode.library_page
Show another page of shapes
| Option | Type | Default | What it does |
|---|---|---|---|
| page | Int | 0 |
Place Shape
Section titled “Place Shape”bpy.ops.voxel_mode.place_stamp
Drop a ready-made shape into the model and position it before committing
| Option | Type | Default | What it does |
|---|---|---|---|
| Shape | Enum | ||
| Size | Int | 12 | Edge length a procedural shape is built at |
| Color | Int | 0 | Palette index, or 0 for the active colour |
| Mode | Enum: Add, Replace, Carve, Paint | ADD | |
| Use One Colour | Boolean | False | Paint the whole stamp in the active colour. A procedural shape has no colours of its own, so it is painted whatever this says; a saved shape keeps its own unless this is on |
| Position | Int | (0, 0, 0) | Grid cell the stamp is anchored on - see Anchor |
| Anchor | Enum: Base, Centre | BASE | Which part of the shape lands on the cell under the cursor |
| Turns | String | Quarter turns already applied, as “axis:direction” pairs | |
| Scale | Float | 1.0 | Scale already applied to the shape |
Place Shape
Section titled “Place Shape”bpy.ops.voxel_mode.place_shape
Place this shape in the model, or select it to organise it
| Option | Type | Default | What it does |
|---|---|---|---|
| shape | String |
Place Shape
Section titled “Place Shape”bpy.ops.voxel_mode.place_asset_shape
Drop this shape into the model
| Option | Type | Default | What it does |
|---|---|---|---|
| asset_library_type | Enum: All, Local, Essentials, Custom | ALL | |
| asset_library_identifier | String | ||
| relative_asset_identifier | String | ||
| as_brush | Boolean | False |
Refresh Library
Section titled “Refresh Library”bpy.ops.voxel_mode.library_refresh
Re-read the shape folders and rebuild the previews
Rename Category
Section titled “Rename Category”bpy.ops.voxel_mode.library_rename_category
Rename this category
| Option | Type | Default | What it does |
|---|---|---|---|
| category | String | ||
| Name | String |
Rename Shape
Section titled “Rename Shape”bpy.ops.voxel_mode.library_rename_shape
Rename this shape
| Option | Type | Default | What it does |
|---|---|---|---|
| shape | String | ||
| Name | String |
Save Over Shape
Section titled “Save Over Shape”bpy.ops.voxel_mode.save_over_shape
Write this model back over the library shape it was opened from
| Option | Type | Default | What it does |
|---|---|---|---|
| Selected Voxels Only | Boolean | False | Save just the selection, as Save Shape does. Off, the whole model is saved, which is what correcting a shape means |
Save Shape
Section titled “Save Shape”bpy.ops.voxel_mode.save_stamp
Save the selected voxels - or the whole model - as a reusable shape
| Option | Type | Default | What it does |
|---|---|---|---|
| Name | String | My Shape | |
| Save To | Enum: Stamp Library, This File | LIBRARY | |
| Category | Enum | Which of your folders to save it in | |
| New Folders | String | Folders to make inside the category above and save into. Slashes make a whole chain at once - Weapons/Swords/Long is three. Leave empty to use the category as it is |
Search Shapes
Section titled “Search Shapes”bpy.ops.voxel_mode.library_search
Find a shape by name and drop it in, without walking the categories
| Option | Type | Default | What it does |
|---|---|---|---|
| Shape | Enum |
Set Search
Section titled “Set Search”bpy.ops.voxel_mode.library_set_search
Clear the search box
| Option | Type | Default | What it does |
|---|---|---|---|
| search | String |
Use As Brush
Section titled “Use As Brush”bpy.ops.voxel_mode.use_shape_as_brush
Draw with this shape: make it the Shape brush’s tip
| Option | Type | Default | What it does |
|---|---|---|---|
| shape | String |
Voxel Shapes Only
Section titled “Voxel Shapes Only”bpy.ops.voxel_mode.shelf_show_shapes
Show only the voxel shapes in this shelf, not every asset library
Generators
Section titled “Generators”Add Colours
Section titled “Add Colours”bpy.ops.voxel_mode.recolor_color_add
Add colours to the randomiser’s set
Add Shape To Scatter
Section titled “Add Shape To Scatter”bpy.ops.voxel_mode.scatter_shape_add
Add this shape to the ones Scatter plants
| Option | Type | Default | What it does |
|---|---|---|---|
| shape | String |
Add Whole Folder
Section titled “Add Whole Folder”bpy.ops.voxel_mode.scatter_add_folder
Add every shape in the chosen folder to the list, so it can be pruned
Clear Shape List
Section titled “Clear Shape List”bpy.ops.voxel_mode.scatter_shapes_clear
Empty the list of shapes to plant
Generate
Section titled “Generate”bpy.ops.voxel_mode.generate
Fill the model with the shelf’s generator
| Option | Type | Default | What it does |
|---|---|---|---|
| generator | String | ||
| Replace Last | Boolean | True | Take the previous generation back first |
Palette
Section titled “Palette”bpy.ops.voxel_mode.recolor_use_palette
Load a palette and randomise from its colours
| Option | Type | Default | What it does |
|---|---|---|---|
| Palette | Enum | ||
| Colours | Int | 12 | How many colours to take from it, spread evenly across the palette |
Pick Background
Section titled “Pick Background”bpy.ops.voxel_mode.picture_key_from_border
Set the key colour to the background around the edge of the picture
Randomize Seed
Section titled “Randomize Seed”bpy.ops.voxel_mode.generator_seed
Roll a new seed for this generator
| Option | Type | Default | What it does |
|---|---|---|---|
| generator | String |
Remove Colour
Section titled “Remove Colour”bpy.ops.voxel_mode.recolor_color_remove
Remove this colour from the randomiser’s set
| Option | Type | Default | What it does |
|---|---|---|---|
| index | Int | -1 |
Remove Shape From Scatter
Section titled “Remove Shape From Scatter”bpy.ops.voxel_mode.scatter_shape_remove
Take this shape off the list
| Option | Type | Default | What it does |
|---|---|---|---|
| index | Int | -1 |
Scatter From Folder
Section titled “Scatter From Folder”bpy.ops.voxel_mode.scatter_set_folder
Take Scatter’s shapes from this folder
| Option | Type | Default | What it does |
|---|---|---|---|
| category | String |
Set Generator
Section titled “Set Generator”bpy.ops.voxel_mode.set_generator
Show this generator
| Option | Type | Default | What it does |
|---|---|---|---|
| generator | String |
Set Up Water Colours
Section titled “Set Up Water Colours”bpy.ops.voxel_mode.water_palette
Make the two water colours look like water
Take Picked Swatches
Section titled “Take Picked Swatches”bpy.ops.voxel_mode.gradient_take_picked
Run the gradient between the swatches picked in the Palette panel
Import, convert and bake
Section titled “Import, convert and bake”Batch Voxelize Folder
Section titled “Batch Voxelize Folder”bpy.ops.voxel_mode.batch_folder
Voxelize every FBX in a folder and write the results as separate FBX files
Clean Voxel Model
Section titled “Clean Voxel Model”bpy.ops.voxel_mode.clean
Merge flat same-colour regions and swap the palette for one atlas texture
| Option | Type | Default | What it does |
|---|---|---|---|
| Keep Voxel Model | Boolean | True | Leave the editable model in the scene beside the result |
| Merge Coplanar Faces | Boolean | True | Greedily merge flat runs into larger quads before cleaning. Much lighter geometry to start from |
Copy Settings From Result
Section titled “Copy Settings From Result”bpy.ops.voxel_mode.copy_convert_settings
Load the settings this result was made with back into the panel
Import Voxels
Section titled “Import Voxels”bpy.ops.voxel_mode.import_vox
Import a .vox file as an editable voxel model
| Option | Type | Default | What it does |
|---|---|---|---|
| Voxel Size | Float | 0.1 | Edge length of one voxel in Blender units |
| Resolution Divisor | Int | 1 | Shrink the grid by this factor, taking the commonest colour in each block. Surface area goes with resolution squared, so this is far and away the biggest lever on how heavy the model is |
| Surface Finish | Enum: Matte, From File, Fixed | MATTE | What to do with the roughness stored in the file |
| Roughness | Float | 0.9 | |
| Respect Layers | Boolean | True | Skip instances on layers the file marks as hidden |
| Import Hidden | Boolean | False | Bring in instances that are hidden in the file |
| Origin | Enum: From File, Center, Ground | FILE | |
| Enter Voxel Mode | Boolean | False | Pick up the voxel tools on the result, ready to edit |
Re-voxelize
Section titled “Re-voxelize”bpy.ops.voxel_mode.revoxelize
Rebuild this result from its source, with the current settings
| Option | Type | Default | What it does |
|---|---|---|---|
| Use Stored Settings | Boolean | False | Rebuild with the settings this result was made with, rather than the ones in the panel |
Voxelize Mesh
Section titled “Voxelize Mesh”bpy.ops.voxel_mode.voxelize_mesh
Convert the selected mesh objects into voxels
| Option | Type | Default | What it does |
|---|---|---|---|
| Enter Voxel Mode | Boolean | False | Pick up the voxel tools on the result, ready to edit |
Export
Section titled “Export”Export Sprite Sheets
Section titled “Export Sprite Sheets”bpy.ops.voxel_mode.character_export_sprites
Bake the selected animation output and export eight directional PNG sprite sheets, individual transparent square frames (64 to 512 pixels), and JSON timing/pivot data. Framing includes equipment across the full clip. Choose a folder without animation_sprites. Escape cancels; scene render settings stay unchanged.
| Option | Type | Default | What it does |
|---|---|---|---|
| Output Folder | String | Parent folder for a new animation_sprites folder containing PNG sheets, individual frames and animation.json; existing output is not overwritten | |
| Frame Size | Enum: 64 px, 128 px, 256 px, 512 px, 1024 px | 256 | Width and height of each frame in pixels. Sheets are six frames wide |
| Camera Angle | Enum: Level (0°), Angled (30°), High (45°), Top-Down (60°) | 30 | How far the camera looks down on the character. Level gives true front, back and side views |
Export Voxel Model
Section titled “Export Voxel Model”bpy.ops.voxel_mode.export_model
Export the selected voxel models for a game engine
| Option | Type | Default | What it does |
|---|---|---|---|
| File Path | String | Filepath used for exporting the file | |
| Engine | Enum: Godot, Unity, Unreal, glTF, FBX | GODOT | Which engine’s axis and scale conventions to write |
| Bake Atlas | Boolean | True | Collapse the palette into one material and one texture before exporting. Engines pay one draw call per material per chunk, so 256 palette materials is not something to ship - leave this on unless you are exporting to edit somewhere else |
| Merge Coplanar Faces | Boolean | True | Greedily merge flat runs of faces into larger quads. Much lighter geometry at no visual cost |
| Animation | Boolean | True | Include animation, when the selection is rigged |
| Keep Baked Copy | Boolean | False | Leave the baked mesh in the scene afterwards instead of removing it. Useful to see exactly what was written |
Export Voxels
Section titled “Export Voxels”bpy.ops.voxel_mode.export_vox
Export the active voxel model as a .vox file
| Option | Type | Default | What it does |
|---|---|---|---|
| File Path | String | Filepath used for exporting the file | |
| Split Size | Int | 256 | Largest model to write, in voxels per axis. The format addresses voxels with single bytes, so anything bigger than this is written as several models placed side by side. Lower it only if a tool downstream chokes on 256 |
Rigging and characters
Section titled “Rigging and characters”Animation Clip
Section titled “Animation Clip”bpy.ops.voxel_mode.animation_clip
Create an Action, edit the original rig, or preview the sampled output without changing animation keys
| Option | Type | Default | What it does |
|---|---|---|---|
| action | Enum: New Animation, Edit Animation, Preview Output | NEW | |
| Animation Name | String | Animation |
Attach Voxel Equipment
Section titled “Attach Voxel Equipment”bpy.ops.voxel_mode.character_attach
Attach selected voxel equipment to the selected character rig hand socket. Equipment stays separate; adjust its object transform to refine the grip. Use the character palette.
| Option | Type | Default | What it does |
|---|---|---|---|
| Hand | Enum: Left Hand, Right Hand | R | Hand socket to attach the selected equipment to |
Bake Animation
Section titled “Bake Animation”bpy.ops.voxel_mode.character_bake_grid
Precompute the Start-to-End frame range in the selected output mode. Rigid Parts stores meshes and whole-part transforms; Strict Grid stores reconstructed meshes. Save the blend to retain the result. The source Action stays editable; Escape cancels and keeps the previous completed bake.
Build Character Rig
Section titled “Build Character Rig”bpy.ops.voxel_mode.character_build_rig
Build a biped rig from the reviewed body regions and joints, with foot IK and hand sockets. The source stays editable; rebuilding preserves the previous rig and Actions.
Build Rig
Section titled “Build Rig”bpy.ops.voxel_mode.build_rig
Build an armature with one bone per part, and bind the parts to it
| Option | Type | Default | What it does |
|---|---|---|---|
| Rig Type | Enum: Rigid Parts, Single Skinned Mesh | RIGID | What the rigged model should end up as |
| Root Bone | Boolean | True | Add a single Root bone above everything. Unreal’s retargeting and root motion both expect one |
| Connect Bones | Boolean | True | Reach each bone’s tail to the part it hangs off, so the skeleton reads as a chain rather than as loose stubs. A part with several children reaches for the nearest |
| Name | String | Name for the armature object and its skeleton |
Character Setup
Section titled “Character Setup”bpy.ops.voxel_mode.character_setup
Prepare and review a humanoid character, its joint positions and body-part assignments before building a rig.
| Option | Type | Default | What it does |
|---|---|---|---|
| action | Enum: PREPARE, BACK, NEXT, SUGGEST, EDIT, FRONT, SIDE, REGIONS, ROLE, ISSUE, MAP, UNASSIGNED | PREPARE | |
| index | Int | -1 | |
| stage | Int | 0 |
Create Character
Section titled “Create Character”bpy.ops.voxel_mode.library_character
Create this library character as a separate editable voxel model with its body groups, joints and intended physical size. Continue in the Character panel; no empty object is required.
| Option | Type | Default | What it does |
|---|---|---|---|
| shape | String |
Create Sample Animation
Section titled “Create Sample Animation”bpy.ops.voxel_mode.character_walk
Create a new editable sample Action on the rig. The previous Action is kept and Root stays stationary.
| Option | Type | Default | What it does |
|---|---|---|---|
| Animation | Enum: Walk, Run, Sprint, Strafe Left, Strafe Right, Walk Backward, Sneak, Jump, Hit Front, Hit Back, Hit Left, Hit Right, Punch, Overhead Smash, Kick, Block, Death, Idle, Crouch Idle, Roar, Victory, Wave | WALK |
Create Sample Animation
Section titled “Create Sample Animation”bpy.ops.voxel_mode.quadruped_clip
Create a new editable sample Action on the quadruped rig
| Option | Type | Default | What it does |
|---|---|---|---|
| Animation | Enum: Walk, Trot, Gallop, Jump, Idle, Graze, Sit, Lie Down, Howl, Bite, Rear Up, Buck, Hit, Death | WALK |
Create Slime Animation
Section titled “Create Slime Animation”bpy.ops.voxel_mode.slime_clip
Create a new editable sample Action on the slime rig. The previous Action is kept
| Option | Type | Default | What it does |
|---|---|---|---|
| Animation | Enum: Hop, Lunge Attack, Hit, Melt, Spawn, Idle, Look Around, Happy, Dizzy, Wobble | HOP |
Create Warrior Character
Section titled “Create Warrior Character”bpy.ops.voxel_mode.create_character
Create a separate editable Warrior with body groups and joints. The 64-voxel version has finer detail at the same physical height.
| Option | Type | Default | What it does |
|---|---|---|---|
| Resolution | Enum: 32 voxels, 64 voxels | 32 | Voxel detail of the new character; both resolutions have the same physical height |
Place / Drag Joint
Section titled “Place / Drag Joint”bpy.ops.voxel_mode.character_drag_joint
Click and drag a joint marker in the current view, or click a surface voxel to place the selected marker there. Review depth from the side. Enter finishes; Escape restores the previous guide. Mirror and grid-snap settings apply.
Prepare Rig
Section titled “Prepare Rig”bpy.ops.voxel_mode.character_wizard
Prepare a character rig by selecting one body part at a time, then check the bend points.
| Option | Type | Default | What it does |
|---|---|---|---|
| action | Enum: START, ASSIGN, BACK, PREPARED, ELBOW, KNEE, REST, ADJUST_ELBOW, ADJUST_KNEE, BUILD, POSE, UNASSIGNED, SELECT, TURN_LEFT, TURN_RIGHT, TURN_AROUND, FACED, SKIP, LEFTOVERS, LEG, NECK, ADJUST_LEG, ADJUST_NECK | START |
Show Animation
Section titled “Show Animation”bpy.ops.voxel_mode.character_resume
Show the generated animation in the selected output mode and select the rig. Hide the source document without deleting it; keep the original Action editable.
Slime Rig
Section titled “Slime Rig”bpy.ops.voxel_mode.slime
Create, pose, animate or edit a slime character
| Option | Type | Default | What it does |
|---|---|---|---|
| action | Enum: Create Slime Rig, Reset Pose, Pose Character, Edit Voxel Model, Return to Animation | BUILD |
Toggle Grid Preview
Section titled “Toggle Grid Preview”bpy.ops.voxel_mode.character_grid_preview
Switch between the generated animation output and the original rigid rig parts. Generated output uses the selected Rigid Parts or Strict Grid mode.
Check For Models
Section titled “Check For Models”bpy.ops.voxel_mode.bridge_poll
Import anything Unreal has left waiting, once
Enable Pack
Section titled “Enable Pack”bpy.ops.voxel_mode.toggle_pack
Switch this pack on or off without uninstalling it
Install Pack
Section titled “Install Pack”bpy.ops.voxel_mode.install_pack
Install an add-on pack (.vxpack)
| Option | Type | Default | What it does |
|---|---|---|---|
| filepath | String | ||
| Reinstall | Boolean | False | Install it again even when the same version is installed already |
Install Unreal Plugin
Section titled “Install Unreal Plugin”bpy.ops.voxel_mode.install_unreal_plugin
Copy the Unreal half of the bridge into a project’s Plugins folder
| Option | Type | Default | What it does |
|---|---|---|---|
| directory | String |
Open Exchange Folder
Section titled “Open Exchange Folder”bpy.ops.voxel_mode.open_exchange
Open the folder Blender and Unreal pass files through
Open Packs Folder
Section titled “Open Packs Folder”bpy.ops.voxel_mode.open_packs_folder
Open the folder installed packs live in. A .vxpack copied here installs on Refresh
Refresh Packs
Section titled “Refresh Packs”bpy.ops.voxel_mode.refresh_packs
Install pack files copied into the packs folder, and load new pack folders
Remove Pack
Section titled “Remove Pack”bpy.ops.voxel_mode.remove_pack
Uninstall this pack and delete its folder
Send to Unreal
Section titled “Send to Unreal”bpy.ops.voxel_mode.send_to_unreal
Export the selected models into the exchange folder for Unreal