Skip to main content

Changelog

Android SDK version changelog

v5.6.4 - 2024/05/16

No changes.

v5.6.3 - 2024/05/13

Added:

  • Loading support for grayscale and palette PNG images.
  • Loading support up to 16 bit PNG images.
  • Generating mipmaps for textures in runtime when effect is loaded.

Changed:

  • Bump internal SDK version for loading DeepAR effect to 4.

v5.6.2 - 2024/04/29

Added:

  • HDR support for glTF PBR materials
  • Added API setEnvironmentMap, setExposure, setToneMapping, setEnvironmentMapIntensity

v5.6.0 - 2024/03/15

Added:

  • Full support for glTF 2.0 PBR materials. List of supported extensions:
    • KHR_DRACO_MESH_COMPRESSION,
    • KHR_LIGHTS_PUNCTUAL,
    • KHR_MATERIALS_ANISOTROPY,
    • KHR_MATERIALS_CLEARCOAT,
    • KHR_MATERIALS_EMISSIVE_STRENGTH,
    • KHR_MATERIALS_IOR,
    • KHR_MATERIALS_IRIDESCENCE,
    • KHR_MATERIALS_SHEEN,
    • KHR_MATERIALS_SPECULAR,
    • KHR_MATERIALS_TRANSMISSION,
    • KHR_MATERIALS_UNLIT,
    • KHR_MATERIALS_VARIANTS,
    • KHR_MATERIALS_VOLUME,
    • KHR_TEXTURE_TRANSFORM,
    • EXT_TEXTURE_WEBP.
  • Draco decoding for DeepAR files.

Fixed:

  • Fix black screen on Pixel 8 Android 14.

v5.5.2 - 2024/01/19

Fixed:

  • Using backgroundBlur with front camera doesn't work as expected.

v5.5.1 - 2023/12/22

No changes.

v5.5.0 - 2023/12/21

Fixed:

  • Crash in image pipeline.

v5.4.4 - 2023/10/13

Added:

  • RGBA pipeline for receiveFrame method.

v5.4.3 - 2023/09/21

No changes.

v5.4.2 - 2023/09/15

Added

  • animationTransitionedTo callback.
  • audio sampling rate option for Android video recording.

v5.4.1 - 2023/08/17

No changes.

v5.4.0 - 2023/08/11

No changes.

v5.3.0 - 2023/07/17

Added

  • DeepAR for Android is now published on maven server.
  • Exposed bitrate parameter for video recording.
  • glTF transmission support.
  • Background blur and background replacement API.
  • Mute/unmute all the sounds coming from DeepAR.
  • HDR textures support.

Changed

  • Audio can now be played from multiple animation controllers at the same time. Previously, only one sound could be active.

Fixed

  • Unloading effect from the unkwnown slot could break the currently loaded effect.
  • Crash caused by effects with scripting.
  • Audio not playing if part of initial node in animation controller.
  • Regression which caused the DeepAR v5.2.0 to crash after 20 mins of usage.

v5.2.0 - 2023/05/23

Changed

  • Removed the polygon count limit in the scene which was ~100k before.
  • Improved rendering performance with regard to mesh instances.

Fixed

  • Simple pendulum direction not consistent for front and back camera.
  • Sound not playing if part of the first state.
  • Crashing when passing null to changeParameter API for the component parameter.
  • IllegalStateException is thrown after SDK is initialized on callling DeepAR methods.
  • Camera flickering in low FPS effects on some devices when using external camera texture pipeline.

v5.1.1 - 2023/03/31

  • Fix front camera problems with beauty filters.
  • Fix camera sync issues when using receiveFrameExternalTexture.
  • When using receiveFrame to pass frames to DeepAR, they are now being scaled with neon optimized instructions which improves performance on low-mid Android devices.
  • Fix meshes using bones (but not face bones) disappearing when face not visible.

v5.1.0 - 2023/03/24

  • Added version API DeepAR.getSdkVersion().
  • Added scripting interop API.
  • Fix 2D face landmarks not being mirrored properly.
  • Fix multiple calles to changeParameterTexture crashes the app.
  • Fix blend-shapes are inverted on effects using 2D face landmarks like eyes and lips.

v5.0.0

  • Fix PBR shader environment map texture LOD sampling not working properly.

v4.1.0

  • No changes on Android SDK.

v4.0.3

  • Render error message in case of too many polygons in effect.

v4.0.2

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

v4.0.1

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

v4.0.0

v3.4.5

  • No changes on Android SDK

v3.4.4

  • 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 recording video/audio sync issue when resuming/pausing.
  • Fixed eye position component mirroring.

v3.4.3

  • Fix landmark2D camera mirror bug

v3.4.2

  • Greatly improved face tracking performance (up to 100% on some devices)
  • Introduced single-threaded mode (look it up in the docs)

v3.4.1

v3.3.0

v3.2.0

v3.1.3

  • Fixed critical bug which prevented users to use render filters on the face

v3.1.2

  • No changes on Android SDK

v3.1.1

  • Fixed OpenCL crashes on some devices
  • Fixed crash when phone changes orientation
  • Fixed scripting subsystem resource leaks
  • BIG PERFORMANCE IMPROVEMENT: Introducing a new way of feeding camera frames to DeepAR - external texture. This is a workflow where camera frames are passed to DeepAR via OpenGL texture. Which means that camera frames constantly stay in GPU memory, they don't have to be copied from ByteBuffer where the whole process is more CPU intensive. Also, this way DeepAR can do image processing on the GPU which results in more FPS. Check out our GitHub example to see how to use this feature. You can set the useExternalCameraTexture to true/false to switch between the "external texture" workflow or the old standard workflow for passing camera frames via ByteBuffer
  • General refactoring and bugfixes

v3.1.0

  • Optimised our engine. Up to 10x performance boost for Android devices that support OpenCL and up to 50% boost for all other devices (OpenGL fallback). You can now safely use 1080p camera resolution and it will run smoothly ;)
  • 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

v3.0.0

v2.4.1

  • Improved audio/video sync for video recording.

v2.4

MAJOR CHANGE: DeepAR is now equipped to work with Camera, Camera2 and CameraX API - receiveFrame method now accepts two additional parameters: image format and pixel stride. The method can now receive both NV21 and YUV_420_888 image formats. Read up our API documentation for more info.

  • added touchStart and touchEnd methods that work with new Hide on touch component of DeepAR Studio
  • bugfix: DeepAR crashing for feeding frames of non-standard aspect ratios

v2.3

  • Significantly improved performance and quality of background segmentation in Android SDK
  • added support for the additional output format of the offscreen processing workflow. Users can now select between the following formats: RGBA_8888, ARGB_8888, BGRA_8888, and ABGR_8888
  • Other smaller bugfixes and improvements

v2.2.1

  • Added moveGameObject API method
  • Rendering engine optimizations providing better performance on lower-end devices
  • Fixed video recording bug where the first couple of frames were black sometimes
  • Other various stability improvements and bugfixes

v2.2.0

Major upgrade, check the API docs for more in detail features explanation

  • Frame-by-frame/Continuous rendering mode (live mode on/off) added
  • Off-screen/On-screen rendering mode added
  • Computer vision only on/off mode added
  • Seamless switching between any rendering mode

API changes

  • AREventListener error method signature change
  • AREventListener added frameAvailable method
  • Added following methods on DeepAR class: startCapture, stopCapture, setVisionOnly and setOffscreenRendering

Improvements

  • Error and warning reporting from DeepAR engine via error method of ARViewListener should be more verbose now to identify potential issues
  • Various memory issues fixed
  • Video recording resolution issues fixed

v.2.1.4

  • Added support for 1920x1080 resolution
  • Smaller bugfixes and optimizations

v2.0.0

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

v1.4.5

  • Bugfixes
  • Added support for hair segmentation
  • Minimum API changed back to 19

v1.4.4

  • Bugfixes
  • Game object transforms can now be changed at runtime
  • Textures can now be changed at runtime
  • Color sampling now works properly on the first frame
  • Texture can be changed at runtime
  • Added support for background segmentation
  • Minimum API level changed to 21

v1.4.3

  • Bugfixes

v1.4.2

  • Bugfixes

v1.4.1

  • Bugfixes

v1.4

  • Image tracking support
  • Improved handling multiple faces

v1.3

  • License key support

v1.2.5

  • Added shutdownFinished to AREventListener

v1.2.4

  • Face rect output
  • Face detection sensitivity
  • Video recording bugfixes

v1.2.3

  • Exposed camera device, can be used to initialize DeepAR with the back camera or to change focus/exposure settings
  • Improved how camera orientation changes
  • Bugfix: changing orientation while using the back camera
  • Other bugfixes

v1.2.2

  • Bugfixes and performance improvements

v1.1.9

  • Updated docs