Texture Your
3D Models
in ArmorPaint.

Release Notes

Check out what's new.

v0.9 - 2023.8

ArmorPaint 0.9 is now available on desktop, iPad and Android!

This release packs a huge set of bug fixes and feature improvements - allowing you to paint your models even faster. You can check the list below or examine the full commit history on GitHub.

ArmorPaint has been in development for quite a while now and it's been a joy to watch whenever it helps you create art. I can not wait to improve it even further - next up, the first ArmorPaint 1.0 alpha builds are incoming. 🔨

Download ArmorPaint | Build from Source

Added smudge tool
Added uv unwrapping dialog
Added group masks
Added height and opacity picking
Added new .obj parser (~40% faster, ~20% less memory)
Added gimp color palette import / export
Added 'to mask' button for color id tool
Added support for round ui corners
Added splash screen
Added option to hide tool properties
Added color picking in texture and node preview windows
Added progress bar for raytraced baking
Added texture previews in browser tab (by MathemanFlo)
Added context menu for items in browser tab (by MathemanFlo)
Added layer and material shortcut previews (by MathemanFlo)
Added viewport mode shortcut (by MathemanFlo)
Added new armory bloom (by Moritz Brueckner)
Added option to set default camera controls
Added compact ui mode for sidebar
Added 'touch ui' as a preferences option
Added PBR support for swatches
Added search icon for node seach
Added 'touch' keymap
Added '--export-material' argument
Added tooltips for camera controls (by MathemanFlo)
Added tooltip for light angle and env angle (by MathemanFlo)
Added picked color to swatches (by MathemanFlo)
Added shortcuts to tooltips (by MathemanFlo)
Added 'refresh' button to browser (by MathemanFlo)
Added button for clearing the search in browser (by MathemanFlo)
Added 'contributors' button to 'about' dialog
Added 'noise grain' option to viewport preferences
Fixed using blur tool on masks
Fixed handling of missing uvs for .gltf meshes
Fixed .blend mesh import
Fixed 'split by material' feature in .obj parser
Fixed handling of empty udim tiles
Fixed decal symmetry
Fixed number of triangles in export mesh dialog (by MathemanFlo)
Improved color wheel
Improved color id tool
Improved touch ui
Improved rendering performance
Improved script tab with syntax coloring
Improved idle sleep
Improved display of non-lit modes
Improved position of context menu show ups
Improved drawing of menu lists
Improved text tool
Exposed smooth normal calculation in meshes tab
Connect to best matching socket on link drag
Begin physics support for particle tool
Use .json extension for config file
Show node preview in 2d view
Restore previous tool after color picking
Show brush icon in browser tab
Reorganize ui tabs via drag and drop
Make .obj parser more reliable
Layer reordering fixes
Begin operator search popup
Undo / redo fixes
Tweaked default theme
Update fill layers on resize
Clone tool takes hardness into account
Double click to hide sidebar
Bake workspace is now bake tool
Material workspace is now material tool
Mirror layer props when duplicating a layer
Cleaned up context menu layouts
Drop material at position in 'layers' tab
Tool properties bar can now be collapsed and accessed as a tool context menu
Node view and 2d view is now displayed as a tab
Remember selected tab and size of footer window
Initial support for rearranging tabs via drag and drop
Moved material and layer name to header
UI with horizontal layout can now be scrolled via mouse wheel
Ported 2d drawing code to C for improved performance
Ported .obj loader to C for improved performance
Begin porting ui code to C for improved performance
Updated V8 engine with use of fast api calls
Updated translations (thanks to all contributors)
Wake up from idle sleep on files drop
Use mono space font in console
Drag and drop for swatches (by MathemanFlo)
Separated camera pan, rotation and zoom speed (by MathemanFlo)
Use armory server to check for update info
Use 'delete' key to delete item slot
Reduced memory usage when exporting textures
Up to ~4.3GB .obj files can be imported now
Show version in status bar
New assets added to the ArmorPaint cloud
[Windows] Prevent white screen flicker on start-up
[Windows] Added dark mode support
[Metal] Fixed mask saving
[Metal] Added path-traced viewport mode
[Metal] Added ray-traced baking support
[iOS, Android] Added 'get started' tab
[iOS, Android] Reject painting with finger when using pen
[iOS, Android] Show toast messages to display progress
[iOS, Android] Improved viewport controls
[iOS, Android] Exposed mesh .obj export
[iOS, Android] Smooth pinch to zoom in viewport
[iOS, Android] Smooth zooming in node view and 2d view
[iOS, Android] Exported textures are now visible in gallery / photos app
[iOS, Android] Two-finger tap to undo, three-finger tap to redo
[iOS, Android] Use rotate camera controls by default
[iOS, Android] Zoom in to the finger location in node view
[iOS, Android] Touch and hold to start dragging items
[iOS, Android] Added 'check for updates' button
[iOS] Added apple pencil hover support
[iOS] Fixed touch issues around screen edges
[iOS] Fixed plugin support
[iOS] Fixed roughness rendering
[Android] Make import / export work across all os versions
[Android] Fixed textured decal
[Android] Fixed curvature baking
[Android] Fixed file access issues
[Android] Expose more disk locations in 'browser' tab
New website launched
Reorganized code into a new repository with major code cleanup
Check out Unreal plugin
Check out Unity plugin
Check out Blender add-on
Check out Godot plugin (not yet usable)

v0.8 - 2021.10

ArmorPaint 0.8 is now available on desktop, iPad and Android!

This release brings the ArmorPaint cloud, ray-traced rendering and baking, refined UI, decal layers, unlimited masking, edge wear materials and many more improvements to the painting experience. You can check the list below or examine the commit history on GitHub.

While many new features are added, the main focus of this release is the stability, bug fixing and even better performance. I have had an amazing time developing ArmorPaint 0.8 and can not wait to continue onto 0.9. Thank you for making the project thrive.

Download ArmorPaint | Build from Source

Added ArmorPaint Cloud at 'Browser tab - Cloud' - built-in online asset library
Added iPadOS build to the App Store
Added Android build to Google Play
Added support for unlimited masks per layer
Added support for mask blending
Added 'import_svg' plugin - support for .svg format
Added 'import_usd' plugin - support for .usdc format
Added support for importing and exporting keymaps
Added 'Preferences - Show Asset Names' option
Added 'Preferences - Wrap Mouse' option
Added 'Menu - Camera - Zoom in/out' operators
Added support for grouping layers
Added support for setting group opacity
Added support for node groups
Added support for packing layer textures
Added Browser tab to status bar
Added Script tab to status bar
Added Console tab to status bar
Added Fonts tab to status bar
Added brush radius increase and decrease shortcuts
Added 'Bake tool - Vertex Color' baker
Added stencil mask support via brush nodes
Added lazy mouse support via brush nodes
Added directional brush support via brush nodes
Added 'Random' brush node for creating jitter
Added 'Preferences - Usage - Live Brush Preview' option
Added Theme tab to preferences
Added localization support
Added shortcut for swapping brush and eraser
Added shortcut for hiding stencil
Added 'Preferences - Pen - sensitivity' option
Added 'Preferences - Interface - Camera Speed' option
Added 'Preferences - Interface - Direction to Zoom' option
Added 'Preferences - Interface - Restore - Import...' option for importing config file
Added 'Preferences - Usage - Default Workspace' option
Added 'Preferences - Usage - Dilate' option
Added 'minecraft' and 'unigine' export presets
Added 'Material' workspace for composing and exporting materials
Added 'Bake' workspace for texture baking
Added option to bake material into textures
Added option to export layer mask into file
Added 'Mobile' renderer option to 'Preferences - Viewport'
Added font previews to Fonts tab
Added 'hello_node_brush' plugin - custom brush node
Added 'viewport_celshade' plugin - custom viewport shader
Added 'texture_breakdown' plugin
Added 'tiled' option to 2D view
Added 'rotate_envmap' operator
Added layer and mask clear operators
Added mask invert operator
Added 'File - Open Recent...' list
Added 'File - New Project... - Aspect Ratio' option
Added 'File - Reimport Textures' operator
Added new toolbar icons (courtesy of Sven Möller)
Added 'Material' node - reference other materials inside material
Added 'Curvature Bake' node - access curvature in material nodes
Added support for Vulkan
Added experimental VKRT (Vulkan raytracing) build for Linux
Added live preview of the selected node in node editor
Added fill masks
Added decal layers
Added 'Warp', 'Shader', 'Script' material nodes
Added 'Picker' material node
Added decal mask feature - hold ctrl to use decal as brush mask
Added 'Menu - Viewport - Toggle Fullscreen'
Added 'Atlases' tab to texture export
Added 'Open Containing Directory...' button to textures tab
Added visibility control to Meshes tab
Added option to pack assets into .arm file when exporting materials or brushes
Added Swatches tab
Added 'Meshes tab - Geometry to Origin'
Added normal and height blending for layers
Added 'Preferences - Usage - Default Layer Resolution' option
Added color space option for texture export
Added directional (smudge) option for blur tool
Added 'UV Island' fill mode
Added drag and drop support on iOS and Android
Improved utf8 path handling on Windows
Improved viewing individual layer channels in 2D view
Improved error logging
Improved ray-tracing performance, reduced memory usage
Improved path-traced viewport mode
Improved brush radius scaling using a pen
Improved painting in 2D view
Improved layer management
Improved command line arguments
Improved touch input
Improved color wheel (RGB, HSV, Hex input)
Improved opacity handling for fill layers
Improved 'Blur' material node
Improved paint dilation
Improved 'Parse Transforms' option for .fbx format
Improved .obj exporter
Improved 'Bump' material node
Improved nodes undo
Improved interface layout
Fixed clone tool usage in 2D view
Fixed network path handling on Windows
Fixed running from protected path on Windows
Fixed parsing of input sockets for custom nodes
Fixed 3D cursor positioning when normal map is painted
Fixed per-layer channel visibility
Fixed emission channel export
Fixed decal edge filtering
Fixed setting a mouse cursor on Linux
Fixed saving font assets in project file
Fixed support for non-square decals and stencils
Fixed importing geometry containing concave polygons
Fixed distract-free mode UI align
Fixed color space management for image nodes
'Paint' tab is now '3D View' tab
Use drag and drop to reorder layers
Use vertical tabs in preferences window
Use vertex colors in materials via attribute material node
Import vertex color data via .fbx and .blend formats
Import and export for brushes
Import brush from texture
Draw brush preview icons
macOS builds are now signed
macOS builds are now powered by Metal
macOS builds are now universal (arm64 + x64)
macOS retina support
Initial VR support
Initial support for high refresh rate displays
Display asset name in tooltip
Faster envmap import
Save camera in project file
Double click to rename layer
Atlases will show up in mesh filters
Scripting / expressions for UI value input ('4.4 * Math.PI')
Sleep when window is inactive
Auto-enable plugin on associated file import
Remember window layout
Base layer acts like regular layer
Multi-pass layer draw - show up to 256 layers in viewport at once
Show checker background for transparent layer
Show .arm material previews in Browser tab
Show uv map of selected object in 2D view
Check out Blender live-link
Check out Maya live-link

v0.7 - 2020.1

Added support for .psd, .bmp, .gif formats
Added single material export
Added blend modes for layers
Added blend modes for brush
Added plugin manager
Added 'auto-save' plugin
Added 'hello-node' plugin - custom material node
Added 'console' plugin - run commands
Added 'profiler' plugin - performance graph
Added 'converter' plugin - convert .arm files into .json
Added 'import_tiff' plugin - support for .tiff format
Added 'import_stl' plugin - support for .stl format
Added 'import_gltf' plugin - support for .gltf/.glb format (alpha)
Added 'uv_unwrap' plugin - auto-generate uvs / unwrap active mesh
Added 'theme-editor' plugin
Added box selection to node editor
Added per-fill-layer uv control
Added option to split .obj mesh by groups or materials
Added 'decal tool - scale x' option for non-square decals
Added 'menu - file - reimport mesh'
Added 'menu - viewport - split view'
Added 'preferences - restore' button
Added 'preferences - native file browser' option
Added 'preferences - viewport - vignette' option
Added 'preferences - usage - dilate radius' option
Added texture export presets
Added 'layer' material node - drop layer onto node canvas
Added 'layer mask' material node - drop layer mask onto node canvas
Added 'blur (image)' material node
Added experimental dxr build
Added path-trace (dxr) viewport mode
Added ao (dxr) bake
Added bent normal (dxr) bake
Added lightmap (dxr) bake
Added thickness (dxr) bake
Added normal-map bake from high-poly
Added height bake from high-poly
Added dilation pass to baking
Added 'up axis' option for relevant bake types
Added support for drag and dropping multiple files at once
Added popup for editing RGBA node sockets
Improved gizmo
Improved height paint
Improved .obj importer
Improved .blend importer
Improved outliner
Improved node drawing performance
Improved layer handling performance
Improved key detection on linux
Fixed handling of accented filepaths
Fixed brush mask on linux
Fixed copy-paste on linux
Fixed window title updating on linux
Fixed file association
Fixed envmap import
Fixed object mask for fill layers
Fixed height displacement scale
Fixed blurry text on windows
Fixed texture filtering option for image node
Fixed key repeat for text edit
Updated dark and light themes
Updated menu bar structure
Reduced gpu memory usage
Faster texture loading
Undo for layer opacity and blending
Undo for node canvas
Adjustable viewport clip distance
Remember window size and position
Open node search on link drag
Resizable ui panels
Duplicate material
Use brush ruler (shift) to draw lines
Auto-set 2x scale on high-res displays
Flat shading for viewport modes inspecting pbr channels
Picker tool works on non-base layer
Picker tool shows texture coordinate in 2d view
Export single texture from textures tab
Eraser takes hardness and opacity into account
Export textures as udim tiles for udim projects
Download 'texture-synthesis' plugin preview
Download Unreal Engine live-link preview
Download Unity Engine live-link preview

v0.6 - 2019.8

Added configurable keymap
Added keymap presets
Added viewport compass
Added fill layers
Added decal preview
Added symmetry painting
Added undo for layer and mask operations
Added undo history view
Added triplanar mapping
Added option to recalculate normals
Added option to flip normals
Added uv rotate slider
Added face fill to fill tool
Added D3D11 support
Added brush ruler
Added scene workspace
Added text tool
Added clone tool
Added blur tool
Added picker tool
Added particle tool
Added 3d brush cursor with topological warp
Added brush angle and depth rejection
Added support for brush masks
Added new project popup
Added material picker
Added layer masking
Added layer context menu
Added layer opacity
Added support for painting in 2d view
Added preliminary udim support
Added .arm mesh exporter
Added pen pressure settings
Added console plugin
Added texture view
Added curvature baker
Added world normal baker
Added position baker
Added texcoord baker
Added material id baker
Added object id baker
Added node search
Added support for 16/32bit texture painting
Added .exr texture exporter
Added metallic-occlusion-smoothness export preset
Added pixel paint tools
Added bake axis to bake tool
Added .ttf file importer
Improved .obj exporter
Improved opacity handling
Improved ui layout
Improved brush precision
Improved keyboard shortcuts
Improved warning messages
Improved .hdr importer
Improved window resize
Improved color id picker
Improved project importer
Improved eraser tool
Improved height paint
Improved up axis handling
Improved math node
Improved bump node
improved temporal anti-aliasing
Improved decal tool with opacity masking
Fixed ortho camera
Fixed up axis conversion
Fixed layered decals
New clustered renderer
Show mesh wireframe
Material and brush renaming
Use area light in viewport
Handle 256 layers (32 per draw)
Handle shader errors
Native file dialogs
Show blurred environment map
View layer mask in 2d view
Parse emission
Faster texture exporter
Merge layers
Duplicate layers
Apply mask to layer
LZ4 project compression
Camera orbit controls
Export visible layers
Show gpu name in about popup
Import materials from .arm project file
Improt materials from .blend file
Set material name on folder import
Write default config
Rotate light shortcut
Drag and drop materials from shelf
Exit prompt on unsaved project
Enabled alt+mouse navigation
Painting is 23% faster
Layer storage takes 34% less gpu mem
Mesh storage takes 43% less gpu mem
Startup is 72% faster
Importing .obj meshes is 59% faster

v0.5 - 2018.11

Added support for unlimited undo
Added support for basic unwrap when no uvs are found
Added .blend importer
Added support for project save and load
Added support for importing multiple objects
Added objects - mask property
Added .obj exporter
Added .hdr environment map importer
Added ui scale support for node view
Added color space setting to image node
Added new material nodes
Improved performance, reduced cpu and gpu usage
Improved .obj and .fbx importers
Improved 2D view
Improved ui layout
Improved ambient occlusion baking
Cleaner directory structure
Display uv map in 2D view
Reduced program size
Instant material preview on node changes
Importing meshes is 30% faster
Fixed drag and drop support on linux
Fixed text field editing on linux
Added support for pen pressure on linux
Fixed window resize on macos
Handle up to 5 layers
Textures can be exported in .jpg and .png formats
Color space during export can be configured
Per-channel paint masking
Implemented arcball, orbit and fly camera types
Configurable up axis
Auto-save preferences
Drag and drop a folder with PBR textures to generate material

v0.4 - 2018.7

Added support for height paint
Added support for undo
Added decal tool
Added 2D view
Improved gpu usage
Improved linux compatibility
Cleaner directory structure
Live material preview

v0.3 - 2018.5

Added eraser tool
Added support for color id maps
Added support for multiple layers
Added support for pen pressure on windows
Added support for themes
Added support for plugins
Improved ui layout
Improved ui scaling
Improved material shelf
Improved paint bleed
Reduced idle gpu usage

v0.2 - 2018.2

Added support for .fbx model import
Added camera fov property
Added ambient occlusion baking
Added support for ui scaling
Added brush x-ray property
Added brush nodes
Improved ui layout
Import .jpg, .png, .tga, .hdr image formats
Creating multiple materials and brushes in shelf

v0.1 - 2018.1

First release

v0.0 - 2017.2

ArmorPaint revealed