
This project is a class for downloading files (through http) and supporting a progress bar. There is sadly no built-in solution so I made this.
If you ever need to download files with Godot you will find out it requires some work to make it nice and display a progress bar to your user.
Using this home made class will make it faster for you to create a downloader in Godot.
Projet, Project settings, Plugins.File Urls and Save_Path$FileDownloader.start_download() somewhere in your script.You alternatively can replace the step 4 and 5 by code
var urls : PoolStringArray = ["url_to_file1","url_file_2"]
var path : String = "user://downloads"
$FileDownloader.start_download(urls, path)
You might want to use code only if you use an autoload to manage the downloads.
var _downloader = FileDownloader.new()
var urls : PoolStringArray = ["url_to_file1","url_file_2"]
var path : String = "user://downloads"
add_child(_downloader) # It's REQUIRED to add the node to the scene tree because the download won't work otherwise
_downloader.start_download(urls, path)
The release ships a demo project. Feel free to run it in Godot and explore it.
Downloading Webp files doesn't work.
If the file you are trying to download is above 2.1GB the addon will just say it is 2.1GB and fails downloading it past 2.1GB. See issue: godotengine/godot#56314
Code of conduct
How to contribute