Skip to main content


Web SDK version changelog


  • Fixed foot tracking when changing the video feed.
  • Render error message in case of too many polygons in effect.
  • Clean up logging.


  • Fixed foot tracking not working.
  • Added texture size uniform that is updated every frame for every texture.
    • In shaders it is accessible with TEXTURE2D_SIZE(sampler_name) macro.


  • Updated the Scripting API:
    • Added the Face Position component class.
    • Added trigger events and functions.
    • Fixed Debug.renderText() default color parameters.
  • Added MIME type parameter for video recording.


  • SDK is now written in TypeScript and bundles appropriate .d.ts files with classes, types, methods and documentation.
  • SDK is now available on NPM npm install deepar.
  • Performance improvements.
  • 40% smaller JavaScript file and 20% smaller WebAssembly file.
  • New API:
    • setOffscreenRenderingEnabled - Force rendering on canvas even when tab is not focused.
  • Fix memory leak in processFrameRawPixels.
  • Fix caching u_modelNormal uniform when using the same material on multiple mesh renderers. More details:
  • Breaking changes (detailed read on Migrating to Web SDK v4.0.0:
    • DeepAR is now a class and is called with new keyword let deepAR = new DeepAR({ ... }).
    • Constructor parameters:
      • canvasWidth and canvasHeight - Passing these parameters has no effect anymore. In previous versions of SDK, these parameters would resize the canvas. You could change the canvas size with setCanvasSize() method. In new SDK, DeepAR will adapt to the canvas size. So you just need to set the size of the canvas. If canvas is resized, DeepAR will pick it up automatically.
      • numberOfFaces - This parameter has no effect anymore. DeepAR will track minimum number of faces according to the current configuration of loaded effects.
      • segmentationInfoZip - Path to the segmentation (background removal) model. This parameter is now changed to segmentationConfig.modelPath.
      • deeparWasmPath - Path to the deepar.wasm file.
    • Callbacks
      • You can provide callbacks in the constructor of the DeepAR class in the callbacks parameter.
      • Add, change or remove callbacks via DeepAR.callbacks property.


  • Add setFaceDetectionSensitivity function.
  • Add scripting console log API.


  • Introducing foot tracking as a beta* feature!
    • Allows you to easily create a shoe try-on app using the DeepAR Web SDK.
    • *Foot position component available only in DeepAR Studio 4.0-beta.
  • Breaking API changes:
    • Removed the libPath parameter.
    • Consequently, segmentationInfoZip should contain the full relative path to
  • Added new Dynamic UVs options in SDK and Studio.
    • For dynamic UVs you can choose between face and real options.
    • face option's behaviour is the same as it was before - UVs are adjusted for sampling the person’s face from camera texture.
    • real option adjusts the UVs so that the camera texture is sampled based on the real positions of the mesh vertices.
  • Fixed dynamic UVs not working for nodes that are not in face space.
    • Dynamic UVs now work for everything:
      • Nodes in orthographic layers.
      • Nodes in perspective layers.
      • Nodes in face space.
      • Nodes in face space with parent or child node transformations.
      • Nodes not in face space.
  • Fixed undefined symbols in the FaceData struct in onFaceTracked callback function.
  • Improved segmentation performance.


  • Fix landmark2D camera mirror bug
  • Fix faceRect empty bug


  • Greatly improved face tracking performance (up to 100%).
  • The numberOfFaces parameters is now removed when initializing DeepAR as we can determine the number of faces required in the runtime.


  • Fix for switch effect with path and face parameter not working.




  • No changes on Web SDK


  • Web recording: check out our GitHub quickstart example and our new docs for startVideoRecording() and finishVideoRecording(callback) methods


  • Bugfix in processImage(image) where the image didn't display properly when loading some image formats and changing resolutions.
  • Fixed scripting subsystem resource leaks
  • General refactoring and bugfixes


  • Want to have more control over physics components in runtime? You can now enable/disable entire physics with enablePhysics method or show/hide physics colliders showColliders method. Also, you can change any physics component parameter through our ChangeParameter API, see documentation
  • General refactoring and bugfixes



  • Improved background segmentation


  • Web background segmentation added
  • moveGameObject API method added (check API docs for more detail)
  • exposed fireTrigger API method to trigger custom animation state triggers
  • Fixed setVideoElement call where the main processing loop was not started after the call
  • Stability and bugfixes


Major upgrade.

  • Added ability to process a single image in addition to the camera stream
  • Added ability to change bool and texture parameters to changeParameter API
  • Bugfixes and stability issues


  • Major upgrade
  • New segmentation model
  • Tracking improvements
  • Bugfixes and optimizations

v1.4.6 - 28/02/2020

  • Fixed issue with numberOfFaces less than 4

v1.4.5 - 09/10/2019

  • Get face data for each face
  • Enable multi face tracking during the initialization

v1.4.4 - 04/10/2019

  • Change transform API

v1.3.2 - 31/01/2019

  • External camera

v1.3.1 - 08/01/2019

  • Multi face tracking
  • setCanvasSize function to reset the viewport size

v1.3 - 02/01/2019

  • Added onFaceTracked

v1.2.5 - 05/11/2018

  • Added audio playback

v1.2.4 - 18/10/2018

  • Improved API and documentation
  • Transition to Web Assembly