By the way, is it possible to prevent the console message from opening on startup by modifying the .json file? It gets quite annoying having to close that window every time.
jerome74
Recent community posts
https://1fichier.com/?k9m7z59xvkaxbmpxfd12
Here's an example of the same game compressed by Unity (.gz files), which causes problems for local servers. It's unfortunate because the file size is between 30 and 40% smaller, which has a considerable impact on 3D games.
https://1fichier.com/?qbdeco63m710b1ljy2yk
Here's an example of a simple game not compressed by Unity, which limits the problems. If you manage to run it, I can give you a link to the same game but compressed by Unity and therefore smaller...
As mentioned yesterday, the problem for me is unzipping the three files compressed by Unity when creating an HTML5 game in .gz format, starting with framework.js.gz. If it helps, here's the console report:
===============================================
VALET - Lightweight Local Webserver
================================================
[CONFIG] Loading configuration from package.json...
[CONFIG] App: valet-app
[CONFIG] Main: index.html
[CONFIG] Title: Valet App
[CONFIG] Window Size: 960x720
[CONFIG] Browser: msedge
[SERVER] Auto-detected port: 8000
[SERVER] Starting HTTP server on http://localhost:8000
[SERVER] Serving files from: D:\UNITY\Valet
[INFO] Waiting for server to start...
[BROWSER] Found browser at: C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe
[BROWSER] Launching C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe
[BROWSER] Arguments: --app=http://localhost:8000/index.html --app-name=Valet App --window-size=960,720 --window-position=480,160 --disable-extensions --disable-translate --user-data-dir=D:\UNITY\Valet\.valet_data
[BROWSER] Browser launched successfully
================================================
Application Running
Press Ctrl+C or close console to exit
================================================
In Rover: The Express server serves static files. But for Unity, you need to check: MIME headers .wasm support. Therefore, I think you should add the following to the server script:const express = require('express'); const path = require('path'); const app = express(); const PORT = 3000; const contentPath = path.join(__dirname, 'content'); app.use(express.static(contentPath, { setHeaders: (res, filePath) => { // WebAssembly (OBLIGATOIRE) if (filePath.endsWith('.wasm')) { res.setHeader('Content-Type', 'application/wasm'); } // Unity data files if (filePath.endsWith('.data')) { res.setHeader('Content-Type', 'application/octet-stream'); } // Disable cache (debug friendly) res.setHeader('Cache-Control', 'no-store'); } })); app.listen(PORT, '127.0.0.1', () => { console.log(`Unity WebGL server running at http://127.0.0.1:${PORT}`); }); module.exports = PORT;I reported the problem in the comments of the page: https://ryanbram.itch.io/valet-lightweight-local-web-server-and-browser-launcher
Your application is almost perfect, but unfortunately, the browser opens correctly, but the Unity game loading bar doesn't progress... I have the same problem with my custom application coded in Python... My only solution is to compile my Python code into an .exe application, which works but is pointless because I just want a launcher... If you want to take a look, here's my script:
import http.server
import socketserver
import threading
import webview
import os
import sys
import mimetypes
PORT = 8000
class UnityHandler(http.server.SimpleHTTPRequestHandler):
def end_headers(self):
path = self.path
if path.endswith(".js.gz"):
self.send_header("Content-Encoding", "gzip")
self.send_header("Content-Type", "application/javascript")
elif path.endswith(".wasm.gz"):
self.send_header("Content-Encoding", "gzip")
self.send_header("Content-Type", "application/wasm")
elif path.endswith(".data.gz"):
self.send_header("Content-Encoding", "gzip")
self.send_header("Content-Type", "application/octet-stream")
elif path.endswith(".js.br"):
self.send_header("Content-Encoding", "br")
self.send_header("Content-Type", "application/javascript")
elif path.endswith(".wasm.br"):
self.send_header("Content-Encoding", "br")
self.send_header("Content-Type", "application/wasm")
elif path.endswith(".data.br"):
self.send_header("Content-Encoding", "br")
self.send_header("Content-Type", "application/octet-stream")
super().end_headers()
def log_message(self, format, *args):
pass
def start_server():
if getattr(sys, 'frozen', False):
base_path = sys._MEIPASS
else:
base_path = os.path.dirname(__file__)
web_dir = os.path.join(base_path, "web")
os.chdir(web_dir)
with socketserver.TCPServer(("127.0.0.1", PORT), UnityHandler) as httpd:
httpd.serve_forever()
def main():
threading.Thread(target=start_server, daemon=True).start()
webview.create_window(
title="Unity WebGL Game",
url=f"http://127.0.0.1:{PORT}/index.html",
width=1280,
height=720,
resizable=True
)
webview.start()
if __name__ == "__main__":
main()
Hello, I tested your application to see if it could run an HTML5 game created with Unity. Unfortunately, the framework.js script is compressed, and when I run your application, I get an error message. Apparently, the web server hosting the content is misconfigured and isn't serving the file when the HTTP response header is "Content-Encoding: gz".The solution is clearly at this address:https://docs.unity3d.com/2020.1/Documentation/Manual/webgl-server-configuration-code-samples.html . Your project might not be to extend compatibility to games created with Unity in HTML5, but I think it would be a good idea ;)
Interesting program but not open enough. Being able to import textures will be an improvement but for me the most important thing would be to be able to select the animations before generating the character. Indeed, for the moment all animations are added by default which makes the 3D model heavier. Moreover, for optimized low poly only the layers used should generate polygons (currently all layers are generated even if they are not associated with any texture... Once again this makes the 3D model heavier). But nevertheless congratulations for this very promising program