A web-based graphical user interface for the robust UnityBundleExtractor tool, designed for analyzing and extracting assets from Unity3D bundle files. This project provides an accessible, modern web interface for all the powerful features of the original script, including asynchronous processing, selective extraction, and detailed metadata analysis.
- Modern Web Interface: A clean and responsive user interface built with Flask, allowing you to use the extractor from any modern web browser.
- Drag & Drop File Upload: Easily upload your main Unity bundle files (
.bundle,.unity3d,.assets) along with any optional resource files (.resS) through a simple drag-and-drop interface. - Asynchronous Task Processing: Uploads are handled asynchronously. A task queue system manages analysis and extraction jobs, allowing you to monitor progress without locking up the interface.
- Real-time Status and Progress: Track the status of your task in real-time, from its position in the queue to the progress of analysis and extraction, all updated dynamically on the page.
- Comprehensive Bundle Analysis: View detailed metadata about the uploaded bundle, including Unity version, platform, compression type, and a complete list of all contained assets grouped by type.
- Selective Asset Extraction: Browse the full list of assets, filter them by name, and select specific items or entire categories for extraction. The selected assets are then conveniently packaged into a single
.ZIParchive for download. - Structured Output: Extracted assets within the ZIP file are organized into type-specific subdirectories (e.g.,
Texture2D/,MonoBehaviour/,Mesh/) for easy navigation. - Robust Backend: The application is built with a scalable architecture, including a worker pool to process multiple tasks efficiently and a scheduler for automated cleanup of old files.
- Easy Deployment with Docker: Comes fully configured for containerization with a
Dockerfileanddocker-compose.yml, allowing for quick and consistent deployment in any environment.
This tool is provided for educational and research purposes only. It is intended to help developers, researchers, and enthusiasts understand the structure of Unity game assets and facilitate legitimate modding, analysis, or asset recovery for personal projects where legal permissions are obtained.
To run this application, you need Python 3.9+ and Docker (for containerized deployment). The following Python libraries are required:
- UnityPy>=1.10.0
- Flask>=2.3.0
- Werkzeug>=2.3.0
- lz4>=4.3.0
- Pillow>=9.5.0
- tqdm>=4.65.0
You can install these dependencies using pip:
pip install -r requirements.txt-
Clone the repository:
git clone https://github.com/lenzarchive/UBE-GUI.git cd UBE-GUI -
Install dependencies:
pip install -r requirements.txt
-
Run the application:
-
For development:
python app.py
The application will be available at
http://127.0.0.1:5000. -
For production (using Gunicorn):
gunicorn --bind 0.0.0.0:5000 wsgi:application
-
Using Docker (Recommended): Build and run the application using Docker Compose.
docker-compose up --build
The application will be available at
http://localhost:5000.
-
-
Access the GUI: Open your web browser and navigate to the appropriate URL.
-
Upload and Analyze: Drag and drop your Unity bundle file into the upload area or use the file chooser. The analysis will start automatically.
-
Extract and Download: Once the analysis is complete, select the assets you wish to extract and click the "Extract Selected as .ZIP" button. Your download will begin shortly.
Encountered a bug? Have an idea for a new feature? We welcome contributions! Please feel free to:
- Open an Issue: Describe the bug or suggest a new feature.
- Submit a Pull Request: Fork the repository, make your changes, and submit a pull request.
Your contributions help make this tool better for everyone!
Saweria: https://saweria.co
Ko-fi: https://ko-fi.com
BTC: bc1q0ay7shy6zyy3xduf9hgsgu5crfzvpes93d48a6
CLI Version: Click
Thanks for using this project! Credit: @alwizba
This script is licensed under the MIT License. See the LICENSE file for more details.