Local texture, material, layer, animation, and export editor for game and 3D workflows.
Unity Texture Generator is a local web app for creating, editing, combining, and exporting textures, layers, materials, and simple animations. The project consists of a Python/Flask backend and a Vue 3/Vuetify frontend.
Unity Texture Generator is currently in a refactor state. Large parts of the backend, frontend, runtime structure, editor workflows, dependencies and internal project organization are being reviewed, cleaned up and refactored.
The current codebase may change significantly between versions. Existing features, APIs, routes, configuration files, generated files and editor behavior should not be considered final or stable yet.
This app is not finished and should not be considered stable production software. The current state can be started, built, and tested locally, but it contains known limitations, development defaults, and platform-dependent dependencies.
Before a public release, at minimum, the backend configuration, secrets, portable Python dependencies, native runtime packages, frontend build, export flows, and complete editor workflows must be reviewed. Do not run it blindly in production environments.
Unity-Texture-Generator/
backend/ Python/Flask API, runtime generator, assets, and CLI
frontend/ Vue/Vuetify editor interface
LICENSE MIT License
README.md This introductory documentation
Additional documentation:
- App: not finished, but partially usable locally.
- Backend: starts locally as a Flask app and serves as the API for the editor, assets, rendering, exports, tasks, plugins, and AI routes.
- Frontend: builds with
npm run buildand expects a backend athttp://127.0.0.1:5000by default. - Release: not final yet. See the known notes in backend/README.md and frontend/README.md.
General:
- Git
- Python 3 with
venvandpip - Node.js with npm
- Sufficient disk space for Python, Node, and optional GPU/AI packages
Windows:
- PowerShell
- GTK+ 3 Runtime for Cairo/SVG/PDF-related functions
- Visual C++ Redistributable x86/x64 if Intel GPU packages are used
- NVIDIA Texture Tools if DDS/NV compression is used
Linux:
sudo apt install libcairo2macOS:
brew install cairoConda/Anaconda environments:
conda install -c conda-forge cairo pango gdk-pixbuf libxml2 libffiOptional Intel GPU packages:
pip install -i https://software.repos.intel.com/python/pypi dpctl dpnp- Install backend dependencies.
- Install frontend dependencies.
- Build the frontend.
- Start the backend.
- Check the app in the browser at
http://127.0.0.1:5000.
Windows PowerShell:
cd backend
python -m venv venv
.\venv\Scripts\activate
python -m pip install --upgrade pip
pip install -r requirements.txt
python app.pyLinux/macOS:
cd backend
python3 -m venv venv
source venv/bin/activate
python -m pip install --upgrade pip
pip install -r requirements.txt
python app.pyThe backend starts on the following address by default:
http://127.0.0.1:5000
Alternatively, the interactive backend CLI can be used:
cd backend
.\venv\Scripts\activate
python cli.pyImportant CLI commands:
doctorchecks release and runtime risks.doctor --stricttreats warnings as error status.start,stop, andrestartcontrol the backend process.
cd frontend
npm ci
npm run buildThe build writes the distributable files to:
frontend/dist/
The backend then serves the built app from ../frontend/dist/index.html. For local frontend development, the Vue CLI service can be started directly:
cd frontend
npx vue-cli-service serveNote: There is currently no serve script defined in frontend/package.json. The frontend uses the following default API:
http://127.0.0.1:5000
If needed, the backend URL for Vue CLI can be set as follows:
VUE_APP_API_BASE_URL=http://127.0.0.1:5000Start the backend directly:
cd backend
python app.pyFrontend production build:
cd frontend
npm run buildFrontend lint:
cd frontend
npm run lintBefore a release, at least the following checks should be run:
python cli.pyfollowed bydoctornpm cinpm run build- Start the backend with
python app.py - Manual testing of upload, layer editing, modifiers, material editor, AI flow, rendering, and export
backend/generated/is generated on startup and should not be manually edited as the primary source.backend/public/,backend/venv/,__pycache__/, and local logs are runtime artifacts.backend/requirements.txtmay contain localfile:///C:/...references. For a portable release installation, the dependency list must be cleaned up and tested in a fresh environment.- Backend runtime mode and CLI logging are configured in
backend/build.jsonthroughflask_modeandlog_file;backend/config.jsonis not required. - Development secrets such as
SECRET_KEYmust be supplied through environment-specific configuration before a release. - The frontend currently produces Sass deprecation warnings and notices about large bundles; these do not block the build, but should be taken into account.
This project is licensed under the MIT License. Details can be found in LICENSE.

