Version 5.9.0
Released 5 May 2025 09:00 PDT
If you are a Camera Kit developer please review the Lens Studio compatibility table to ensure your Lens will work in your application.
Release Notes
Music Lyrics Sample Project
A sample project designed to showcase the capabilities of the Music Lyrics Component. The project provides starter assets demonstrating synchronized lyric visuals across 2D Screen Text, 3D Text, and Bitmoji scenes, helping creators kickstart lyric-driven experiences while encouraging customization.
TrackingScope Assets
TextureTrackingScope allows face tracking on entities like Head, FaceStretch, and Face Mesh on any texture. For example: this allows you to do face tracking on sources like dual camera or camera roll (media picker).
PersonTrackingScope makes it possible to correlate tracking between Body Tracking and Face Tracking. FaceTrackingScope makes it easier to apply the same face index to a group of Components.
Easily pause, adjust the play rate, or set a fixed delta time on VFX Assets with new options on the Initialize container as well as new API properties
World Depth Texture captures real-world surface depth, enabling virtual objects to be occluded by the environment
Packages
Package Manager is now in the toolbar to make it easier to manage packages in the Lens Studio library.
Asset Browser Panel now has an Assets folder and a Packages folder at the top level to improve organization in your project.
All Packages and Custom Components will be imported by default to Packages folder, all other assets will be present in the Assets folder
Anything in the Packages folder is not modifiable
When unpacking the Packages and Custom Components, they will be moved to the Assets folder where users can modify the contents
Package Instantiator: Packages can now contain an optional customizable Setup Script that dictates how the asset should be instantiated within Lens Studio.
Asset packages will now be instantiated when downloaded from Asset Library or dragged into the scene. If a package contains a Setup Script, it will be executed to allow for automatic package setup.
You can create your own Setup Scripts, leveraging the Editor API to allow for custom instantiation logic for your packages.
New export options when exporting external dependencies from the Packages folder.
New features in Easy Lens:
Bitmoji Animation with Friends - You can now add your Bitmoji’s friends and animate them! Supports different animation for each bitmoji, optional change friends on tap.
Bitmoji Garments - You can now generate a new shirt or dress to your bitmoji!
Text Bubbles - You can add a Text or Thought Bubbles! Commonly used to follow your forehead (Your real forehead) or the Bitmoji animation.
Head Stream - You can now add a continuous stream coming out or going into the user’s mouth. You can control the texture and direction of the stream and speed.
Head Morph - You can now enjoy a wider variety of Head Morph inspired by vegetables, Fruits and Items.
Improved Background and Icon Image Generation - higher quality, more expressive, supports text.
Bug Fixes & Improvements
TypeScript
Smart Type Assignability: Now users can define @input properties with any type that extends BaseScriptComponent. Lens Studio, will automatically check what TypeScript components are assignable to that type and will only show those components in Entity Picker. Drag&Drop will also only allow assignable TypeScript components to that type.
Unpack and Pull Update indicators
Asset Browser items will now contain icons to show that the asset needs to be unpacked before editing, and that the asset has an update available to be pulled from the Asset Library.
[Spectacles Only] Automatic Speech Recognition Module (AsrModule)
A new module for Speech-To-Text conversion.
Supports:
A vast number of languages and high-accuracy for accents and non-native speakers.
Configurable silence until termination threshold.
Different modes balancing speed and accuracy.
[Spectacles Only] Fixed Connected Lens SessionId
Using the Spectacles Mobile App, developers can now specify a fixed sessionId for Connected Lenses: this enables Spectacles devices and Lens Studio to easily join the same session. Additionally, the Connected Lens Monitor can now monitor session changes from both Lens Studio Previews and Spectacles devices.
[Spectacles Only] Local Connections over HTTP and WebSocket
Developers can now connect to local services using insecure connections (https). Lenses using insecure local connections may not be published.
Pairing, Previewing on Device and Spectacles Connectivity Redesign
The user interface has been redesigned to be more streamlined, focusing on displaying only the options available for each platform.
Newly instantiated ScriptComponents will now be guaranteed to run OnStart on the same frame they are instantiated. As before OnAwake will run before a call to createComponent or ObjectPrefab.instantiate returns – but now OnStart will run later in the same frame after the current lifecycle step ends.
Methods and properties of TypeScript components are now available even if the TypeScript component was never enabled. This change moves TypeScript Components closer to how native components work.
Note: This might affect how existing components work. If you had relied on the existence of an API on an object before executing (i.e. an object does not have an API because the component containing the API is disabled), this code will now execute since the API will be available regardless of the component’s status.
Note: If you had a TypeScript component which modifies the `constructor`, this code will run regardless of whether the component is enabled or not. Tip: In general, you should not affect the scene outside of Lens events (e.g. onAwake).
Animation Player’s `playClipAt(clip.name, offset)` now plays the offset relative to Animation Clip begin/end instead of as an absolute value.
[Spectacles & Camera Kit] WebSocket, Fetch, WebView, and performHttpRequest APIs have moved from RemoteServiceModule to InternetModule.
TS Config was improved for better typeahead in IDEs. If you’ve used a custom TS config, please import a new one using `Asset Browser` panel `+` -> TS Config and copy your custom properties over to the newly imported TS Config.
A new property Offset has been added to Animation Clip. This allows a user to set an offset which is the starting point for an animation. After the first iteration, it starts back at the beginning of the clip. You can access this through script with a new function `playClip(clip.name)`.
VFX warmup improvements: bug fixes and changes to how warmup is set, offering more granular control over warmup time and number of steps
Added toggle in Friends Component to pin BFF to the top of the user’s returned friends list.
Your own Bitmoji 3D avatar in LS preview.
Tip: Part 3 of the Bitmoji Runner Game tutorial is now available in English and Arabic! Learn how to create an Endless Ground System to maintain the illusion of an infinite track.
Fixed issue with copy assets and assets folders between Lens Studio application instances.
Fixed issue when single click on gizmo clears object selection.
Fixed TypeScript components compilation with nullish inputs.
Fixed saving TypeScript file in built-in Script Editor without changes.
Fixed an issue when script `@input` property type was changed, but changes were not saved.
Fixed an issue when script `@input` properties were not removed from .meta file.
Fixed an issue when reverting package changes or pulling an update from Asset Library resulted in run-time error for TypeScript components.
Fixed issue when graph asset reload action requires editing in graph editor and preview reset.
Fixed issue with copy pasting object order between different Lens Studio instances.
SnapML will not work correctly with VideoTextures as an input.
RetouchVisual set to ML Retouch won’t work correctly with TrackingScope.
Launching Lens Studio 5.8.0 (and earlier) after closing Lens Studio 5.9+ will cause application crash on first start.
System Requirements
Windows 10 (64 bit); MacOS 12.0+
Minimum of Intel Core i3 2.5Ghz or AMD FX 4300 2.6Ghz or Apple M1 with 8 GB RAM; Intel HD Graphics 5000 / Nvidia GeForce 760 / AMD Radeon HD 5570 or better; screen resolution of 1280x768 or higher
Please make sure that you have the latest driver for your specific graphics card installed
Join The Community
Get updates from Snap AR including creator tools, tutorials, meetups, events, and more — all for free!