Useful resources for working with glTF
To inspect glTF or glb files online:
- gltf.report - three.js based
- modelviewer.dev/editor - three.js based
- Khronos glTF Sample Viewer
- Babylon Sandbox
- glTF Validator
To inspect them locally:
- use the glTF Shell Extension for Windows to convert between glTF and glb
- use the glTF Tools VS Code Extension to see validation errors and in-engine previews locally
Built-in URL parameters
Debug Flags can be appended as URL query parameters.
?help to get a list of ALL parameters available.
Here are some of the most commonly used:
helpprint all available url parameter in the console
consoleopens an on-screen dev console, useful for mobile debugging
printGltflogs loaded gltf files to the console
statsshows FPS module and logs threejs renderer stats every few seconds
showcollidersvisualizes physics colliders
gizmosenables gizmo rendering (e.g. when using BoxCollider or AxesHelper components)
- and a lot more: please use
helpto see them all
Needle Engine also has some very powerful and useful debugging methods that are part of the static
Gizmos class. See the scripting documentation for more information.
Local Testing of release builds
- First, install http-server:
npm install -g http-server
- make a build (development or production)
- open the dist directory with a commandline tool
-genables gzip support
- optional: if you want to test WebXR, generate a self-signed SSL certificate, then run
http-server -g -Sto enable https (required for WebXR).
You can attach VSCode to the running local server to set breakpoints and debug your code. You can read more about debugging with VSCode here.
Create a launch.json file at
.vscode/launch.json in your web project with the following content:
"name": "Attach Chrome",
If you have changed the port on which your server starts make sure to update the
url field accordingly.
You can then start your local server from within VSCode:
For Android debugging, you can attach Chrome Dev Tools to your device and see logs right from your PC. You have to switch your device into development mode and connect it via USB.
See the official chrome documentation here
- Make sure Developer Mode is enabled on your phone
- Connect your phone to your computer via USB
- Open this url in your browser
- On your mobile device allow the USB connection to your computer
- On your computer in chrome you should see a list of open tabs after a while (on
Inspecton the tab you want to debug
For easy iOS debugging add the
If you have a Mac, you can also attach to Safari (similar to the Android workflow above).
WebXR usage and debugging on iOS requires using a third-party browser: Mozilla WebXR Viewer.
Quest is just an Android device - see the Android Debugging section for steps.