OKO 2024.09
Web
Client version: 2.36.0
UI Improvements 2.0:
With this release comes some pretty major changes to the UI!
Left Side Panel:
This panel now stacks vertically instead of horizontally with the OKO logo (taken from the central toolbar) now appearing at the top of the stack. Note: clicking the OKO logo now has no functionality. The rest of this vertical stack is then organized into three groups separated by dividers:
Space content panels: the hierarchy, comments, and asset panels. To open a panel, click on the relevant icon (another click will minimize the panel). Visible to editors only.
Gizmo modes: previously found in the central toolbar, each gizmo mode (interact, move, rotate, and scale) has now been separated for easier visibility/accessibility, followed by the local and global axis toggle and the snap to surface button. Visible to editors only.
General space buttons: this is where users can find additional information, help settings, and exit space buttons. Visible to both viewers and editors.
There’s a new piece of functionality, a new information button. Selecting this button will open a panel displaying the following information:
Space thumbnail.
Space title.
Space author.
Space description.
Asset attributions.
The attributions list should populate automatically for assets added into space via Sketchfab but editors also have the option to add attributions for locally uploaded assets manually by entering the following information:
Item name.
Item name link (Optional).
Item author.
Item author link (Optional).
License.
License link (Optional).
Right Side Panel:
This panel now stacks vertically instead of horizontally and is arranged in the following order:
The properties panel: visible to editors only.
In-space communication: this consists of the people panel, text chat panel, and the call list. Visible to viewers and editors.
E-commerce: this consists of the product details panel (populates when an e-commerce icon has been selected) and the shopping bag.
The map mode button (that was previously located in the central toolbar), is visible to editors only.
The sound toggle button is visible to viewers and editors.
The share space button has been extracted from the OKO menu. This is visible to viewers and editors.
Central Toolbar:
The central toolbar for editors has had a mini-makeover based on changes to the left and right side panels. It now consists of:
The play mode button.
Fly mode button and navigation speed.
A button to toggle the visualization between wireframe and shaded, in addition to the visualization select dropdown.
The arrow at the end also includes checkboxes for the indicators for icons and collisions.
Additional Updates:
Updated error message wording if the multiplayer connection fails: “We have detected a network disconnect. Please refresh the page to reconnect.”
Added routing for the “Spaces” tabs so that users can return to their previous tab, after creating a new space.
VR users now have Avatar representation.
Updated the number of spaces shown on the 'Latest Visited” spaces tab to 50 spaces, making it consistent with the other space tabs.
Updated the way spaces using e-commerce and e-ticketing are recorded by removing the space metadata flags, now that official support for these features is available through CHS/CSP.
Fixes:
Fixed Eventbrite ticket recognition issue.
Component’s icon now follows the selected Component when moving.
Two browser prompts no longer appear when exiting a space.
E-commerce icon now appears in viewer mode.
Unity (iOS)
Client version: 1.12.0 Build 5.61.0.0
Updates:
We’ve added Gaussian Splat support. Users can upload Gaussian Splat .ply files of up to 200K.
The Vision OS simulator documentation has been updated and the basic login and space details UI can be seen on the device.
Removed unnecessary VR avatar setup.
Added universal link support for the new CHS environments.
Rearranged the UI package structure to support different platforms/SKUs.
Added a UI panel for hotspots (but it’s flagged off until the feature is ready for release).
Updated the app flow to match changes made to the UI flows.
CSP Update to 4.29.1 / FDN 1.16.0.
Fixes:
Fixed issue with the Text Component billboard mode.
Fixed the asset pack menu to take users to the appropriate pack.
Fixed a crash that occurs when maintenance windows begin.
Unreal Plugin
Client version: TBD
Getting Started Projects:
As part of our ongoing work, OKO now has a Getting Started level in Unreal.
This level is not yet readily available, however, if you would like a preview then you can do the following:
Load the Getting Started plugin and press the ‘Play’ button.
Search ‘Blockout’ in the ‘All’ folder of the content drawer.
Open the level.
Maintenance Windows:
As part of the CSP 4.29.1 upgrade, there is added support for a maintenance window URL. This means that client teams now need to provide a URL to the CSP maintenance API. Work was performed by the Unreal team to pass the URL from environment configurations so this will work with all current environments and new ones.
Fixes:
UEEE no longer crashes when entering a space with a reflection capture.
CSP no longer crashes when double-clicking the “Sign In” button.
Connected Spaces Platform
Version: 4.31.0
Find us on GitHub and npmjs for Unity and Web packages.
New Features:
Hotspot Component: a new Hotspot Space Component has been added, offering editors the ability to define locations in space that all users can spawn into or teleport to.
Sequence System: extending on the sequence service introduced by CHS that allows for the creation and management of ordered groups of object Ids, this system will allow clients to manage groups of hotspots in a space. CSP_ASYNC_RESULT has also been added to all public SequenceSystem functions to make it easier for clients to handle callbacks and keep usage in line with our other systems.
Maintenance window URL support: Hard-coded maintenance window URLs have been removed and support for accepting URLs on initialization and verifying they’re reachable has been added.
Improvements:
Get profiles by userID: in order to have a clear distinction between getters for full profiles and minimal profiles, GetProfilesByUserId has been deprecated and has introduced GetBasicProfilesByUserId in its place.
Hotspot types: the hotspot type implementation has been refactored to use booleans rather than enums to cater to the hotspot functionality selection of spawning and/or teleportation.
GetCheckoutInformation: GetCheckoutInformation now checks CartId for forward and backward slashes and early-outs with an error message in the log if found.
Querying for local POIs by type: it was discovered while writing spatial services documentation for CSP, that there was a client-application-level feature missing, where while the client app is able to associate a POI with a space using the UpdateSpaceGeoLocation method on SpaceSystem, they had no affordance via the POISystem. It was deliberately filtering out POIs that were associated with spaces, and only ever returning DEFAULT type POIs. This change introduces a new optional parameter to the POI System –Type –which allows the client to query for only POIs of a certain type. If all types are desired to be included in the returned results, the optional value should not be specified.
If the previous behavior of CSP when returning results is preferred, please pass in the DEFAULT type.
If the application wishes to filter for only spaces of type SPACE, please pass this as the argument.
The change also addresses some technical debt, where the strings denoting default and space type POIs were previously hard-coded in several methods. They have all been unified to rely on a single set of type/string conversion helper functions.Reverse shutdown order: systems must be shut down in reverse order to CreateSystems() to ensure that any dependencies continue to exist until each system is successfully shut down.
This resolves a potential crash on shutdown, as it prevents the script system from being deleted before script entities.
Cloud Hosted Services
This is a summary of the client-facing features available in this release. For a complete list of changes, please see GitHub
New Features
Sequence Controller to support hotspots and entity hierarchy.
API versioning support.
Improvements
Added a way to get the original version of an uploaded asset, to support App Clips.
Added a way to delete object components.