OKO 2023.11
Date: 16th November 2023
Client versions: OKO Web RC 2.19.3, Unity 1.4.0, Unreal OKO Plugin Build number 108841
Here's What's New In This Release For Unreal OKO Plugin
Spaces can now be public.
Two new properties can be set via Blueprints.
Mesh collision components created in Web are now supported in Unreal Editor Extensions.
Public Spaces and Age Verification
OKO production is now available to the public! The team has removed the gating that prevented Editor Extension users from creating public spaces on production and introduced a checkbox for existing users to confirm that they’re 18+ so that they can continue using the platform per our terms and conditions.
Blueprint Properties
In our last release, we exposed the ability for users to set properties via Blueprints. This release comes with two new components that can be set – animated model and light components. In addition to authoring, an example of how to use this functionality was created. A Blueprint graph was set to illustrate the required approach and the node graph was subsequently uploaded here.
Node graph for toggling component visibility in space.
Video link for showing the visibility of components (a static model, a point light, and an image) toggles off when the space bar is pressed.
Major Bugs We’ve Fixed…
Resolved issue where changing visibility in OKO UEEE didn't replicate properly.
Corrected orientation of External Link Component and Button Component to align with Web.
People and Comments windows now populate properly if they are opened after entering a Space.
Fixed error that occurred when stopping PIE while in a Space, causing Web users to throw an error and require a restart.
Prevented crashes caused by hitting Stop and then Play after entering a space in a custom OKO app.
Fixed Editor crashes when stopping the runtime execution of an OKO app.
When within Web, an Unreal Editor Plugin user is now visible in the Web People list.
Here's What's New In This Release For Unity iOS
Users in OKO can now create public spaces.
Users will now have to verify they are over 18 to gain access to the application’s features.
Public Spaces
Users in OKO will now be able to create their own public spaces. Please note, that public spaces can be accessed by anyone, and this includes access to any proprietary content within the public space.
You can now set your new space as public when creating it.
You can go back to an old space, and set it to public.
The “Featured spaces” tab is now updated to “Explore Spaces”.
Age Verification
There is now a one-time age verification prompt for previously unverified users. With this update, users will now have to verify they are over 18 to gain access to the application’s features. This includes previously registered users and guests. Users who have not yet verified their age will be presented with a prompt upon logging in. Guests will also be required to verify their age before proceeding with the application.
A new flag has been added as part of Unity Editor Session Data, which allows developers to force this prompt in editor. This allows for easier testing and iteration.
Major Bugs We’ve Fixed…
Fixed issues around selecting and interacting with objects in AR mode.
Fiducial Marker localization should now work with more positions and rotations than before.
Here’s What’s New In This Release For OKO Web
We opened OKO to the public!
Additional support for Fiducial Markers.
New wrapping code that makes CSP easier to use.
Added button functionality to increase/decrease the log level in the debug toolbox to allow for more/less information from CSP.
Disabled LOD transitions when dragging assets into space.
Opening OKO to the public
With this comes the implementation of an 18+ validation checkbox for users when they register or sign-in (to comply with our Terms and Conditions), the ability for all users to create public spaces on oko.live, and a ‘Powered by CSP’ graphic on sign-in and sign-up pages.
Note: As part of publicly opening OKO, guest sign-on has been disabled due to potential security concerns (though users can enter a non-restricted space as a guest with the guest query parameter set).
Fiducial Markers
The team have implemented the ability to add read-only support for fiducial markers, following on from Unity’s implementation in OKO mobile. Video here.
Support for fiducial marker components in CSP was added to allow creators to:
Create fiducial marker components.
Associate an image asset to the component (with a minimum width and height of 20 cm).
Modify the properties of the component.
We’ve added a new setting for spaces to allow for entering a space directly in AR mode, (for supported Android devices), that is available when creating a new space or editing a previously existing space.
Note: if ‘open AR mode’ is selected in settings then ‘Virtual Camera Mode’ is automatically switched off as the two settings are mutually exclusive.
Image tracking has been added to AR mode to support detecting and tracking fiducial markers however due to not being able to enable WebXR by default, a display message appears to users when launching AR mode instructing them on how to to enable it on supported browsers. If image tracking is not supported on the device being used users are informed of this.
Once set up, space content will be relocalized and visible once the fiducial marker is tracked! Video here.
Major Bugs We’ve Fixed…
Uploading GLB files to any space no longer returns an error.
Users are now able to close the Product images modal if there are 2+ preview images for the product.
Invited users with no existing account are now taken through the correct signup flow.
Stopped infinite load occurring when trying to use SSO for accounts that have not verified 18+, and new accounts
Here’s What’s New for The Connected Spaces Platform In This Release
Check out GitHub for more information on CSP releases.
A quota system has been introduced.
Automated package release notes have been improved.
CSP now defines an interoperable API whereby client applications can invoke a resend of their account verification email.
Client applications can now pass a custom URL to their backend services via CSP’s interoperable API, which their services can then include in any automated invite emails that they send out.
We’ve included a new example Unity project in the repo.
Interactive script control for portal components.
Automated Inline Documentation for CSP WASM.
Quota System
The connected spaces platform now includes a quota system specification for services it integrates with. The quota system allows services to describe what features their users have access to, how many spaces and assets they can create, how many users can be in their spaces, and more!
Improved Automated Package Release Notes
CSP package readmes are automatically generated based on the changes that went into them since our last release. With 4.15.0, we’ve continued to make readability improvements to the automation here, to help users better understand what they can expect with each release.
New Unity Multiplayer Example Project
To help new Unity developers onboard the Connected Spaces Platform, we now include a brand new example Unity project in the repo. The example allows developers to learn how to:
Start, Tick, Stop CSP
Sign up, Log in, Log out
Find, Create, Enter, Exit, Delete Space
Create an avatar for a local player
Move a local avatar and send entity position updates
Process a received remote player entity position updates
Portal Script Bindings
The behavior of portal components can now be driven via interactive scripts, including dynamically driving the space they transport users to, the radius of the portal, and whether it is enabled.
Automated Inline Documentation for CSP WASM
The CSP WASM JavaScript API now includes inline documentation for the public API. The inline documentation is captured and processed via the CSP wrapper generation pipeline in the same manner as with C#. The code is formatted such that it will automatically be picked by most IDEs as a helpful tooltip.
Major Bugs We’ve Fixed…
The Unity CSP NPMJS package now imports without generating meta-file errors.
Null function or signature function is no longer thrown after exiting a space and entering another.