Release 0.9.0

Release 0.9.0

This release features a first set of game changing rendering features and major improvements to rendering capabilities, iOS support and many more bug fixes and UX improvements.

Texture Streaming 

Texture streaming finally breaks us free from limits on uncompressed textures and are now streamed dynamically to the GPU based on what is required for rendering the current view of the user.

It improves GPU memory usage, loading times and allows using more and higher resolution textures.

Example of a 16k x 8k texture being streamed.

Full-screen Draws 

Full-screen draws like Sky provide a convenient and efficient way of adding a background image, equirectangular environment or gradient to your experience.

Full-screen draws screenshot

Spot Lights 

Spot lights give even more control over the lighting in the scene.

Physically Based Shaders 

Physically based shading allows rendering more realistic materials, like metals and plastics.

Physical shader screenshot

Slug Text Rendering 

With our integration of the Slug text rendering middleware, we now have state of the art text rendering. The text remains crisp and clear in VR and improves readability and removes any visual artefacts of the previous method. This integration paves the way for way more advanced text rendering coming in the near future.

Slug text rendering.

iOS Safari 15 Support 

This release also finally adds support for Desktop and iOS Safari 15. This is especially important for Web AR experiences.

Package Size 

We packed in all of these new features this while keeping the runtime binary size almost the same and greatly reducing the installer size on all platforms! Additionally some very significant reductions in mesh sizes and the texture streaming improve load times even more.



  • Switched to outlines for selection highlights
  • Fixed Profiler GPU timing results
  • Unlocked navigation in Profiler view
  • Fixed image downsizing crash for certain sizes
  • Fixed rest of Euler rotation
  • Fixed various issues around login flow
  • Fixed various crashes and issues related to pipeline reordering
  • Removed invalid blend settings
  • Split alpha and RGB blend settings
  • Switched to full instancing of scene files on import, allowing multiple imports of the same file
  • Allow dragging materials onto scene objects
  • Allow dragging JavaScript files onto component list
  • Properly exit when --project fails to load on command line
  • Added MOZ_lightmap support for GLTF import
  • Added PBR material support for GLTF import
  • Added support for .webp image import
  • Fixed infinite repackaging loop when adding empty path to scripts list
  • Majorly improve compression of meshes in .bin files
  • Ensured even larger projects package in less than 1 second
  • Fixed bug where images go missing when extension is in uppercase
  • Fixed various issues with PhysX debug visualization not updating
  • Fixed minor intuition issues in undo with transformation gizmo
  • Added convenient toggle for simulating PhysX in Scene view toolbar
  • Improved speed of loading compressed texture cache
  • Generate tangents for meshes that were imported without
  • Fixed window title not updated correctly according to project name
  • Fixed deleting directory in directory list of Asset Browser
  • Remove notification when saving a project
  • MacOS
    • Fixed execution of npm build scripts for packaging
    • Fixed crash during texture compression due to use of unsupported BC7 format
    • Fixed various other crashes


  • Added error when loading .bin files that were packaged in older versions
  • Fixed iOS safari support


  • Switched to Wonderland Texture Streaming for compressed textures
    • Enables new compressed texture atlas sizes up to 32k x 32k
    • Adds mip map support for compressed textures
    • Reduces GPU memory usage and significantly improves texture read speed
    • Reduces initial scene loading time
  • Switched to Slug text rendering
  • Improved per-drawcall object count even further
  • Added imported lightmap support to Phong
  • Added secondary UV support
  • Added full-screen passes
    • Sky renders an equirectangular image
    • Background renders a background image and/or color gradient
  • Added “Physical” shader for PBR materials
  • Added spot lights
  • Fully delete objects from project files when deleted
  • Implemented per-actor PhysX material settings


  • Fixed setting ViewComponent.near and ViewComponent.far having no effect in XR sessions
  • Renamed PhysXComponent.restitution to PhysXComponent.bounciness
  • Fixed PhysXComponent.rayCast not returning multiple results
  • Added Mesh.getBoundingSphere() and Mesh.destroy()
  • Added new API for modifying mesh data at runtime
  • Allow passing extra arguments to webxr_request_session_func, e.g. for using DOM overlay


  • video-texture: Fixed disabling autoplay still playing video
  • device-orientation-look: Fixed incorrect rotation depending on initial orientation
Last Update: August 29, 2022

Stay up to date.