OKO 2024.07
Web
Web client version: 2.33.1
E-commerce
To improve the visibility of in-space e-commerce icons, while also providing a bit more creative freedom, editors now have control over the appearance of:
The color of the shopping cart
The background color
These icon color changes are applied globally to all icons within a given space.
Creators wanting to set up an e-commerce space will now need to follow an additional step when connecting their store to a space that will allow the available stock of items to be included, allowing for an improved shopping cart user experience. Instructions on how to enable this are now detailed in the e-commerce setup wizard.
Performance
When running OKO on a Windows laptop that defaults to using integrated graphics instead of discrete graphics, users typically experience unexpectedly worse performance. Information on how to run intel HD graphics was placed on the FAQ page in an effort to increase users’ awareness of this issue. We now detect when integrated graphics are being used and provide this information to users. Selecting the graphics warning indicator will then take users to the graphic settings which provides a link to the FAQ page for them to take action.
Changes to the Entity Component System player movement system have been made to ensure that the update rate driven by PlayCanvas updates, is independent of the frame rate of a user's browser. This is because any deviation from the typical update rate of 60fps affects the player's movement speed.
Mobile Controls
To improve the user experience when accessing OKO on Web Mobile, we have adopted a similar control scheme to OKO Mobile, with the screen divided into two touch input zones t:
The first touch input in the lower zone will control locomotion with the on-screen thumbsticks
The first touch input in the upper zone will control how a user can look around the space by swiping/dragging on the screen
Some users prefer to use a second on-screen thumbstick to control looking around instead of swiping/dragging. To support that, we have added the option for users to use a second joystick to control looking around that can be enabled via the new mobile settings panel in the menu
The help screen has also been updated to note these new controls.
Asset Packs
To align with behavior seen in Unity, we have updated the selection for primitives from loading all assets in one long list to separating them into their own unique packs based on asset metadata.
Gizmo updates
We have replaced our in-house gizmos with PlayCanvas’s newly introduced native transform gizmos. This allows us to utilize the additional functionality that PlayCanvas provides such as world/local transformation support. It’s worth noting that we do lose some gizmo functionality for the time being such as:
Support for a three-in-one gizmo: currently not afforded by PlayCanvas but it may be possible to bring this functionality back at a later date
Snap-to-surface functionality: it’s no longer possible to drag a gizmo (using the white cube at the center of the existing translation and three-in-one gizmos) and have it snap to surfaces in the scene automatically
Snap-to-grid visual aids: when any of the snap-to-grid modes are enabled while using the gizmos, a grid visualization appears in the plane where the manipulation is taking place. This is currently not working as of OKO 2.30.1
Miscellaneous Updates
The old UI has been removed from the codebase
New Jolt physics engine
Creators can now toggle the visibility of an entire group of entity components at once
Support for animation masking for emotes and locomotion has been added so that users can navigate within a space while emote animations play
Support for updating your avatar while in space
Bugs Fixed:
Users can now pan when in map mode
Fixes to getAvatarSettings when settings are empty
Managing ticketing spaces log in to Eventbrite account now produces pop-up
Latest visited spaces now update correctly
Go-to button in Hierarchy now works on .ply files or Gaussian Splat components
Unity iOS
iOS client version: 1.10.0 Build 5.54.0
E-commerce
E-commerce is now enabled and ready to use. Users can now browse and purchase physical goods associated with a space.
We have added a mute button for each remote user in the People list. Now users can mute someone, and they will only be mutedfor the user.
We have enabled Ready Player Me avatars for both the user and fellow users in a space.
We have also added a few stability improvements to the Room Scan flow.
Timeout for Room Scan importer upload and processing
Handling low memory warning during Room Scan
Other Updates:
Updated GPS localization range from 50 to 100 meters, and GCA search radius from 25 to 50 meters
Added API declarations for app privacy
Added app environment check by using StoreKit API calls
Added Gaussian Splat component and visual placeholder
Updates:
Updated to CSP 4.26.2 / FDN Unity 1.13.1
Updated to CSP 4.27.2 / FDN Unity 1.14.1
Renamed spaces tab title
Updated "shared with you" spaces filter
Removed voxel scanning
Increased version number (bundle version) to prep for next prod release
Updated project to use avatar loader package thirdparty.com.readyplayerme.avatarloader 1.2.0 which now uses GLTFUtility by default to load avatars
Bugs Fixed:
Unity app will no longer crash if the user enters the same space using the same account on a different client
LOD generation progress indications are now visible in asset libraries
Crash fix: - FBLPromise HTTPBody: Unrecognized selector
Retrying the anchor creation flow no longer results in a 90% loading block. Removed show/hide of tabs in spaces scroll view
Fixed an issue where the E-Commerce dropdown value was not consistent when re-entering the menu
Fixed LOD generation progress indicator when uploading a new GLB asset
Unreal
Unreal Plugin client version: 133339
Asset Library
This release will introduce a new feature allowing users to add assets such as .glb models, videos, images, audio, and Gaussian Splats to their space asset library.
It will also give users the ability to change asset collections for image components.
Agora Improvements
Spaces created by OKO Basic users do not have Agora activated. As a result, users will not be able to use the call features to communicate with others in a space. Unreal now notifies users in OKO Basic spaces of this functionality.
For OKO Pro spaces, users can select the input and output of their audio devices prior to entering the space and can freely communicate with other users in a space using Agora.
UX Improvements
The menu item that allows users to “Export asset(s) to OKO” is now hidden from users when they’re not inside a space.
Bugs Fixed:
After duplication of entities is observed, there is no longer an infrequent crash in Unreal 5.2
Duplicate static models and animated models are no longer visible in scene
Buttons now appear in Unreal
iOS Pipeline Error fixed
Unreal Editor no longer crashes when closing the application while in a space
Connected Spaces Platform
Version: 4.27.0
Find us on GitHub and npmjs for Unity and Web packages.
New Features
Added GetShopifyStores API: Simplifies integration with Shopify by providing store data retrieval. If a user has previously used a Shopify store in another space, they’ll be able to re-use their store details via this endpoint
Organization System: Introducing the concept of Organizations to CSP. Organizations allow users to define, create, and manage sets of other users under the banner of their Organization
Improvements
Updated CSP Services: CSP has been updated to use the latest version of the Magnopus services schema
Enabled MacOS Binaries for Unity Editor Apple Silicon: CSP is now fully compatible with Apple-silicon flavors of Unity
Deprecations
Deprecated the Gaussian Splat IsShadowCaster property: Since Gaussian splats are incompatible with rasterization-based shadow-casting render pipelines, the property has been deprecated
Bugs Fixed
Fixed Crash on Component Removal: Prevented crashes when accessing components from scripts after removal
Log Messages in Multiplayer: Resolved application crashes due to log messages under multiplayer connection failures
Corrected Component Iteration: Ensured accurate iteration over components
Cloud Hosted Services
Improvements
Tenant data is now stored at the database level instead of the services level, so they no longer require a full stack deploy to create
We have improved the multiplayer service with an Area of Interest solution. It introduces the concept of multiple multiplayer scopes in a space, which, among other things, will facilitate large concert experiences
Bugs Fixed
Users won’t receive an error if they try to join an Organization via an email link
Services will now remove any idled users, eliminating potential “zombie” clients