Upgrade guides
Upgrading to Manna v0.6.89
LighthousePose[]
was replaced with the StaticLighthouseData
in the Manna v0.6.89.
Please update your Manna.SetStaticLighthousePoseSelector
to use the new class.
...
_manna.SetStaticLighthousePoseSelector(StaticLighthousePoseSelector);
}
private void StaticLighthousePoseSelector(StaticLighthouseData staticLighthouseData, Action<LighthousePose> onPoseSelected)
{
var lighthousePoses = staticLighthouseData.poses;
// Your logic for selecting the desired lighthouse pose
...
Upgrading from v0.5 to v0.6
The v0.6 family of ConjureKit and the additional packages is now released. It introduces new exciting features and breaking changes. Please follow this guide to upgrade the v0.5 packages to v0.6.
Upgrade the packages
Go to the Window->Package Manager, select the desired packages, and click the Upgrade to 0.6.x button.
Please restart Unity Editor after installing or upgrading to the new packages.
ConjureKit
The ConjureKit initialization process has changed. The constructor no longer requires a ConjureKitConfiguration
.
The default configuration will be loaded when calling Connect
.
v0.5
_conjureKit = new ConjureKit(
ConjureKitConfiguration.Get(),
arCamera.transform,
"YOUR_APP_KEY",
"YOUR_APP_SECRET");
v0.6
_conjureKit = new ConjureKit(
arCamera.transform,
"YOUR_APP_KEY",
"YOUR_APP_SECRET");
The new Init
method can be used if you want to use the non-default configuration.
_conjureKit.Init(ConjureKitConfiguration.Get()); // Optional
We moved all Entity, Component, and Participant-related functions away from IConjureKit
to Session
.
v0.5
_conjureKit.AddEntity(
entityPos,
onComplete: entity => CreateCube(entity),
onError: error => Debug.Log(error));
v0.6
_conjureKit.GetSession().AddEntity(
entityPos,
onComplete: entity => CreateCube(entity),
onError: error => Debug.Log(error));
Manna
We removed mandatory dependency from ARFoundation. Now developers should provide the texture to scan via a new method, ProcessVideoFrameTexture
from any capture source (including ARFoundation). Here's an example code of how to do that with ARFoundation
v0.6
private void Update()
{
FeedMannaWithVideoFrames();
}
private void FeedMannaWithVideoFrames()
{
var imageAcquired = arCameraManager.TryAcquireLatestCpuImage(out var cpuImage);
if (!imageAcquired)
{
AukiDebug.LogInfo("Couldn't acquire CPU image");
return;
}
if (_videoTexture == null) _videoTexture = new Texture2D(cpuImage.width, cpuImage.height, TextureFormat.R8, false);
var conversionParams = new XRCpuImage.ConversionParams(cpuImage, TextureFormat.R8);
cpuImage.ConvertAsync(
conversionParams,
(status, @params, buffer) =>
{
_videoTexture.SetPixelData(buffer, 0, 0);
_videoTexture.Apply();
cpuImage.Dispose();
_manna.ProcessVideoFrameTexture(
_videoTexture,
arCamera.projectionMatrix,
arCamera.worldToCameraMatrix
);
}
);
}