Release 0.7.5

Release 0.7.5

Augmented Reality through the WebXR Device API and Video/Canvas textures as well as many final fixes and convenience improvements to 0.7.x.

The texture size limitation of WebGL2 (usually 2048x2048) no longer applies to Wonderland Engine with compressed textures.



  • Added “webxr” to AR frameworks
  • Added support for video MIME-Types in web server
  • Added option to disable Wonderleap script tag
  • Fixed font url: now relative to make deployment easier
  • Fixed potential crash when rotating object with scaled parent
  • Fixed webserver crashing the editor when http://localhost:8080 is requested
  • Fixed image size change not causing update and recompression
  • Implemented splitting of textures into tiles for new tile based texture atlas
  • Now packaging .basis textures into .bin file
  • Added “Project Settings > Rendering” settings for texture atlas sizes
  • Fixed crash in JobSystem on the 2049th job
  • Fixed editor icon on Ubuntu
  • Fixed use of too many file descriptors on Linux
  • Fixed uninitialized memory in .bin file to fix output different depending on OS
  • Fixed unexpeced results when downscaling non-square images
  • Fixed changing maxSize param of Images not triggering recompression
  • Fixed issues with JavaScript files bundled in different order depending on OS
  • Removed js/ from default script paths


  • Implemented support for Augmented Reality based on the WebXR Device API
  • Implemented support video and canvas textures
  • Switched to a tile-based texture atlas for compressed textures, significantly improving use of texture memory
  • Fixed various rare issues causing textures not appearing
  • Fixed potential object translation mixup when adding meshes
  • Fixed potential missing index buffer after removing all meshes from a batch
  • Implemented repeating of compressed textures
  • Removed artifical object limit by allowing multiple draw calls per batch
  • Implemented calculation of max objects per draw call to avoid overflowing uniform buffer size device limit


  • Optimized batching to only rebatch changed meshes instead of entire batch
  • Fixed adding new objects causing transformations to jump to other objects in rare cases
  • Increase texture atlas size limit
  • Fixed all JavaScript components reset to empty objects after 32 objects are created
  • Fixed first delta time passed to JavaScript being a huge negative number
  • Implemented smooth loading of textures on non-threaded runtime
  • Optimized basis transcoding
  • Reduced runtime thread count to 2 for threaded runtimes to reduce unused thread overhead
  • Fixed performance degraded due to memory access being in debug mode


  • Added support for HTMLVideoElement and HTMLCanvasElement as parameters for WL.Texture.constructor
  • Fixed WL.Object.getComponent() sometimes not returning correct type for JavaScript components
  • Added set sometimes not returning correct type for JavaScript components
  • Fixed WL.InputComponent.handedness returning null despite there being a handedness value
  • Made WL.Object.addComponent() call start() on new JavaScript components
  • Added WL.onXRSupported callback list
  • Added WL.arSupported and WL.vrSupported
  • Added WL.onSceneLoaded callback list
  • Added onActivate and onDeactivate functions for custom components
  • Fixed WL.Object.rotateObject parameters
  • Added WL.AnimationComponent.playCount
  • Added WL.Texture.update() to update texture to HTMLCanvasElement/HTMLVideoElement/Image
  • Fixed playCount not applied on

JS Components

  • cursor: Click now regards a new handedness property
  • Added vr-mode-active-switch component to switch components active/inactive depending on whether in VR or not
  • howler-audio-*: Update to newer APIs and fix position not retrieved correctly
  • Added hit-test-location component to set up and retrieve WebXR Device API hit tests
  • Added video-texture component to download video from url and apply to material
  • Fixed howler-audio-source component not updating source position
Last Update: November 29, 2020

Stay up to date.