🧭 Decision Guide
Why trending now: Cannot be determined from the material
Try it if you
-
You need to study or compile ArmorPaint's 3D PBR texture-painting source rather than only install a ready-made application.README Note 1 says the repository is aimed at developers and that all development happens here; the README describes ArmorPaint as 3D PBR texture-painting software.
-
Your target is one of Windows, Linux, macOS, Android, iOS, or WASM.The README provides build commands for Windows (x64), Linux (x64), macOS (arm64), Android (arm64), iOS (arm64), and WASM.
-
You need to modify locale resources or build embedded data files.The README provides the extract_locales.js command in Generating a locale file and the --embed command in Embedding data files.
Skip it if you
-
You only accept a stable release and not the git version that the README explicitly warns may be unstable.README Note 1 states: This repository is aimed at developers and may not be stable.
-
You need a free ready-made binary rather than source compilation or a paid download.README Note 1 states that distributed binaries are paid and links to armorpaint.org/download.
-
Your environment lacks the compiler and git required by the README, so source compilation is not possible.README Note 2 requires a compiler and git, listing Visual Studio with clang tools, clang + dependencies, Xcode, or Android Studio by platform.
Requirements
- git is required; README Note 2 says “you need to have a compiler ... and git installed”.
- Windows requires Visual Studio with clang tools; Linux requires clang + dependencies; macOS/iOS requires Xcode; Android requires Android Studio.
- Embedding data files requires clang 19 or newer with C23 #embed support.
- The README lists Windows x64, Linux x64, macOS arm64, Android arm64, and iOS arm64 targets.
First step (verbatim from README)
git clone https://github.com/armory3d/armorpaint
Watch out
-
After a Windows build, open build\\ArmorPaint.sln rather than running directly from the source directory.The Windows (x64) section asks you to run ..\\base\\make and open the generated Visual Studio project at build\\ArmorPaint.sln.
-
After a macOS build, open build/ArmorPaint.xcodeproj and use Build and run.The macOS (arm64) section explicitly gives the generated Xcode project path.
-
The Android and iOS commands describe device-build flows and both require Build for device.The Android (arm64) and iOS (arm64) sections both state Build for device.
-
Using --embed with clang older than 19 or without C23 #embed support does not meet the README requirement.The Embedding data files section requires a compiler with c23 #embed support (clang 19 or newer).
Not stated in the README
- The README does not specify minimum runtime GPU, VRAM, or graphics API requirements.
- The README does not specify minimum operating-system versions for Windows, Linux, macOS, Android, or iOS.
- The project metadata lists the license as Other, but the material does not provide the license name or commercial-use terms.
- The README does not explain feature differences or upgrade compatibility between version 1.0 and the git version.
- The README does not provide build times, artifact sizes, or test coverage by platform.
💡 Deep Analysis
6
No
I only want a stable downloadable 3D PBR texturing tool on Windows, Linux, or macOS and do not want to install Visual Studio, clang, Xcode, or Git. Is this GitHub repository suitable for me?
No, not as a no-build stable-download entry point, because the README explicitly positions the repository for developers and requires you to prepare a platform toolchain.
- The README says the repository is “aimed at developers and may not be stable,” which directly conflicts with treating the Git version as a stable finished application.
- Building the Git version requires a compiler and Git: Visual Studio with clang tools on Windows, clang plus dependencies on Linux, and Xcode on macOS.
- The README directs distributed binaries to armorpaint.org/download and states that distributed binaries are paid, so the repository and the packaged release are separate paths.
- If your goal is usage rather than modifying C, Metal, HLSL, or build scripts, the official distribution route is more relevant than starting from the source repository.
- README: "this repository is aimed at developers and may not be stable"
- README: "If you are compiling git version ... compiler ... and git installed"
- README: toolchain requirements for Windows, Linux, and macOS
- README: "Distributed binaries are paid" and armorpaint.org/download
Yes
I am creating 3D PBR textures for an indie game on Windows x64, and our team already uses Visual Studio with clang tools. Is ArmorPaint suitable as our primary texture-painting tool?
Yes, it is suitable because the project is specifically designed for 3D PBR texture painting and documents a direct Windows x64 build path.
- The repository targets painting materials on 3D models rather than generic 2D editing, which matches your asset-production requirement.
- Windows requires Visual Studio with clang tools, matching your existing toolchain. The build generates
build\\ArmorPaint.sln, so you can continue using Visual Studio to build and run it. - However, the README states that the repository is developer-oriented and may not be stable. The Git version should not be treated as equivalent to a fully stabilized release, and distributed binaries are paid.
- Its documented scope is texture painting, so it should not be assumed to replace modeling, rigging, animation, or a complete asset-management suite.
- README: "ArmorPaint is a software for 3D PBR texture painting"
- README: "Windows (x64)" and "Visual Studio with clang tools"
- README: "Open generated Visual Studio project at `build\\ArmorPaint.sln`"
- README: "this repository is aimed at developers and may not be stable"
git clone https://github.com/armory3d/armorpaint
Yes
I want to customize ArmorPaint from source, add a team locale file, and embed data directly into the final build. Does the project provide an executable path for this?
Yes, because the README directly documents both locale generation and data embedding; however, the embedding path requires a recent compiler, and the license and binary-distribution terms need separate review.
- Locale files can be generated with
extract_locales.jsand written topaint/assets/locale/<locale code>.json, providing a concrete entry point for a team-specific language. - Data embedding uses
../base/make --embed, and the README explicitly requires clang 19 or newer with C23#embedsupport. - The WASM example combines
--compile --embed, showing that embedding is also used for a specific delivery target. - The project data lists the license as Other, while the README says distributed binaries are paid. If your modified build will be redistributed, source accessibility alone is not enough to determine the legal terms.
- README: "Generating a locale file"
- README: "./base/make --js base/tools/extract_locales.js <locale code>"
- README: "Requires compiler with c23 #embed support (clang 19 or newer)"
- Project data: license is "Other"; README: "Distributed binaries are paid"
./base/make --js base/tools/extract_locales.js <locale code>
Yes
I maintain a Linux x64 build environment with clang, the documented dependencies, and Git, and I want to customize the texturing workflow in C. Is this repository suitable as a development base?
Yes, provided that you accept the possible instability of the Git version and are prepared to maintain Linux dependencies yourself. The repository is better suited to building and modifying a graphics application than to downloading a ready-made product.
- C is the main language, with approximately 12,273,678 lines in the project data. The repository also contains build scripts, tool scripts, and graphics-backend-related code, making it appropriate for source-level study and customization.
- The README explicitly requires clang plus dependencies on Linux and provides
../base/make --runas the minimal build-and-run path. - The unified
base/makeworkflow can reduce the need to maintain a separate Linux project, but the README does not promise API stability or compatibility between Git commits. - If you need a stable production distribution, this repository is not the safest default because the README explicitly says it is aimed at developers.
- Project data: C is the main language with 12,273,678 lines
- README: "Linux, clang + dependencies"
- README: "../base/make --run"
- README: "All of the development is happening here" and the warning that the repository may be unstable
../base/make --run
Yes
I already maintain Apple-platform code with Xcode and need both macOS arm64 and iOS arm64 builds while reusing one 3D PBR painting codebase. Does this project's build approach fit?
Yes, it fits a shared Apple-platform development workflow, but whether it meets your production iOS requirements depends on input, performance, and release details that the README does not document.
- The README provides build commands for both macOS arm64 and iOS arm64, and both generate Xcode projects, matching your existing Xcode workflow.
- Objective-C and Metal appear in the project’s language distribution, so Apple integration and graphics-backend support are part of the actual project composition rather than external assumptions.
- macOS and iOS use different
--targetsettings through the same build entry point, which supports maintaining one repository, but does not prove identical behavior on both platforms. - The README only says to “Build for device”; it does not explain signing, App Store distribution, touch interaction, iOS resource limits, or Metal feature coverage.
- README: "macOS (arm64)" and "Open generated Xcode project"
- README: "iOS (arm64)" and "../base/make --target ios"
- Project data: Objective-C 378,579 and Metal 228,756
- README: "Build for device"
../base/make --target ios
It depends
I need macOS arm64, Android arm64, and WASM builds and want to maintain a cross-platform texturing tool from one repository. Can ArmorPaint meet this delivery constraint?
It depends: the README covers all three targets and provides a unified build entry point, but the existence of build commands does not prove equivalent functionality, performance, or input behavior across them.
- The README provides separate
base/makecommands for macOS arm64, Android arm64, and WASM, showing that these targets are part of the intended build workflow. - macOS requires Xcode, Android requires Android Studio, and WASM requires
--compile --embed, so delivery depends on multiple platform toolchains and different artifact flows. - The project data lists Metal, HLSL, Objective-C, and JavaScript, indicating platform and graphics-backend adaptation, but not identical feature coverage on every target.
- The README gives no quantitative conclusions about mobile performance, browser runtime behavior, GPU capability, memory use, or touch input limitations.
- README sections for "macOS (arm64)", "Android (arm64)", and "WASM" builds
- README: "../base/make --target android"
- README: "../base/make --target wasm --compile --embed"
- Project data: Objective-C, Metal, JavaScript, and HLSL all appear in the language distribution
../base/make --target wasm --compile --embed
✨ Highlights
-
Build targets include Windows, Linux, macOS, Android, and iOS
-
Provides a WASM target with the --compile --embed command
-
The C codebase accounts for 12,273,678 bytes
-
The README explicitly targets developers and documents source builds
🔧 Engineering
-
Used for 3D PBR texture painting, with the ArmorPaint manual linked in the README
-
base/make generates Visual Studio, Xcode, and Android Studio projects
-
extract_locales.js can generate files under paint/assets/locale
⚠️ Risks
-
The README warns that the git version targets developers and may be unstable
-
Distributed binaries are paid downloads and should not be assumed to be free
-
Compilation requires Visual Studio, clang, Xcode, or Android Studio
-
embed requires clang 19 or newer with C23 #embed support
👥 For who?
-
Developers who need to compile ArmorPaint on Windows, Linux, or macOS
-
Developers targeting Android arm64 or iOS arm64 builds
-
Project maintainers who need WASM builds or locale-file generation