Step 1: Emscripten must be installed properly in your system, also must be configured its directory in PATH environment variable. * download emsdk from the official source or clone the git repository * if you've downloaded the zip, then extract it and now in the main folder run the commands --> .\emsdk.bat install latest .\emsdk.bat activate latest --permanent .\emsdk_env.bat * after these steps, the emsdk will be installed on your system and the environment variable will be automatically configured * confirm once by opening CMD or other shell on system level (open it from the windows search bar which is on the taskbar), then use the command --> emcc --version * if it is properly installed then this will give you the version details. Step 2 : open Godot's source code (fresh one is recommended because the used one may have files which may cause errors during compilation), also lower godot version is recommended (you can use v3.3.1). Step 3 : open shell in that folder Step 4 : write the following command for compiling --> * scons platform=javascript target=debug javascript_eval=no * use 'debug' for debug version and 'release' for release [see official documentation] Step 5 : aftep compiling, the .zip file will be generated at 'bin/' of you godot source code. Step 6 : open the flash project in your godot engine (the compiled engine which has flash, also the same which is used for compiling for web). * now, go to the export menu in the editor, then select the 'HTML5' option for export. * under the 'Custom templates' select the .zip file (release and debug or any one). * export it in appropriate directory. Step 7 : use local server to open the html file (you can use VScode's live server or any other programming language for it). Step 8 : the scene will not run (it is a kind of paused). Step 9 : [solution] --> * locate to the .js file of your exported project and comment the following lines by finding them --> --> what = 'Aborted(' + what + ')'; // TODO(sbc): Should we remove printing and leave it up to whoever // catches the exception? //err(what); //ABORT = true; -----> this line is specific to the above code --> // var e = new WebAssembly.RuntimeError(what); --> // readyPromiseReject(e); --> // throw e; * [NOTE - there are many 'ABORT = true' in the code, only comment the 'ABORT = true' which is specific to its above code]. * the lines of code provided to be commented out from the .js file of your export. the lines with '//' only are commented, if already, ignore them. Step 10 : Now, save the .js file and run the .html file again in the local server or any server available to you.