### Description ### This is a GDevelop extension provides file upload/download capabilities and texture pack management for games. --- **Core Features:** 1. **Text Files** - Upload text files to variables - Download text content as file 2. **ZIP Files** - Upload ZIP files and decompress into variable structures (base64 or text) - Download ZIP files - Apply texture packs from ZIP files using an index.json manifest 3. **Images** - Download game resources as PNG files - Upload images to replace existing resources - Both support resource picker and string expression inputs 4. **Texture Packs** - Load texture packs from ZIP archives - Uses index.json to map resource names to file paths - Expected structure: ``` JSON { "pack-data": { "name": "Texture pack", "pack-version": "1.0.0", "game-version": "1.0.0" }, // pack-data is optional. "textures": { "<Resource-name>": "<new/file/directory/relative/to/index>" } } ``` > Texture packs only support images, not audios yet. **Implementation Details:** - Uses JSZip library (bundled in initialization code) - Async operations for file handling - Creates temporary file input elements for uploads - Converts images to/from base64 for storage and manipulation - PIXI.js texture management for resource replacement - Searches up to specified depth for index.json in ZIP structures **Use Cases:** - Save/load game data - User-generated content - Modding support through texture packs - Export/import configurations - Custom skins/themes The extension enables web-based games to interact with the user's file system in a browser-safe manner. ### How to use the extension add an action like `Upload a zipfile` `Upload image to resource` `Upload a text file to variable` it pretty much does what it sounds like it will do ### Checklist - [x] I've followed all of [the best practices](http://wiki.compilgames.net/doku.php/gdevelop5/extensions/best-practices). - [x] I confirm that this extension can be integrated to this GitHub repository, distributed and MIT licensed. - [x] I am aware that the extension may be updated by anyone, and do not need my explicit consent to do so. ### Example file [My project119.zip](https://github.com/user-attachments/files/24671853/My.project119.zip) ### Extension file [Files(2).zip](https://github.com/user-attachments/files/24686262/Files.2.zip)
Description
This is a GDevelop extension provides file upload/download capabilities and texture pack management for games.
Core Features:
Text Files
ZIP Files
Images
Texture Packs
Implementation Details:
Use Cases:
The extension enables web-based games to interact with the user's file system in a browser-safe manner.
How to use the extension
add an action like
Upload a zipfileUpload image to resourceUpload a text file to variableit pretty much does what it sounds like it will do
Checklist
Example file
My project119.zip
Extension file
Files(2).zip