diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index 98ae20547fedc6bef7aac2f65a6aff3865f3100c..0000000000000000000000000000000000000000
--- a/.gitignore
+++ /dev/null
@@ -1,72 +0,0 @@
-# This .gitignore file should be placed at the root of your Unity project directory
-#
-# Get latest from https://github.com/github/gitignore/blob/main/Unity.gitignore
-#
-/[Ll]ibrary/
-/[Tt]emp/
-/[Oo]bj/
-/[Bb]uild/
-/[Bb]uilds/
-/[Ll]ogs/
-/[Uu]ser[Ss]ettings/
-
-# MemoryCaptures can get excessive in size.
-# They also could contain extremely sensitive data
-/[Mm]emoryCaptures/
-
-# Recordings can get excessive in size
-/[Rr]ecordings/
-
-# Uncomment this line if you wish to ignore the asset store tools plugin
-# /[Aa]ssets/AssetStoreTools*
-
-# Autogenerated Jetbrains Rider plugin
-/[Aa]ssets/Plugins/Editor/JetBrains*
-
-# Visual Studio cache directory
-.vs/
-
-# Gradle cache directory
-.gradle/
-
-# Autogenerated VS/MD/Consulo solution and project files
-ExportedObj/
-.consulo/
-*.csproj
-*.unityproj
-*.sln
-*.suo
-*.tmp
-*.user
-*.userprefs
-*.pidb
-*.booproj
-*.svd
-*.pdb
-*.mdb
-*.opendb
-*.VC.db
-
-# Unity3D generated meta files
-*.pidb.meta
-*.pdb.meta
-*.mdb.meta
-
-# Unity3D generated file on crash reports
-sysinfo.txt
-
-# Builds
-*.apk
-*.aab
-*.unitypackage
-*.app
-
-# Crashlytics generated file
-crashlytics-build.properties
-
-# Packed Addressables
-/[Aa]ssets/[Aa]ddressable[Aa]ssets[Dd]ata/*/*.bin*
-
-# Temporary auto-generated Android Assets
-/[Aa]ssets/[Ss]treamingAssets/aa.meta
-/[Aa]ssets/[Ss]treamingAssets/aa/*
\ No newline at end of file
diff --git a/.vsconfig b/.vsconfig
deleted file mode 100644
index d70cd98b77b4984d6943f1ee8d64b111f4847b24..0000000000000000000000000000000000000000
--- a/.vsconfig
+++ /dev/null
@@ -1,6 +0,0 @@
-{
-  "version": "1.0",
-  "components": [
-    "Microsoft.VisualStudio.Workload.ManagedGame"
-  ]
-}
diff --git a/Assembly-CSharp-Editor.csproj.meta b/Assembly-CSharp-Editor.csproj.meta
deleted file mode 100644
index a66b9b24a375598f2ddec33c17887e4de0d49f6f..0000000000000000000000000000000000000000
--- a/Assembly-CSharp-Editor.csproj.meta
+++ /dev/null
@@ -1,7 +0,0 @@
-fileFormatVersion: 2
-guid: 7987893fc3b6d32488b65b5a84e75740
-DefaultImporter:
-  externalObjects: {}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Assembly-CSharp.csproj.meta b/Assembly-CSharp.csproj.meta
deleted file mode 100644
index 7ddb8f62830cedb056c8081934b9ec26f9894d60..0000000000000000000000000000000000000000
--- a/Assembly-CSharp.csproj.meta
+++ /dev/null
@@ -1,7 +0,0 @@
-fileFormatVersion: 2
-guid: 9b2f2debfde6d284b81c33e572b137c7
-DefaultImporter:
-  externalObjects: {}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Assets/Plugins/JsonSubTypes.dll b/Assets/Plugins/JsonSubTypes.dll
deleted file mode 100644
index 71fe39b7ff18fac5dbfd2185f353e1aab5db005d..0000000000000000000000000000000000000000
Binary files a/Assets/Plugins/JsonSubTypes.dll and /dev/null differ
diff --git a/Assets/Plugins/JsonSubTypes.dll.meta b/Assets/Plugins/JsonSubTypes.dll.meta
deleted file mode 100644
index 3025c8ddfda6913154444d4adf80d329b9e9daa9..0000000000000000000000000000000000000000
--- a/Assets/Plugins/JsonSubTypes.dll.meta
+++ /dev/null
@@ -1,33 +0,0 @@
-fileFormatVersion: 2
-guid: 5d8884e5b43d30c44a0dd7f6d04e4930
-PluginImporter:
-  externalObjects: {}
-  serializedVersion: 2
-  iconMap: {}
-  executionOrder: {}
-  defineConstraints: []
-  isPreloaded: 0
-  isOverridable: 0
-  isExplicitlyReferenced: 0
-  validateReferences: 1
-  platformData:
-  - first:
-      Any: 
-    second:
-      enabled: 1
-      settings: {}
-  - first:
-      Editor: Editor
-    second:
-      enabled: 0
-      settings:
-        DefaultValueInitialized: true
-  - first:
-      Windows Store Apps: WindowsStoreApps
-    second:
-      enabled: 0
-      settings:
-        CPU: AnyCPU
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Assets/Plugins/Newtonsoft.Json.dll b/Assets/Plugins/Newtonsoft.Json.dll
deleted file mode 100644
index e4a63399d0d92764c849df273d5cff4bf1cd829a..0000000000000000000000000000000000000000
Binary files a/Assets/Plugins/Newtonsoft.Json.dll and /dev/null differ
diff --git a/Assets/Plugins/Newtonsoft.Json.dll.meta b/Assets/Plugins/Newtonsoft.Json.dll.meta
deleted file mode 100644
index b98603e67c0b248a1b998802766faea3aeb49f83..0000000000000000000000000000000000000000
--- a/Assets/Plugins/Newtonsoft.Json.dll.meta
+++ /dev/null
@@ -1,33 +0,0 @@
-fileFormatVersion: 2
-guid: 8e129f0a00a01af4e9687332997ac12e
-PluginImporter:
-  externalObjects: {}
-  serializedVersion: 2
-  iconMap: {}
-  executionOrder: {}
-  defineConstraints: []
-  isPreloaded: 0
-  isOverridable: 0
-  isExplicitlyReferenced: 0
-  validateReferences: 1
-  platformData:
-  - first:
-      Any: 
-    second:
-      enabled: 1
-      settings: {}
-  - first:
-      Editor: Editor
-    second:
-      enabled: 0
-      settings:
-        DefaultValueInitialized: true
-  - first:
-      Windows Store Apps: WindowsStoreApps
-    second:
-      enabled: 0
-      settings:
-        CPU: AnyCPU
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Assets/Plugins/Org.OpenAPITools.dll b/Assets/Plugins/Org.OpenAPITools.dll
deleted file mode 100644
index 08853b7fcc62536f192d6716bbed7dfc3fe82bc3..0000000000000000000000000000000000000000
Binary files a/Assets/Plugins/Org.OpenAPITools.dll and /dev/null differ
diff --git a/Assets/Plugins/Org.OpenAPITools.dll.meta b/Assets/Plugins/Org.OpenAPITools.dll.meta
deleted file mode 100644
index 5fdc847178b556c18edf4172bd10d3b6c14c520a..0000000000000000000000000000000000000000
--- a/Assets/Plugins/Org.OpenAPITools.dll.meta
+++ /dev/null
@@ -1,33 +0,0 @@
-fileFormatVersion: 2
-guid: 6a54ead1df0e6334aa8d4520cae26cab
-PluginImporter:
-  externalObjects: {}
-  serializedVersion: 2
-  iconMap: {}
-  executionOrder: {}
-  defineConstraints: []
-  isPreloaded: 0
-  isOverridable: 0
-  isExplicitlyReferenced: 0
-  validateReferences: 1
-  platformData:
-  - first:
-      Any: 
-    second:
-      enabled: 1
-      settings: {}
-  - first:
-      Editor: Editor
-    second:
-      enabled: 0
-      settings:
-        DefaultValueInitialized: true
-  - first:
-      Windows Store Apps: WindowsStoreApps
-    second:
-      enabled: 0
-      settings:
-        CPU: AnyCPU
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Assets/Plugins/Org.OpenAPITools.xml b/Assets/Plugins/Org.OpenAPITools.xml
deleted file mode 100644
index 748dfe1ba81001daf100f1a596a418f03082da55..0000000000000000000000000000000000000000
--- a/Assets/Plugins/Org.OpenAPITools.xml
+++ /dev/null
@@ -1,2960 +0,0 @@
-<?xml version="1.0"?>
-<doc>
-    <assembly>
-        <name>Org.OpenAPITools</name>
-    </assembly>
-    <members>
-        <member name="T:Org.OpenAPITools.Api.IDefaultApi">
-            <summary>
-            Represents a collection of functions to interact with the API endpoints
-            </summary>
-        </member>
-        <member name="T:Org.OpenAPITools.Client.IApiAccessor">
-            <summary>
-            Represents configuration aspects required to interact with the API endpoints.
-            </summary>
-        </member>
-        <member name="M:Org.OpenAPITools.Client.IApiAccessor.GetBasePath">
-            <summary>
-            Gets the base path of the API client.
-            </summary>
-            <value>The base path</value>
-        </member>
-        <member name="P:Org.OpenAPITools.Client.IApiAccessor.Configuration">
-            <summary>
-            Gets or sets the configuration object
-            </summary>
-            <value>An instance of the Configuration</value>
-        </member>
-        <member name="P:Org.OpenAPITools.Client.IApiAccessor.ExceptionFactory">
-            <summary>
-            Provides a factory method hook for the creation of exceptions.
-            </summary>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.IDefaultApi.GetAdmin">
-            <summary>
-            Get the state of the server.
-            </summary>
-            <remarks>
-            
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <returns>string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.IDefaultApi.GetAdminWithHttpInfo">
-            <summary>
-            Get the state of the server.
-            </summary>
-            <remarks>
-            
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <returns>ApiResponse of string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.IDefaultApi.GetPing">
-            <summary>
-            Test the server availability.
-            </summary>
-            <remarks>
-            
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <returns>string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.IDefaultApi.GetPingWithHttpInfo">
-            <summary>
-            Test the server availability.
-            </summary>
-            <remarks>
-            
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <returns>ApiResponse of string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.IDefaultApi.GetVersion">
-            <summary>
-            Get the version of the ARF API.
-            </summary>
-            <remarks>
-            
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <returns>string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.IDefaultApi.GetVersionWithHttpInfo">
-            <summary>
-            Get the version of the ARF API.
-            </summary>
-            <remarks>
-            
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <returns>ApiResponse of string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.IDefaultApi.GetAdminAsync(System.Threading.CancellationToken)">
-            <summary>
-            Get the state of the server.
-            </summary>
-            <remarks>
-            
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.IDefaultApi.GetAdminWithHttpInfoAsync(System.Threading.CancellationToken)">
-            <summary>
-            Get the state of the server.
-            </summary>
-            <remarks>
-            
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of ApiResponse (string)</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.IDefaultApi.GetPingAsync(System.Threading.CancellationToken)">
-            <summary>
-            Test the server availability.
-            </summary>
-            <remarks>
-            
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.IDefaultApi.GetPingWithHttpInfoAsync(System.Threading.CancellationToken)">
-            <summary>
-            Test the server availability.
-            </summary>
-            <remarks>
-            
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of ApiResponse (string)</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.IDefaultApi.GetVersionAsync(System.Threading.CancellationToken)">
-            <summary>
-            Get the version of the ARF API.
-            </summary>
-            <remarks>
-            
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.IDefaultApi.GetVersionWithHttpInfoAsync(System.Threading.CancellationToken)">
-            <summary>
-            Get the version of the ARF API.
-            </summary>
-            <remarks>
-            
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of ApiResponse (string)</returns>
-        </member>
-        <member name="T:Org.OpenAPITools.Api.DefaultApi">
-            <summary>
-            Represents a collection of functions to interact with the API endpoints
-            </summary>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.DefaultApi.#ctor(System.String)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Org.OpenAPITools.Api.DefaultApi"/> class.
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.DefaultApi.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:Org.OpenAPITools.Api.DefaultApi"/> class
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.DefaultApi.#ctor(Org.OpenAPITools.Client.Configuration)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Org.OpenAPITools.Api.DefaultApi"/> class
-            using Configuration object
-            </summary>
-            <param name="configuration">An instance of Configuration</param>
-            <returns></returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.DefaultApi.GetBasePath">
-            <summary>
-            Gets the base path of the API client.
-            </summary>
-            <value>The base path</value>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.DefaultApi.SetBasePath(System.String)">
-            <summary>
-            Sets the base path of the API client.
-            </summary>
-            <value>The base path</value>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.DefaultApi.DefaultHeader">
-            <summary>
-            Gets the default header.
-            </summary>
-            <returns>Dictionary of HTTP header</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.DefaultApi.AddDefaultHeader(System.String,System.String)">
-            <summary>
-            Add default header.
-            </summary>
-            <param name="key">Header field name.</param>
-            <param name="value">Header field value.</param>
-            <returns></returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.DefaultApi.GetAdmin">
-            <summary>
-            Get the state of the server. 
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <returns>string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.DefaultApi.GetAdminWithHttpInfo">
-            <summary>
-            Get the state of the server. 
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <returns>ApiResponse of string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.DefaultApi.GetAdminAsync(System.Threading.CancellationToken)">
-            <summary>
-            Get the state of the server. 
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.DefaultApi.GetAdminWithHttpInfoAsync(System.Threading.CancellationToken)">
-            <summary>
-            Get the state of the server. 
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of ApiResponse (string)</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.DefaultApi.GetPing">
-            <summary>
-            Test the server availability. 
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <returns>string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.DefaultApi.GetPingWithHttpInfo">
-            <summary>
-            Test the server availability. 
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <returns>ApiResponse of string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.DefaultApi.GetPingAsync(System.Threading.CancellationToken)">
-            <summary>
-            Test the server availability. 
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.DefaultApi.GetPingWithHttpInfoAsync(System.Threading.CancellationToken)">
-            <summary>
-            Test the server availability. 
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of ApiResponse (string)</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.DefaultApi.GetVersion">
-            <summary>
-            Get the version of the ARF API. 
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <returns>string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.DefaultApi.GetVersionWithHttpInfo">
-            <summary>
-            Get the version of the ARF API. 
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <returns>ApiResponse of string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.DefaultApi.GetVersionAsync(System.Threading.CancellationToken)">
-            <summary>
-            Get the version of the ARF API. 
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.DefaultApi.GetVersionWithHttpInfoAsync(System.Threading.CancellationToken)">
-            <summary>
-            Get the version of the ARF API. 
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of ApiResponse (string)</returns>
-        </member>
-        <member name="P:Org.OpenAPITools.Api.DefaultApi.Configuration">
-            <summary>
-            Gets or sets the configuration object
-            </summary>
-            <value>An instance of the Configuration</value>
-        </member>
-        <member name="P:Org.OpenAPITools.Api.DefaultApi.ExceptionFactory">
-            <summary>
-            Provides a factory method hook for the creation of exceptions.
-            </summary>
-        </member>
-        <member name="T:Org.OpenAPITools.Api.ITrackablesApi">
-            <summary>
-            Represents a collection of functions to interact with the API endpoints
-            </summary>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.ITrackablesApi.AddTrackable(Org.OpenAPITools.Model.Trackable)">
-            <summary>
-            Create a Trackable.
-            </summary>
-            <remarks>
-            Create a new Trackable from a json object containing all the required informations and add it to the world storage. &lt;br&gt;As a result you will get the ID of the newly created Trackable.
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="trackable">The Trackable to be added to the world storage.</param>
-            <returns>string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.ITrackablesApi.AddTrackableWithHttpInfo(Org.OpenAPITools.Model.Trackable)">
-            <summary>
-            Create a Trackable.
-            </summary>
-            <remarks>
-            Create a new Trackable from a json object containing all the required informations and add it to the world storage. &lt;br&gt;As a result you will get the ID of the newly created Trackable.
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="trackable">The Trackable to be added to the world storage.</param>
-            <returns>ApiResponse of string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.ITrackablesApi.DeleteTrackable(System.Guid)">
-            <summary>
-            Delete a Trackable.
-            </summary>
-            <remarks>
-            Delete a single Trackable stored in the world storage from its ID.
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="trackableUUID">Trackable UUID to delete.</param>
-            <returns>string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.ITrackablesApi.DeleteTrackableWithHttpInfo(System.Guid)">
-            <summary>
-            Delete a Trackable.
-            </summary>
-            <remarks>
-            Delete a single Trackable stored in the world storage from its ID.
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="trackableUUID">Trackable UUID to delete.</param>
-            <returns>ApiResponse of string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.ITrackablesApi.GetTrackableById(System.Guid)">
-            <summary>
-            Find a Trackable by its UUID.
-            </summary>
-            <remarks>
-            Get a single Trackable stored in the world storage from its ID.
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="trackableUUID">UUID of the Trackable to retrieve.</param>
-            <returns>Trackable</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.ITrackablesApi.GetTrackableByIdWithHttpInfo(System.Guid)">
-            <summary>
-            Find a Trackable by its UUID.
-            </summary>
-            <remarks>
-            Get a single Trackable stored in the world storage from its ID.
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="trackableUUID">UUID of the Trackable to retrieve.</param>
-            <returns>ApiResponse of Trackable</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.ITrackablesApi.GetTrackables">
-            <summary>
-            Return all the Trackables.
-            </summary>
-            <remarks>
-            Get all the Trackables currently being stored in the world storage.
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <returns>List&lt;Trackable&gt;</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.ITrackablesApi.GetTrackablesWithHttpInfo">
-            <summary>
-            Return all the Trackables.
-            </summary>
-            <remarks>
-            Get all the Trackables currently being stored in the world storage.
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <returns>ApiResponse of List&lt;Trackable&gt;</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.ITrackablesApi.ModifyTrackable(Org.OpenAPITools.Model.Trackable)">
-            <summary>
-            Modify a Trackable.
-            </summary>
-            <remarks>
-            Modify an existing Trackable given a json object containing all the required informations. &lt;br&gt; **Please note that ID of the object is required in the JSON**
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="trackable">The Trackable to be modified in the world storage.</param>
-            <returns>string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.ITrackablesApi.ModifyTrackableWithHttpInfo(Org.OpenAPITools.Model.Trackable)">
-            <summary>
-            Modify a Trackable.
-            </summary>
-            <remarks>
-            Modify an existing Trackable given a json object containing all the required informations. &lt;br&gt; **Please note that ID of the object is required in the JSON**
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="trackable">The Trackable to be modified in the world storage.</param>
-            <returns>ApiResponse of string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.ITrackablesApi.AddTrackableAsync(Org.OpenAPITools.Model.Trackable,System.Threading.CancellationToken)">
-            <summary>
-            Create a Trackable.
-            </summary>
-            <remarks>
-            Create a new Trackable from a json object containing all the required informations and add it to the world storage. &lt;br&gt;As a result you will get the ID of the newly created Trackable.
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="trackable">The Trackable to be added to the world storage.</param>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.ITrackablesApi.AddTrackableWithHttpInfoAsync(Org.OpenAPITools.Model.Trackable,System.Threading.CancellationToken)">
-            <summary>
-            Create a Trackable.
-            </summary>
-            <remarks>
-            Create a new Trackable from a json object containing all the required informations and add it to the world storage. &lt;br&gt;As a result you will get the ID of the newly created Trackable.
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="trackable">The Trackable to be added to the world storage.</param>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of ApiResponse (string)</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.ITrackablesApi.DeleteTrackableAsync(System.Guid,System.Threading.CancellationToken)">
-            <summary>
-            Delete a Trackable.
-            </summary>
-            <remarks>
-            Delete a single Trackable stored in the world storage from its ID.
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="trackableUUID">Trackable UUID to delete.</param>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.ITrackablesApi.DeleteTrackableWithHttpInfoAsync(System.Guid,System.Threading.CancellationToken)">
-            <summary>
-            Delete a Trackable.
-            </summary>
-            <remarks>
-            Delete a single Trackable stored in the world storage from its ID.
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="trackableUUID">Trackable UUID to delete.</param>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of ApiResponse (string)</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.ITrackablesApi.GetTrackableByIdAsync(System.Guid,System.Threading.CancellationToken)">
-            <summary>
-            Find a Trackable by its UUID.
-            </summary>
-            <remarks>
-            Get a single Trackable stored in the world storage from its ID.
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="trackableUUID">UUID of the Trackable to retrieve.</param>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of Trackable</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.ITrackablesApi.GetTrackableByIdWithHttpInfoAsync(System.Guid,System.Threading.CancellationToken)">
-            <summary>
-            Find a Trackable by its UUID.
-            </summary>
-            <remarks>
-            Get a single Trackable stored in the world storage from its ID.
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="trackableUUID">UUID of the Trackable to retrieve.</param>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of ApiResponse (Trackable)</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.ITrackablesApi.GetTrackablesAsync(System.Threading.CancellationToken)">
-            <summary>
-            Return all the Trackables.
-            </summary>
-            <remarks>
-            Get all the Trackables currently being stored in the world storage.
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of List&lt;Trackable&gt;</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.ITrackablesApi.GetTrackablesWithHttpInfoAsync(System.Threading.CancellationToken)">
-            <summary>
-            Return all the Trackables.
-            </summary>
-            <remarks>
-            Get all the Trackables currently being stored in the world storage.
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of ApiResponse (List&lt;Trackable&gt;)</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.ITrackablesApi.ModifyTrackableAsync(Org.OpenAPITools.Model.Trackable,System.Threading.CancellationToken)">
-            <summary>
-            Modify a Trackable.
-            </summary>
-            <remarks>
-            Modify an existing Trackable given a json object containing all the required informations. &lt;br&gt; **Please note that ID of the object is required in the JSON**
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="trackable">The Trackable to be modified in the world storage.</param>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.ITrackablesApi.ModifyTrackableWithHttpInfoAsync(Org.OpenAPITools.Model.Trackable,System.Threading.CancellationToken)">
-            <summary>
-            Modify a Trackable.
-            </summary>
-            <remarks>
-            Modify an existing Trackable given a json object containing all the required informations. &lt;br&gt; **Please note that ID of the object is required in the JSON**
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="trackable">The Trackable to be modified in the world storage.</param>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of ApiResponse (string)</returns>
-        </member>
-        <member name="T:Org.OpenAPITools.Api.TrackablesApi">
-            <summary>
-            Represents a collection of functions to interact with the API endpoints
-            </summary>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.TrackablesApi.#ctor(System.String)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Org.OpenAPITools.Api.TrackablesApi"/> class.
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.TrackablesApi.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:Org.OpenAPITools.Api.TrackablesApi"/> class
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.TrackablesApi.#ctor(Org.OpenAPITools.Client.Configuration)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Org.OpenAPITools.Api.TrackablesApi"/> class
-            using Configuration object
-            </summary>
-            <param name="configuration">An instance of Configuration</param>
-            <returns></returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.TrackablesApi.GetBasePath">
-            <summary>
-            Gets the base path of the API client.
-            </summary>
-            <value>The base path</value>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.TrackablesApi.SetBasePath(System.String)">
-            <summary>
-            Sets the base path of the API client.
-            </summary>
-            <value>The base path</value>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.TrackablesApi.DefaultHeader">
-            <summary>
-            Gets the default header.
-            </summary>
-            <returns>Dictionary of HTTP header</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.TrackablesApi.AddDefaultHeader(System.String,System.String)">
-            <summary>
-            Add default header.
-            </summary>
-            <param name="key">Header field name.</param>
-            <param name="value">Header field value.</param>
-            <returns></returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.TrackablesApi.AddTrackable(Org.OpenAPITools.Model.Trackable)">
-            <summary>
-            Create a Trackable. Create a new Trackable from a json object containing all the required informations and add it to the world storage. &lt;br&gt;As a result you will get the ID of the newly created Trackable.
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="trackable">The Trackable to be added to the world storage.</param>
-            <returns>string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.TrackablesApi.AddTrackableWithHttpInfo(Org.OpenAPITools.Model.Trackable)">
-            <summary>
-            Create a Trackable. Create a new Trackable from a json object containing all the required informations and add it to the world storage. &lt;br&gt;As a result you will get the ID of the newly created Trackable.
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="trackable">The Trackable to be added to the world storage.</param>
-            <returns>ApiResponse of string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.TrackablesApi.AddTrackableAsync(Org.OpenAPITools.Model.Trackable,System.Threading.CancellationToken)">
-            <summary>
-            Create a Trackable. Create a new Trackable from a json object containing all the required informations and add it to the world storage. &lt;br&gt;As a result you will get the ID of the newly created Trackable.
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="trackable">The Trackable to be added to the world storage.</param>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.TrackablesApi.AddTrackableWithHttpInfoAsync(Org.OpenAPITools.Model.Trackable,System.Threading.CancellationToken)">
-            <summary>
-            Create a Trackable. Create a new Trackable from a json object containing all the required informations and add it to the world storage. &lt;br&gt;As a result you will get the ID of the newly created Trackable.
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="trackable">The Trackable to be added to the world storage.</param>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of ApiResponse (string)</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.TrackablesApi.DeleteTrackable(System.Guid)">
-            <summary>
-            Delete a Trackable. Delete a single Trackable stored in the world storage from its ID.
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="trackableUUID">Trackable UUID to delete.</param>
-            <returns>string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.TrackablesApi.DeleteTrackableWithHttpInfo(System.Guid)">
-            <summary>
-            Delete a Trackable. Delete a single Trackable stored in the world storage from its ID.
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="trackableUUID">Trackable UUID to delete.</param>
-            <returns>ApiResponse of string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.TrackablesApi.DeleteTrackableAsync(System.Guid,System.Threading.CancellationToken)">
-            <summary>
-            Delete a Trackable. Delete a single Trackable stored in the world storage from its ID.
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="trackableUUID">Trackable UUID to delete.</param>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.TrackablesApi.DeleteTrackableWithHttpInfoAsync(System.Guid,System.Threading.CancellationToken)">
-            <summary>
-            Delete a Trackable. Delete a single Trackable stored in the world storage from its ID.
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="trackableUUID">Trackable UUID to delete.</param>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of ApiResponse (string)</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.TrackablesApi.GetTrackableById(System.Guid)">
-            <summary>
-            Find a Trackable by its UUID. Get a single Trackable stored in the world storage from its ID.
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="trackableUUID">UUID of the Trackable to retrieve.</param>
-            <returns>Trackable</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.TrackablesApi.GetTrackableByIdWithHttpInfo(System.Guid)">
-            <summary>
-            Find a Trackable by its UUID. Get a single Trackable stored in the world storage from its ID.
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="trackableUUID">UUID of the Trackable to retrieve.</param>
-            <returns>ApiResponse of Trackable</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.TrackablesApi.GetTrackableByIdAsync(System.Guid,System.Threading.CancellationToken)">
-            <summary>
-            Find a Trackable by its UUID. Get a single Trackable stored in the world storage from its ID.
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="trackableUUID">UUID of the Trackable to retrieve.</param>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of Trackable</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.TrackablesApi.GetTrackableByIdWithHttpInfoAsync(System.Guid,System.Threading.CancellationToken)">
-            <summary>
-            Find a Trackable by its UUID. Get a single Trackable stored in the world storage from its ID.
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="trackableUUID">UUID of the Trackable to retrieve.</param>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of ApiResponse (Trackable)</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.TrackablesApi.GetTrackables">
-            <summary>
-            Return all the Trackables. Get all the Trackables currently being stored in the world storage.
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <returns>List&lt;Trackable&gt;</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.TrackablesApi.GetTrackablesWithHttpInfo">
-            <summary>
-            Return all the Trackables. Get all the Trackables currently being stored in the world storage.
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <returns>ApiResponse of List&lt;Trackable&gt;</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.TrackablesApi.GetTrackablesAsync(System.Threading.CancellationToken)">
-            <summary>
-            Return all the Trackables. Get all the Trackables currently being stored in the world storage.
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of List&lt;Trackable&gt;</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.TrackablesApi.GetTrackablesWithHttpInfoAsync(System.Threading.CancellationToken)">
-            <summary>
-            Return all the Trackables. Get all the Trackables currently being stored in the world storage.
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of ApiResponse (List&lt;Trackable&gt;)</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.TrackablesApi.ModifyTrackable(Org.OpenAPITools.Model.Trackable)">
-            <summary>
-            Modify a Trackable. Modify an existing Trackable given a json object containing all the required informations. &lt;br&gt; **Please note that ID of the object is required in the JSON**
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="trackable">The Trackable to be modified in the world storage.</param>
-            <returns>string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.TrackablesApi.ModifyTrackableWithHttpInfo(Org.OpenAPITools.Model.Trackable)">
-            <summary>
-            Modify a Trackable. Modify an existing Trackable given a json object containing all the required informations. &lt;br&gt; **Please note that ID of the object is required in the JSON**
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="trackable">The Trackable to be modified in the world storage.</param>
-            <returns>ApiResponse of string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.TrackablesApi.ModifyTrackableAsync(Org.OpenAPITools.Model.Trackable,System.Threading.CancellationToken)">
-            <summary>
-            Modify a Trackable. Modify an existing Trackable given a json object containing all the required informations. &lt;br&gt; **Please note that ID of the object is required in the JSON**
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="trackable">The Trackable to be modified in the world storage.</param>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.TrackablesApi.ModifyTrackableWithHttpInfoAsync(Org.OpenAPITools.Model.Trackable,System.Threading.CancellationToken)">
-            <summary>
-            Modify a Trackable. Modify an existing Trackable given a json object containing all the required informations. &lt;br&gt; **Please note that ID of the object is required in the JSON**
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="trackable">The Trackable to be modified in the world storage.</param>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of ApiResponse (string)</returns>
-        </member>
-        <member name="P:Org.OpenAPITools.Api.TrackablesApi.Configuration">
-            <summary>
-            Gets or sets the configuration object
-            </summary>
-            <value>An instance of the Configuration</value>
-        </member>
-        <member name="P:Org.OpenAPITools.Api.TrackablesApi.ExceptionFactory">
-            <summary>
-            Provides a factory method hook for the creation of exceptions.
-            </summary>
-        </member>
-        <member name="T:Org.OpenAPITools.Api.IWorldAnchorsApi">
-            <summary>
-            Represents a collection of functions to interact with the API endpoints
-            </summary>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.IWorldAnchorsApi.AddWorldAnchor(Org.OpenAPITools.Model.WorldAnchor)">
-            <summary>
-            Create a World Anchor.
-            </summary>
-            <remarks>
-            Create a new World Anchor from a json object containing all the required informations and add it to the world storage. &lt;br&gt;As a result you will get the ID of the newly created World Anchor.
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="worldAnchor">The World Anchor to be added to the world storage.</param>
-            <returns>string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.IWorldAnchorsApi.AddWorldAnchorWithHttpInfo(Org.OpenAPITools.Model.WorldAnchor)">
-            <summary>
-            Create a World Anchor.
-            </summary>
-            <remarks>
-            Create a new World Anchor from a json object containing all the required informations and add it to the world storage. &lt;br&gt;As a result you will get the ID of the newly created World Anchor.
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="worldAnchor">The World Anchor to be added to the world storage.</param>
-            <returns>ApiResponse of string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.IWorldAnchorsApi.DeleteWorldAnchor(System.Guid)">
-            <summary>
-            Delete a World Anchor.
-            </summary>
-            <remarks>
-            Delete a single World Anchor stored in the world storage from its ID.
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="worldAnchorUUID">World Anchor UUID to delete.</param>
-            <returns>string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.IWorldAnchorsApi.DeleteWorldAnchorWithHttpInfo(System.Guid)">
-            <summary>
-            Delete a World Anchor.
-            </summary>
-            <remarks>
-            Delete a single World Anchor stored in the world storage from its ID.
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="worldAnchorUUID">World Anchor UUID to delete.</param>
-            <returns>ApiResponse of string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.IWorldAnchorsApi.GetWorldAnchorById(System.Guid)">
-            <summary>
-            Find a World Anchor by its UUID.
-            </summary>
-            <remarks>
-            Get a single World Anchor stored in the world storage from its ID.
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="worldAnchorUUID">UUID of the World Anchor to retrieve.</param>
-            <returns>WorldAnchor</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.IWorldAnchorsApi.GetWorldAnchorByIdWithHttpInfo(System.Guid)">
-            <summary>
-            Find a World Anchor by its UUID.
-            </summary>
-            <remarks>
-            Get a single World Anchor stored in the world storage from its ID.
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="worldAnchorUUID">UUID of the World Anchor to retrieve.</param>
-            <returns>ApiResponse of WorldAnchor</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.IWorldAnchorsApi.GetWorldAnchors">
-            <summary>
-            Return all the World Anchors.
-            </summary>
-            <remarks>
-            Get all the World Anchors currently being stored in the world storage.
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <returns>List&lt;WorldAnchor&gt;</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.IWorldAnchorsApi.GetWorldAnchorsWithHttpInfo">
-            <summary>
-            Return all the World Anchors.
-            </summary>
-            <remarks>
-            Get all the World Anchors currently being stored in the world storage.
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <returns>ApiResponse of List&lt;WorldAnchor&gt;</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.IWorldAnchorsApi.ModifyWorldAnchor(Org.OpenAPITools.Model.WorldAnchor)">
-            <summary>
-            Modify a World Anchor.
-            </summary>
-            <remarks>
-            Modify an existing World Anchor given a json object containing all the required informations. &lt;br&gt; **Please note that ID of the object is required in the JSON**
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="worldAnchor">The World Anchor to be modified in the world storage.</param>
-            <returns>string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.IWorldAnchorsApi.ModifyWorldAnchorWithHttpInfo(Org.OpenAPITools.Model.WorldAnchor)">
-            <summary>
-            Modify a World Anchor.
-            </summary>
-            <remarks>
-            Modify an existing World Anchor given a json object containing all the required informations. &lt;br&gt; **Please note that ID of the object is required in the JSON**
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="worldAnchor">The World Anchor to be modified in the world storage.</param>
-            <returns>ApiResponse of string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.IWorldAnchorsApi.AddWorldAnchorAsync(Org.OpenAPITools.Model.WorldAnchor,System.Threading.CancellationToken)">
-            <summary>
-            Create a World Anchor.
-            </summary>
-            <remarks>
-            Create a new World Anchor from a json object containing all the required informations and add it to the world storage. &lt;br&gt;As a result you will get the ID of the newly created World Anchor.
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="worldAnchor">The World Anchor to be added to the world storage.</param>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.IWorldAnchorsApi.AddWorldAnchorWithHttpInfoAsync(Org.OpenAPITools.Model.WorldAnchor,System.Threading.CancellationToken)">
-            <summary>
-            Create a World Anchor.
-            </summary>
-            <remarks>
-            Create a new World Anchor from a json object containing all the required informations and add it to the world storage. &lt;br&gt;As a result you will get the ID of the newly created World Anchor.
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="worldAnchor">The World Anchor to be added to the world storage.</param>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of ApiResponse (string)</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.IWorldAnchorsApi.DeleteWorldAnchorAsync(System.Guid,System.Threading.CancellationToken)">
-            <summary>
-            Delete a World Anchor.
-            </summary>
-            <remarks>
-            Delete a single World Anchor stored in the world storage from its ID.
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="worldAnchorUUID">World Anchor UUID to delete.</param>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.IWorldAnchorsApi.DeleteWorldAnchorWithHttpInfoAsync(System.Guid,System.Threading.CancellationToken)">
-            <summary>
-            Delete a World Anchor.
-            </summary>
-            <remarks>
-            Delete a single World Anchor stored in the world storage from its ID.
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="worldAnchorUUID">World Anchor UUID to delete.</param>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of ApiResponse (string)</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.IWorldAnchorsApi.GetWorldAnchorByIdAsync(System.Guid,System.Threading.CancellationToken)">
-            <summary>
-            Find a World Anchor by its UUID.
-            </summary>
-            <remarks>
-            Get a single World Anchor stored in the world storage from its ID.
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="worldAnchorUUID">UUID of the World Anchor to retrieve.</param>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of WorldAnchor</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.IWorldAnchorsApi.GetWorldAnchorByIdWithHttpInfoAsync(System.Guid,System.Threading.CancellationToken)">
-            <summary>
-            Find a World Anchor by its UUID.
-            </summary>
-            <remarks>
-            Get a single World Anchor stored in the world storage from its ID.
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="worldAnchorUUID">UUID of the World Anchor to retrieve.</param>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of ApiResponse (WorldAnchor)</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.IWorldAnchorsApi.GetWorldAnchorsAsync(System.Threading.CancellationToken)">
-            <summary>
-            Return all the World Anchors.
-            </summary>
-            <remarks>
-            Get all the World Anchors currently being stored in the world storage.
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of List&lt;WorldAnchor&gt;</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.IWorldAnchorsApi.GetWorldAnchorsWithHttpInfoAsync(System.Threading.CancellationToken)">
-            <summary>
-            Return all the World Anchors.
-            </summary>
-            <remarks>
-            Get all the World Anchors currently being stored in the world storage.
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of ApiResponse (List&lt;WorldAnchor&gt;)</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.IWorldAnchorsApi.ModifyWorldAnchorAsync(Org.OpenAPITools.Model.WorldAnchor,System.Threading.CancellationToken)">
-            <summary>
-            Modify a World Anchor.
-            </summary>
-            <remarks>
-            Modify an existing World Anchor given a json object containing all the required informations. &lt;br&gt; **Please note that ID of the object is required in the JSON**
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="worldAnchor">The World Anchor to be modified in the world storage.</param>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.IWorldAnchorsApi.ModifyWorldAnchorWithHttpInfoAsync(Org.OpenAPITools.Model.WorldAnchor,System.Threading.CancellationToken)">
-            <summary>
-            Modify a World Anchor.
-            </summary>
-            <remarks>
-            Modify an existing World Anchor given a json object containing all the required informations. &lt;br&gt; **Please note that ID of the object is required in the JSON**
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="worldAnchor">The World Anchor to be modified in the world storage.</param>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of ApiResponse (string)</returns>
-        </member>
-        <member name="T:Org.OpenAPITools.Api.WorldAnchorsApi">
-            <summary>
-            Represents a collection of functions to interact with the API endpoints
-            </summary>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.WorldAnchorsApi.#ctor(System.String)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Org.OpenAPITools.Api.WorldAnchorsApi"/> class.
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.WorldAnchorsApi.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:Org.OpenAPITools.Api.WorldAnchorsApi"/> class
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.WorldAnchorsApi.#ctor(Org.OpenAPITools.Client.Configuration)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Org.OpenAPITools.Api.WorldAnchorsApi"/> class
-            using Configuration object
-            </summary>
-            <param name="configuration">An instance of Configuration</param>
-            <returns></returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.WorldAnchorsApi.GetBasePath">
-            <summary>
-            Gets the base path of the API client.
-            </summary>
-            <value>The base path</value>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.WorldAnchorsApi.SetBasePath(System.String)">
-            <summary>
-            Sets the base path of the API client.
-            </summary>
-            <value>The base path</value>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.WorldAnchorsApi.DefaultHeader">
-            <summary>
-            Gets the default header.
-            </summary>
-            <returns>Dictionary of HTTP header</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.WorldAnchorsApi.AddDefaultHeader(System.String,System.String)">
-            <summary>
-            Add default header.
-            </summary>
-            <param name="key">Header field name.</param>
-            <param name="value">Header field value.</param>
-            <returns></returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.WorldAnchorsApi.AddWorldAnchor(Org.OpenAPITools.Model.WorldAnchor)">
-            <summary>
-            Create a World Anchor. Create a new World Anchor from a json object containing all the required informations and add it to the world storage. &lt;br&gt;As a result you will get the ID of the newly created World Anchor.
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="worldAnchor">The World Anchor to be added to the world storage.</param>
-            <returns>string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.WorldAnchorsApi.AddWorldAnchorWithHttpInfo(Org.OpenAPITools.Model.WorldAnchor)">
-            <summary>
-            Create a World Anchor. Create a new World Anchor from a json object containing all the required informations and add it to the world storage. &lt;br&gt;As a result you will get the ID of the newly created World Anchor.
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="worldAnchor">The World Anchor to be added to the world storage.</param>
-            <returns>ApiResponse of string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.WorldAnchorsApi.AddWorldAnchorAsync(Org.OpenAPITools.Model.WorldAnchor,System.Threading.CancellationToken)">
-            <summary>
-            Create a World Anchor. Create a new World Anchor from a json object containing all the required informations and add it to the world storage. &lt;br&gt;As a result you will get the ID of the newly created World Anchor.
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="worldAnchor">The World Anchor to be added to the world storage.</param>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.WorldAnchorsApi.AddWorldAnchorWithHttpInfoAsync(Org.OpenAPITools.Model.WorldAnchor,System.Threading.CancellationToken)">
-            <summary>
-            Create a World Anchor. Create a new World Anchor from a json object containing all the required informations and add it to the world storage. &lt;br&gt;As a result you will get the ID of the newly created World Anchor.
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="worldAnchor">The World Anchor to be added to the world storage.</param>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of ApiResponse (string)</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.WorldAnchorsApi.DeleteWorldAnchor(System.Guid)">
-            <summary>
-            Delete a World Anchor. Delete a single World Anchor stored in the world storage from its ID.
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="worldAnchorUUID">World Anchor UUID to delete.</param>
-            <returns>string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.WorldAnchorsApi.DeleteWorldAnchorWithHttpInfo(System.Guid)">
-            <summary>
-            Delete a World Anchor. Delete a single World Anchor stored in the world storage from its ID.
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="worldAnchorUUID">World Anchor UUID to delete.</param>
-            <returns>ApiResponse of string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.WorldAnchorsApi.DeleteWorldAnchorAsync(System.Guid,System.Threading.CancellationToken)">
-            <summary>
-            Delete a World Anchor. Delete a single World Anchor stored in the world storage from its ID.
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="worldAnchorUUID">World Anchor UUID to delete.</param>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.WorldAnchorsApi.DeleteWorldAnchorWithHttpInfoAsync(System.Guid,System.Threading.CancellationToken)">
-            <summary>
-            Delete a World Anchor. Delete a single World Anchor stored in the world storage from its ID.
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="worldAnchorUUID">World Anchor UUID to delete.</param>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of ApiResponse (string)</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.WorldAnchorsApi.GetWorldAnchorById(System.Guid)">
-            <summary>
-            Find a World Anchor by its UUID. Get a single World Anchor stored in the world storage from its ID.
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="worldAnchorUUID">UUID of the World Anchor to retrieve.</param>
-            <returns>WorldAnchor</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.WorldAnchorsApi.GetWorldAnchorByIdWithHttpInfo(System.Guid)">
-            <summary>
-            Find a World Anchor by its UUID. Get a single World Anchor stored in the world storage from its ID.
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="worldAnchorUUID">UUID of the World Anchor to retrieve.</param>
-            <returns>ApiResponse of WorldAnchor</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.WorldAnchorsApi.GetWorldAnchorByIdAsync(System.Guid,System.Threading.CancellationToken)">
-            <summary>
-            Find a World Anchor by its UUID. Get a single World Anchor stored in the world storage from its ID.
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="worldAnchorUUID">UUID of the World Anchor to retrieve.</param>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of WorldAnchor</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.WorldAnchorsApi.GetWorldAnchorByIdWithHttpInfoAsync(System.Guid,System.Threading.CancellationToken)">
-            <summary>
-            Find a World Anchor by its UUID. Get a single World Anchor stored in the world storage from its ID.
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="worldAnchorUUID">UUID of the World Anchor to retrieve.</param>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of ApiResponse (WorldAnchor)</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.WorldAnchorsApi.GetWorldAnchors">
-            <summary>
-            Return all the World Anchors. Get all the World Anchors currently being stored in the world storage.
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <returns>List&lt;WorldAnchor&gt;</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.WorldAnchorsApi.GetWorldAnchorsWithHttpInfo">
-            <summary>
-            Return all the World Anchors. Get all the World Anchors currently being stored in the world storage.
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <returns>ApiResponse of List&lt;WorldAnchor&gt;</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.WorldAnchorsApi.GetWorldAnchorsAsync(System.Threading.CancellationToken)">
-            <summary>
-            Return all the World Anchors. Get all the World Anchors currently being stored in the world storage.
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of List&lt;WorldAnchor&gt;</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.WorldAnchorsApi.GetWorldAnchorsWithHttpInfoAsync(System.Threading.CancellationToken)">
-            <summary>
-            Return all the World Anchors. Get all the World Anchors currently being stored in the world storage.
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of ApiResponse (List&lt;WorldAnchor&gt;)</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.WorldAnchorsApi.ModifyWorldAnchor(Org.OpenAPITools.Model.WorldAnchor)">
-            <summary>
-            Modify a World Anchor. Modify an existing World Anchor given a json object containing all the required informations. &lt;br&gt; **Please note that ID of the object is required in the JSON**
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="worldAnchor">The World Anchor to be modified in the world storage.</param>
-            <returns>string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.WorldAnchorsApi.ModifyWorldAnchorWithHttpInfo(Org.OpenAPITools.Model.WorldAnchor)">
-            <summary>
-            Modify a World Anchor. Modify an existing World Anchor given a json object containing all the required informations. &lt;br&gt; **Please note that ID of the object is required in the JSON**
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="worldAnchor">The World Anchor to be modified in the world storage.</param>
-            <returns>ApiResponse of string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.WorldAnchorsApi.ModifyWorldAnchorAsync(Org.OpenAPITools.Model.WorldAnchor,System.Threading.CancellationToken)">
-            <summary>
-            Modify a World Anchor. Modify an existing World Anchor given a json object containing all the required informations. &lt;br&gt; **Please note that ID of the object is required in the JSON**
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="worldAnchor">The World Anchor to be modified in the world storage.</param>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.WorldAnchorsApi.ModifyWorldAnchorWithHttpInfoAsync(Org.OpenAPITools.Model.WorldAnchor,System.Threading.CancellationToken)">
-            <summary>
-            Modify a World Anchor. Modify an existing World Anchor given a json object containing all the required informations. &lt;br&gt; **Please note that ID of the object is required in the JSON**
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="worldAnchor">The World Anchor to be modified in the world storage.</param>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of ApiResponse (string)</returns>
-        </member>
-        <member name="P:Org.OpenAPITools.Api.WorldAnchorsApi.Configuration">
-            <summary>
-            Gets or sets the configuration object
-            </summary>
-            <value>An instance of the Configuration</value>
-        </member>
-        <member name="P:Org.OpenAPITools.Api.WorldAnchorsApi.ExceptionFactory">
-            <summary>
-            Provides a factory method hook for the creation of exceptions.
-            </summary>
-        </member>
-        <member name="T:Org.OpenAPITools.Api.IWorldLinksApi">
-            <summary>
-            Represents a collection of functions to interact with the API endpoints
-            </summary>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.IWorldLinksApi.AddWorldLink(Org.OpenAPITools.Model.WorldLink)">
-            <summary>
-            Create a World Link between elements (world anchors and/or trackables).
-            </summary>
-            <remarks>
-            Create a new World Link from a json object containing all the required informations and add it to the world storage. &lt;br&gt;As a result you will get the ID of the newly created World Link.
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="worldLink">The link to be added to the world storage.</param>
-            <returns>string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.IWorldLinksApi.AddWorldLinkWithHttpInfo(Org.OpenAPITools.Model.WorldLink)">
-            <summary>
-            Create a World Link between elements (world anchors and/or trackables).
-            </summary>
-            <remarks>
-            Create a new World Link from a json object containing all the required informations and add it to the world storage. &lt;br&gt;As a result you will get the ID of the newly created World Link.
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="worldLink">The link to be added to the world storage.</param>
-            <returns>ApiResponse of string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.IWorldLinksApi.DeleteWorldLink(System.Guid)">
-            <summary>
-            Delete a World Link.
-            </summary>
-            <remarks>
-            Delete a single World Link stored in the world storage from its ID.
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="worldLinkUUID">World Link id to delete.</param>
-            <returns>string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.IWorldLinksApi.DeleteWorldLinkWithHttpInfo(System.Guid)">
-            <summary>
-            Delete a World Link.
-            </summary>
-            <remarks>
-            Delete a single World Link stored in the world storage from its ID.
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="worldLinkUUID">World Link id to delete.</param>
-            <returns>ApiResponse of string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.IWorldLinksApi.GetWorldLinkById(System.Guid)">
-            <summary>
-            Find a World Link by its UUID.
-            </summary>
-            <remarks>
-            Get a single World Link stored in the world storage from its ID.
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="worldLinkUUID">UUID of the World Link to retrieve.</param>
-            <returns>WorldLink</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.IWorldLinksApi.GetWorldLinkByIdWithHttpInfo(System.Guid)">
-            <summary>
-            Find a World Link by its UUID.
-            </summary>
-            <remarks>
-            Get a single World Link stored in the world storage from its ID.
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="worldLinkUUID">UUID of the World Link to retrieve.</param>
-            <returns>ApiResponse of WorldLink</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.IWorldLinksApi.GetWorldLinks">
-            <summary>
-            Return all World Links.
-            </summary>
-            <remarks>
-            Get all the World Links currently being stored in the world storage.
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <returns>List&lt;WorldLink&gt;</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.IWorldLinksApi.GetWorldLinksWithHttpInfo">
-            <summary>
-            Return all World Links.
-            </summary>
-            <remarks>
-            Get all the World Links currently being stored in the world storage.
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <returns>ApiResponse of List&lt;WorldLink&gt;</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.IWorldLinksApi.ModifyWorldLink(Org.OpenAPITools.Model.WorldLink)">
-            <summary>
-            Modify a World Link.
-            </summary>
-            <remarks>
-            Modify an existing World Link given a json object containing all the required informations. &lt;br&gt; **Please note that ID of the object is required in the JSON**
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="worldLink">The World Link to be modified in the world storage.</param>
-            <returns>string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.IWorldLinksApi.ModifyWorldLinkWithHttpInfo(Org.OpenAPITools.Model.WorldLink)">
-            <summary>
-            Modify a World Link.
-            </summary>
-            <remarks>
-            Modify an existing World Link given a json object containing all the required informations. &lt;br&gt; **Please note that ID of the object is required in the JSON**
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="worldLink">The World Link to be modified in the world storage.</param>
-            <returns>ApiResponse of string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.IWorldLinksApi.AddWorldLinkAsync(Org.OpenAPITools.Model.WorldLink,System.Threading.CancellationToken)">
-            <summary>
-            Create a World Link between elements (world anchors and/or trackables).
-            </summary>
-            <remarks>
-            Create a new World Link from a json object containing all the required informations and add it to the world storage. &lt;br&gt;As a result you will get the ID of the newly created World Link.
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="worldLink">The link to be added to the world storage.</param>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.IWorldLinksApi.AddWorldLinkWithHttpInfoAsync(Org.OpenAPITools.Model.WorldLink,System.Threading.CancellationToken)">
-            <summary>
-            Create a World Link between elements (world anchors and/or trackables).
-            </summary>
-            <remarks>
-            Create a new World Link from a json object containing all the required informations and add it to the world storage. &lt;br&gt;As a result you will get the ID of the newly created World Link.
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="worldLink">The link to be added to the world storage.</param>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of ApiResponse (string)</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.IWorldLinksApi.DeleteWorldLinkAsync(System.Guid,System.Threading.CancellationToken)">
-            <summary>
-            Delete a World Link.
-            </summary>
-            <remarks>
-            Delete a single World Link stored in the world storage from its ID.
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="worldLinkUUID">World Link id to delete.</param>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.IWorldLinksApi.DeleteWorldLinkWithHttpInfoAsync(System.Guid,System.Threading.CancellationToken)">
-            <summary>
-            Delete a World Link.
-            </summary>
-            <remarks>
-            Delete a single World Link stored in the world storage from its ID.
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="worldLinkUUID">World Link id to delete.</param>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of ApiResponse (string)</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.IWorldLinksApi.GetWorldLinkByIdAsync(System.Guid,System.Threading.CancellationToken)">
-            <summary>
-            Find a World Link by its UUID.
-            </summary>
-            <remarks>
-            Get a single World Link stored in the world storage from its ID.
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="worldLinkUUID">UUID of the World Link to retrieve.</param>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of WorldLink</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.IWorldLinksApi.GetWorldLinkByIdWithHttpInfoAsync(System.Guid,System.Threading.CancellationToken)">
-            <summary>
-            Find a World Link by its UUID.
-            </summary>
-            <remarks>
-            Get a single World Link stored in the world storage from its ID.
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="worldLinkUUID">UUID of the World Link to retrieve.</param>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of ApiResponse (WorldLink)</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.IWorldLinksApi.GetWorldLinksAsync(System.Threading.CancellationToken)">
-            <summary>
-            Return all World Links.
-            </summary>
-            <remarks>
-            Get all the World Links currently being stored in the world storage.
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of List&lt;WorldLink&gt;</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.IWorldLinksApi.GetWorldLinksWithHttpInfoAsync(System.Threading.CancellationToken)">
-            <summary>
-            Return all World Links.
-            </summary>
-            <remarks>
-            Get all the World Links currently being stored in the world storage.
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of ApiResponse (List&lt;WorldLink&gt;)</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.IWorldLinksApi.ModifyWorldLinkAsync(Org.OpenAPITools.Model.WorldLink,System.Threading.CancellationToken)">
-            <summary>
-            Modify a World Link.
-            </summary>
-            <remarks>
-            Modify an existing World Link given a json object containing all the required informations. &lt;br&gt; **Please note that ID of the object is required in the JSON**
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="worldLink">The World Link to be modified in the world storage.</param>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.IWorldLinksApi.ModifyWorldLinkWithHttpInfoAsync(Org.OpenAPITools.Model.WorldLink,System.Threading.CancellationToken)">
-            <summary>
-            Modify a World Link.
-            </summary>
-            <remarks>
-            Modify an existing World Link given a json object containing all the required informations. &lt;br&gt; **Please note that ID of the object is required in the JSON**
-            </remarks>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="worldLink">The World Link to be modified in the world storage.</param>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of ApiResponse (string)</returns>
-        </member>
-        <member name="T:Org.OpenAPITools.Api.WorldLinksApi">
-            <summary>
-            Represents a collection of functions to interact with the API endpoints
-            </summary>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.WorldLinksApi.#ctor(System.String)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Org.OpenAPITools.Api.WorldLinksApi"/> class.
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.WorldLinksApi.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:Org.OpenAPITools.Api.WorldLinksApi"/> class
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.WorldLinksApi.#ctor(Org.OpenAPITools.Client.Configuration)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Org.OpenAPITools.Api.WorldLinksApi"/> class
-            using Configuration object
-            </summary>
-            <param name="configuration">An instance of Configuration</param>
-            <returns></returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.WorldLinksApi.GetBasePath">
-            <summary>
-            Gets the base path of the API client.
-            </summary>
-            <value>The base path</value>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.WorldLinksApi.SetBasePath(System.String)">
-            <summary>
-            Sets the base path of the API client.
-            </summary>
-            <value>The base path</value>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.WorldLinksApi.DefaultHeader">
-            <summary>
-            Gets the default header.
-            </summary>
-            <returns>Dictionary of HTTP header</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.WorldLinksApi.AddDefaultHeader(System.String,System.String)">
-            <summary>
-            Add default header.
-            </summary>
-            <param name="key">Header field name.</param>
-            <param name="value">Header field value.</param>
-            <returns></returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.WorldLinksApi.AddWorldLink(Org.OpenAPITools.Model.WorldLink)">
-            <summary>
-            Create a World Link between elements (world anchors and/or trackables). Create a new World Link from a json object containing all the required informations and add it to the world storage. &lt;br&gt;As a result you will get the ID of the newly created World Link.
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="worldLink">The link to be added to the world storage.</param>
-            <returns>string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.WorldLinksApi.AddWorldLinkWithHttpInfo(Org.OpenAPITools.Model.WorldLink)">
-            <summary>
-            Create a World Link between elements (world anchors and/or trackables). Create a new World Link from a json object containing all the required informations and add it to the world storage. &lt;br&gt;As a result you will get the ID of the newly created World Link.
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="worldLink">The link to be added to the world storage.</param>
-            <returns>ApiResponse of string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.WorldLinksApi.AddWorldLinkAsync(Org.OpenAPITools.Model.WorldLink,System.Threading.CancellationToken)">
-            <summary>
-            Create a World Link between elements (world anchors and/or trackables). Create a new World Link from a json object containing all the required informations and add it to the world storage. &lt;br&gt;As a result you will get the ID of the newly created World Link.
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="worldLink">The link to be added to the world storage.</param>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.WorldLinksApi.AddWorldLinkWithHttpInfoAsync(Org.OpenAPITools.Model.WorldLink,System.Threading.CancellationToken)">
-            <summary>
-            Create a World Link between elements (world anchors and/or trackables). Create a new World Link from a json object containing all the required informations and add it to the world storage. &lt;br&gt;As a result you will get the ID of the newly created World Link.
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="worldLink">The link to be added to the world storage.</param>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of ApiResponse (string)</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.WorldLinksApi.DeleteWorldLink(System.Guid)">
-            <summary>
-            Delete a World Link. Delete a single World Link stored in the world storage from its ID.
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="worldLinkUUID">World Link id to delete.</param>
-            <returns>string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.WorldLinksApi.DeleteWorldLinkWithHttpInfo(System.Guid)">
-            <summary>
-            Delete a World Link. Delete a single World Link stored in the world storage from its ID.
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="worldLinkUUID">World Link id to delete.</param>
-            <returns>ApiResponse of string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.WorldLinksApi.DeleteWorldLinkAsync(System.Guid,System.Threading.CancellationToken)">
-            <summary>
-            Delete a World Link. Delete a single World Link stored in the world storage from its ID.
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="worldLinkUUID">World Link id to delete.</param>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.WorldLinksApi.DeleteWorldLinkWithHttpInfoAsync(System.Guid,System.Threading.CancellationToken)">
-            <summary>
-            Delete a World Link. Delete a single World Link stored in the world storage from its ID.
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="worldLinkUUID">World Link id to delete.</param>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of ApiResponse (string)</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.WorldLinksApi.GetWorldLinkById(System.Guid)">
-            <summary>
-            Find a World Link by its UUID. Get a single World Link stored in the world storage from its ID.
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="worldLinkUUID">UUID of the World Link to retrieve.</param>
-            <returns>WorldLink</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.WorldLinksApi.GetWorldLinkByIdWithHttpInfo(System.Guid)">
-            <summary>
-            Find a World Link by its UUID. Get a single World Link stored in the world storage from its ID.
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="worldLinkUUID">UUID of the World Link to retrieve.</param>
-            <returns>ApiResponse of WorldLink</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.WorldLinksApi.GetWorldLinkByIdAsync(System.Guid,System.Threading.CancellationToken)">
-            <summary>
-            Find a World Link by its UUID. Get a single World Link stored in the world storage from its ID.
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="worldLinkUUID">UUID of the World Link to retrieve.</param>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of WorldLink</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.WorldLinksApi.GetWorldLinkByIdWithHttpInfoAsync(System.Guid,System.Threading.CancellationToken)">
-            <summary>
-            Find a World Link by its UUID. Get a single World Link stored in the world storage from its ID.
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="worldLinkUUID">UUID of the World Link to retrieve.</param>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of ApiResponse (WorldLink)</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.WorldLinksApi.GetWorldLinks">
-            <summary>
-            Return all World Links. Get all the World Links currently being stored in the world storage.
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <returns>List&lt;WorldLink&gt;</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.WorldLinksApi.GetWorldLinksWithHttpInfo">
-            <summary>
-            Return all World Links. Get all the World Links currently being stored in the world storage.
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <returns>ApiResponse of List&lt;WorldLink&gt;</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.WorldLinksApi.GetWorldLinksAsync(System.Threading.CancellationToken)">
-            <summary>
-            Return all World Links. Get all the World Links currently being stored in the world storage.
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of List&lt;WorldLink&gt;</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.WorldLinksApi.GetWorldLinksWithHttpInfoAsync(System.Threading.CancellationToken)">
-            <summary>
-            Return all World Links. Get all the World Links currently being stored in the world storage.
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of ApiResponse (List&lt;WorldLink&gt;)</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.WorldLinksApi.ModifyWorldLink(Org.OpenAPITools.Model.WorldLink)">
-            <summary>
-            Modify a World Link. Modify an existing World Link given a json object containing all the required informations. &lt;br&gt; **Please note that ID of the object is required in the JSON**
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="worldLink">The World Link to be modified in the world storage.</param>
-            <returns>string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.WorldLinksApi.ModifyWorldLinkWithHttpInfo(Org.OpenAPITools.Model.WorldLink)">
-            <summary>
-            Modify a World Link. Modify an existing World Link given a json object containing all the required informations. &lt;br&gt; **Please note that ID of the object is required in the JSON**
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="worldLink">The World Link to be modified in the world storage.</param>
-            <returns>ApiResponse of string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.WorldLinksApi.ModifyWorldLinkAsync(Org.OpenAPITools.Model.WorldLink,System.Threading.CancellationToken)">
-            <summary>
-            Modify a World Link. Modify an existing World Link given a json object containing all the required informations. &lt;br&gt; **Please note that ID of the object is required in the JSON**
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="worldLink">The World Link to be modified in the world storage.</param>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of string</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Api.WorldLinksApi.ModifyWorldLinkWithHttpInfoAsync(Org.OpenAPITools.Model.WorldLink,System.Threading.CancellationToken)">
-            <summary>
-            Modify a World Link. Modify an existing World Link given a json object containing all the required informations. &lt;br&gt; **Please note that ID of the object is required in the JSON**
-            </summary>
-            <exception cref="T:Org.OpenAPITools.Client.ApiException">Thrown when fails to make API call</exception>
-            <param name="worldLink">The World Link to be modified in the world storage.</param>
-            <param name="cancellationToken">Cancellation Token to cancel request (optional) </param>
-            <returns>Task of ApiResponse (string)</returns>
-        </member>
-        <member name="P:Org.OpenAPITools.Api.WorldLinksApi.Configuration">
-            <summary>
-            Gets or sets the configuration object
-            </summary>
-            <value>An instance of the Configuration</value>
-        </member>
-        <member name="P:Org.OpenAPITools.Api.WorldLinksApi.ExceptionFactory">
-            <summary>
-            Provides a factory method hook for the creation of exceptions.
-            </summary>
-        </member>
-        <member name="T:Org.OpenAPITools.Client.ApiClient">
-            <summary>
-            API client is mainly responsible for making the HTTP call to the API backend.
-            </summary>
-        </member>
-        <member name="M:Org.OpenAPITools.Client.ApiClient.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:Org.OpenAPITools.Client.ApiClient"/> class
-            with default configuration.
-            </summary>
-        </member>
-        <member name="M:Org.OpenAPITools.Client.ApiClient.#ctor(Org.OpenAPITools.Client.Configuration)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Org.OpenAPITools.Client.ApiClient"/> class
-            with default base path (http://localhost:8080).
-            </summary>
-            <param name="config">An instance of Configuration.</param>
-        </member>
-        <member name="M:Org.OpenAPITools.Client.ApiClient.#ctor(System.String)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Org.OpenAPITools.Client.ApiClient"/> class
-            with default configuration.
-            </summary>
-            <param name="basePath">The base path.</param>
-        </member>
-        <member name="F:Org.OpenAPITools.Client.ApiClient.Default">
-            <summary>
-            Gets or sets the default API client for making HTTP calls.
-            </summary>
-            <value>The default API client.</value>
-        </member>
-        <member name="M:Org.OpenAPITools.Client.ApiClient.CallApi(System.String,RestSharp.Method,System.Collections.Generic.List{System.Collections.Generic.KeyValuePair{System.String,System.String}},System.Object,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,RestSharp.FileParameter},System.Collections.Generic.Dictionary{System.String,System.String},System.String)">
-            <summary>
-            Makes the HTTP request (Sync).
-            </summary>
-            <param name="path">URL path.</param>
-            <param name="method">HTTP method.</param>
-            <param name="queryParams">Query parameters.</param>
-            <param name="postBody">HTTP body (POST request).</param>
-            <param name="headerParams">Header parameters.</param>
-            <param name="formParams">Form parameters.</param>
-            <param name="fileParams">File parameters.</param>
-            <param name="pathParams">Path parameters.</param>
-            <param name="contentType">Content Type of the request</param>
-            <returns>Object</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Client.ApiClient.CallApiAsync(System.String,RestSharp.Method,System.Collections.Generic.List{System.Collections.Generic.KeyValuePair{System.String,System.String}},System.Object,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,RestSharp.FileParameter},System.Collections.Generic.Dictionary{System.String,System.String},System.String,System.Threading.CancellationToken)">
-            <summary>
-            Makes the asynchronous HTTP request.
-            </summary>
-            <param name="path">URL path.</param>
-            <param name="method">HTTP method.</param>
-            <param name="queryParams">Query parameters.</param>
-            <param name="postBody">HTTP body (POST request).</param>
-            <param name="headerParams">Header parameters.</param>
-            <param name="formParams">Form parameters.</param>
-            <param name="fileParams">File parameters.</param>
-            <param name="pathParams">Path parameters.</param>
-            <param name="contentType">Content type.</param>
-            <param name="cancellationToken">Cancellation Token.</param>
-            <returns>The Task instance.</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Client.ApiClient.EscapeString(System.String)">
-            <summary>
-            Escape string (url-encoded).
-            </summary>
-            <param name="str">String to be escaped.</param>
-            <returns>Escaped string.</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Client.ApiClient.ParameterToFile(System.String,System.IO.Stream)">
-            <summary>
-            Create FileParameter based on Stream.
-            </summary>
-            <param name="name">Parameter name.</param>
-            <param name="stream">Input stream.</param>
-            <returns>FileParameter.</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Client.ApiClient.ParameterToString(System.Object)">
-            <summary>
-            If parameter is DateTime, output in a formatted string (default ISO 8601), customizable with Configuration.DateTime.
-            If parameter is a list, join the list with ",".
-            Otherwise just return the string.
-            </summary>
-            <param name="obj">The parameter (header, path, query, form).</param>
-            <returns>Formatted string.</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Client.ApiClient.Deserialize(RestSharp.IRestResponse,System.Type)">
-            <summary>
-            Deserialize the JSON string into a proper object.
-            </summary>
-            <param name="response">The HTTP response.</param>
-            <param name="type">Object type.</param>
-            <returns>Object representation of the JSON string.</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Client.ApiClient.Serialize(System.Object)">
-            <summary>
-            Serialize an input (model) into JSON string
-            </summary>
-            <param name="obj">Object.</param>
-            <returns>JSON string.</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Client.ApiClient.IsJsonMime(System.String)">
-             <summary>
-            Check if the given MIME is a JSON MIME.
-            JSON MIME examples:
-                application/json
-                application/json; charset=UTF8
-                APPLICATION/JSON
-                application/vnd.company+json
-             </summary>
-             <param name="mime">MIME</param>
-             <returns>Returns True if MIME type is json.</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Client.ApiClient.SelectHeaderContentType(System.String[])">
-            <summary>
-            Select the Content-Type header's value from the given content-type array:
-            if JSON type exists in the given array, use it;
-            otherwise use the first one defined in 'consumes'
-            </summary>
-            <param name="contentTypes">The Content-Type array to select from.</param>
-            <returns>The Content-Type header to use.</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Client.ApiClient.SelectHeaderAccept(System.String[])">
-            <summary>
-            Select the Accept header's value from the given accepts array:
-            if JSON exists in the given array, use it;
-            otherwise use all of them (joining into a string)
-            </summary>
-            <param name="accepts">The accepts array to select from.</param>
-            <returns>The Accept header to use.</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Client.ApiClient.Base64Encode(System.String)">
-            <summary>
-            Encode string in base64 format.
-            </summary>
-            <param name="text">String to be encoded.</param>
-            <returns>Encoded string.</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Client.ApiClient.ConvertType(System.Object,System.Type)">
-            <summary>
-            Dynamically cast the object into target type.
-            </summary>
-            <param name="fromObject">Object to be casted</param>
-            <param name="toObject">Target type</param>
-            <returns>Casted object</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Client.ApiClient.ReadAsBytes(System.IO.Stream)">
-            <summary>
-            Convert stream to byte array
-            </summary>
-            <param name="inputStream">Input stream to be converted</param>
-            <returns>Byte array</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Client.ApiClient.UrlEncode(System.String)">
-            <summary>
-            URL encode a string
-            Credit/Ref: https://github.com/restsharp/RestSharp/blob/master/RestSharp/Extensions/StringExtensions.cs#L50
-            </summary>
-            <param name="input">String to be URL encoded</param>
-            <returns>Byte array</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Client.ApiClient.SanitizeFilename(System.String)">
-            <summary>
-            Sanitize filename by removing the path
-            </summary>
-            <param name="filename">Filename</param>
-            <returns>Filename</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Client.ApiClient.ParameterToKeyValuePairs(System.String,System.String,System.Object)">
-            <summary>
-            Convert params to key/value pairs.
-            Use collectionFormat to properly format lists and collections.
-            </summary>
-            <param name="collectionFormat">Collection format.</param>
-            <param name="name">Key name.</param>
-            <param name="value">Value object.</param>
-            <returns>A list of KeyValuePairs</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Client.ApiClient.IsCollection(System.Object)">
-            <summary>
-            Check if generic object is a collection.
-            </summary>
-            <param name="value"></param>
-            <returns>True if object is a collection type</returns>
-        </member>
-        <member name="P:Org.OpenAPITools.Client.ApiClient.Configuration">
-            <summary>
-            Gets or sets an instance of the IReadableConfiguration.
-            </summary>
-            <value>An instance of the IReadableConfiguration.</value>
-            <remarks>
-            <see cref="T:Org.OpenAPITools.Client.IReadableConfiguration"/> helps us to avoid modifying possibly global
-            configuration values from within a given client. It does not guarantee thread-safety
-            of the <see cref="P:Org.OpenAPITools.Client.ApiClient.Configuration"/> instance in any way.
-            </remarks>
-        </member>
-        <member name="P:Org.OpenAPITools.Client.ApiClient.RestClient">
-            <summary>
-            Gets or sets the RestClient.
-            </summary>
-            <value>An instance of the RestClient</value>
-        </member>
-        <member name="T:Org.OpenAPITools.Client.ApiException">
-            <summary>
-            API Exception
-            </summary>
-        </member>
-        <member name="M:Org.OpenAPITools.Client.ApiException.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:Org.OpenAPITools.Client.ApiException"/> class.
-            </summary>
-        </member>
-        <member name="M:Org.OpenAPITools.Client.ApiException.#ctor(System.Int32,System.String)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Org.OpenAPITools.Client.ApiException"/> class.
-            </summary>
-            <param name="errorCode">HTTP status code.</param>
-            <param name="message">Error message.</param>
-        </member>
-        <member name="M:Org.OpenAPITools.Client.ApiException.#ctor(System.Int32,System.String,System.Object)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Org.OpenAPITools.Client.ApiException"/> class.
-            </summary>
-            <param name="errorCode">HTTP status code.</param>
-            <param name="message">Error message.</param>
-            <param name="errorContent">Error content.</param>
-        </member>
-        <member name="P:Org.OpenAPITools.Client.ApiException.ErrorCode">
-            <summary>
-            Gets or sets the error code (HTTP status code)
-            </summary>
-            <value>The error code (HTTP status code).</value>
-        </member>
-        <member name="P:Org.OpenAPITools.Client.ApiException.ErrorContent">
-            <summary>
-            Gets or sets the error content (body json object)
-            </summary>
-            <value>The error content (Http response body).</value>
-        </member>
-        <member name="T:Org.OpenAPITools.Client.ApiResponse`1">
-            <summary>
-            API Response
-            </summary>
-        </member>
-        <member name="M:Org.OpenAPITools.Client.ApiResponse`1.#ctor(System.Int32,System.Collections.Generic.IDictionary{System.String,System.String},`0)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Org.OpenAPITools.Client.ApiResponse`1"/> class.
-            </summary>
-            <param name="statusCode">HTTP status code.</param>
-            <param name="headers">HTTP headers.</param>
-            <param name="data">Data (parsed HTTP body)</param>
-        </member>
-        <member name="P:Org.OpenAPITools.Client.ApiResponse`1.StatusCode">
-            <summary>
-            Gets or sets the status code (HTTP status code)
-            </summary>
-            <value>The status code.</value>
-        </member>
-        <member name="P:Org.OpenAPITools.Client.ApiResponse`1.Headers">
-            <summary>
-            Gets or sets the HTTP headers
-            </summary>
-            <value>HTTP headers</value>
-        </member>
-        <member name="P:Org.OpenAPITools.Client.ApiResponse`1.Data">
-            <summary>
-            Gets or sets the data (parsed HTTP body)
-            </summary>
-            <value>The data.</value>
-        </member>
-        <member name="T:Org.OpenAPITools.Client.Configuration">
-            <summary>
-            Represents a set of configuration settings
-            </summary>
-        </member>
-        <member name="T:Org.OpenAPITools.Client.IReadableConfiguration">
-            <summary>
-            Represents a readable-only configuration contract.
-            </summary>
-        </member>
-        <member name="M:Org.OpenAPITools.Client.IReadableConfiguration.GetApiKeyWithPrefix(System.String)">
-            <summary>
-            Gets the API key with prefix.
-            </summary>
-            <param name="apiKeyIdentifier">API key identifier (authentication scheme).</param>
-            <returns>API key with prefix.</returns>
-        </member>
-        <member name="P:Org.OpenAPITools.Client.IReadableConfiguration.AccessToken">
-            <summary>
-            Gets the access token.
-            </summary>
-            <value>Access token.</value>
-        </member>
-        <member name="P:Org.OpenAPITools.Client.IReadableConfiguration.ApiKey">
-            <summary>
-            Gets the API key.
-            </summary>
-            <value>API key.</value>
-        </member>
-        <member name="P:Org.OpenAPITools.Client.IReadableConfiguration.ApiKeyPrefix">
-            <summary>
-            Gets the API key prefix.
-            </summary>
-            <value>API key prefix.</value>
-        </member>
-        <member name="P:Org.OpenAPITools.Client.IReadableConfiguration.BasePath">
-            <summary>
-            Gets the base path.
-            </summary>
-            <value>Base path.</value>
-        </member>
-        <member name="P:Org.OpenAPITools.Client.IReadableConfiguration.DateTimeFormat">
-            <summary>
-            Gets the date time format.
-            </summary>
-            <value>Date time format.</value>
-        </member>
-        <member name="P:Org.OpenAPITools.Client.IReadableConfiguration.DefaultHeader">
-            <summary>
-            Gets the default header.
-            </summary>
-            <value>Default header.</value>
-        </member>
-        <member name="P:Org.OpenAPITools.Client.IReadableConfiguration.TempFolderPath">
-            <summary>
-            Gets the temp folder path.
-            </summary>
-            <value>Temp folder path.</value>
-        </member>
-        <member name="P:Org.OpenAPITools.Client.IReadableConfiguration.Timeout">
-            <summary>
-            Gets the HTTP connection timeout (in milliseconds)
-            </summary>
-            <value>HTTP connection timeout.</value>
-        </member>
-        <member name="P:Org.OpenAPITools.Client.IReadableConfiguration.UserAgent">
-            <summary>
-            Gets the user agent.
-            </summary>
-            <value>User agent.</value>
-        </member>
-        <member name="P:Org.OpenAPITools.Client.IReadableConfiguration.Username">
-            <summary>
-            Gets the username.
-            </summary>
-            <value>Username.</value>
-        </member>
-        <member name="P:Org.OpenAPITools.Client.IReadableConfiguration.Password">
-            <summary>
-            Gets the password.
-            </summary>
-            <value>Password.</value>
-        </member>
-        <member name="F:Org.OpenAPITools.Client.Configuration.Version">
-            <summary>
-            Version of the package.
-            </summary>
-            <value>Version of the package.</value>
-        </member>
-        <member name="F:Org.OpenAPITools.Client.Configuration.ISO8601_DATETIME_FORMAT">
-            <summary>
-            Identifier for ISO 8601 DateTime Format
-            </summary>
-            <remarks>See https://msdn.microsoft.com/en-us/library/az4se3k1(v=vs.110).aspx#Anchor_8 for more information.</remarks>
-        </member>
-        <member name="F:Org.OpenAPITools.Client.Configuration.DefaultExceptionFactory">
-            <summary>
-            Default creation of exceptions for a given method name and response object
-            </summary>
-        </member>
-        <member name="F:Org.OpenAPITools.Client.Configuration._apiKey">
-            <summary>
-            Gets or sets the API key based on the authentication name.
-            </summary>
-            <value>The API key.</value>
-        </member>
-        <member name="F:Org.OpenAPITools.Client.Configuration._apiKeyPrefix">
-            <summary>
-            Gets or sets the prefix (e.g. Token) of the API key based on the authentication name.
-            </summary>
-            <value>The prefix of the API key.</value>
-        </member>
-        <member name="M:Org.OpenAPITools.Client.Configuration.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:Org.OpenAPITools.Client.Configuration"/> class
-            </summary>
-        </member>
-        <member name="M:Org.OpenAPITools.Client.Configuration.#ctor(System.Collections.Generic.IDictionary{System.String,System.String},System.Collections.Generic.IDictionary{System.String,System.String},System.Collections.Generic.IDictionary{System.String,System.String},System.String)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Org.OpenAPITools.Client.Configuration"/> class
-            </summary>
-        </member>
-        <member name="M:Org.OpenAPITools.Client.Configuration.#ctor(Org.OpenAPITools.Client.ApiClient,System.Collections.Generic.IDictionary{System.String,System.String},System.String,System.String,System.String,System.Collections.Generic.IDictionary{System.String,System.String},System.Collections.Generic.IDictionary{System.String,System.String},System.String,System.String,System.Int32,System.String)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Org.OpenAPITools.Client.Configuration"/> class with different settings
-            </summary>
-            <param name="apiClient">Api client</param>
-            <param name="defaultHeader">Dictionary of default HTTP header</param>
-            <param name="username">Username</param>
-            <param name="password">Password</param>
-            <param name="accessToken">accessToken</param>
-            <param name="apiKey">Dictionary of API key</param>
-            <param name="apiKeyPrefix">Dictionary of API key prefix</param>
-            <param name="tempFolderPath">Temp folder path</param>
-            <param name="dateTimeFormat">DateTime format string</param>
-            <param name="timeout">HTTP connection timeout (in milliseconds)</param>
-            <param name="userAgent">HTTP user agent</param>
-        </member>
-        <member name="M:Org.OpenAPITools.Client.Configuration.#ctor(Org.OpenAPITools.Client.ApiClient)">
-            <summary>
-            Initializes a new instance of the Configuration class.
-            </summary>
-            <param name="apiClient">Api client.</param>
-        </member>
-        <member name="M:Org.OpenAPITools.Client.Configuration.GetApiKeyWithPrefix(System.String)">
-            <summary>
-            Gets the API key with prefix.
-            </summary>
-            <param name="apiKeyIdentifier">API key identifier (authentication scheme).</param>
-            <returns>API key with prefix.</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Client.Configuration.AddDefaultHeader(System.String,System.String)">
-            <summary>
-            Add default header.
-            </summary>
-            <param name="key">Header field name.</param>
-            <param name="value">Header field value.</param>
-            <returns></returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Client.Configuration.CreateApiClient">
-            <summary>
-            Creates a new <see cref="P:Org.OpenAPITools.Client.Configuration.ApiClient"/> based on this <see cref="T:Org.OpenAPITools.Client.Configuration"/> instance.
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Client.Configuration.ToDebugReport">
-            <summary>
-            Returns a string with essential information for debugging.
-            </summary>
-        </member>
-        <member name="M:Org.OpenAPITools.Client.Configuration.AddApiKey(System.String,System.String)">
-            <summary>
-            Add Api Key Header.
-            </summary>
-            <param name="key">Api Key name.</param>
-            <param name="value">Api Key value.</param>
-            <returns></returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Client.Configuration.AddApiKeyPrefix(System.String,System.String)">
-            <summary>
-            Sets the API key prefix.
-            </summary>
-            <param name="key">Api Key name.</param>
-            <param name="value">Api Key value.</param>
-        </member>
-        <member name="P:Org.OpenAPITools.Client.Configuration.Default">
-            <summary>
-            Gets or sets the default Configuration.
-            </summary>
-            <value>Configuration.</value>
-        </member>
-        <member name="P:Org.OpenAPITools.Client.Configuration.ApiClient">
-            <summary>
-            Gets an instance of an ApiClient for this configuration
-            </summary>
-        </member>
-        <member name="P:Org.OpenAPITools.Client.Configuration.BasePath">
-            <summary>
-            Gets or sets the base path for API access.
-            </summary>
-        </member>
-        <member name="P:Org.OpenAPITools.Client.Configuration.DefaultHeader">
-            <summary>
-            Gets or sets the default header.
-            </summary>
-        </member>
-        <member name="P:Org.OpenAPITools.Client.Configuration.Timeout">
-            <summary>
-            Gets or sets the HTTP timeout (milliseconds) of ApiClient. Default to 100000 milliseconds.
-            </summary>
-        </member>
-        <member name="P:Org.OpenAPITools.Client.Configuration.UserAgent">
-            <summary>
-            Gets or sets the HTTP user agent.
-            </summary>
-            <value>Http user agent.</value>
-        </member>
-        <member name="P:Org.OpenAPITools.Client.Configuration.Username">
-            <summary>
-            Gets or sets the username (HTTP basic authentication).
-            </summary>
-            <value>The username.</value>
-        </member>
-        <member name="P:Org.OpenAPITools.Client.Configuration.Password">
-            <summary>
-            Gets or sets the password (HTTP basic authentication).
-            </summary>
-            <value>The password.</value>
-        </member>
-        <member name="P:Org.OpenAPITools.Client.Configuration.AccessToken">
-            <summary>
-            Gets or sets the access token for OAuth2 authentication.
-            </summary>
-            <value>The access token.</value>
-        </member>
-        <member name="P:Org.OpenAPITools.Client.Configuration.TempFolderPath">
-            <summary>
-            Gets or sets the temporary folder path to store the files downloaded from the server.
-            </summary>
-            <value>Folder path.</value>
-        </member>
-        <member name="P:Org.OpenAPITools.Client.Configuration.DateTimeFormat">
-            <summary>
-            Gets or sets the date time format used when serializing in the ApiClient
-            By default, it's set to ISO 8601 - "o", for others see:
-            https://msdn.microsoft.com/en-us/library/az4se3k1(v=vs.110).aspx
-            and https://msdn.microsoft.com/en-us/library/8kb3ddd4(v=vs.110).aspx
-            No validation is done to ensure that the string you're providing is valid
-            </summary>
-            <value>The DateTimeFormat string</value>
-        </member>
-        <member name="P:Org.OpenAPITools.Client.Configuration.ApiKeyPrefix">
-            <summary>
-            Gets or sets the prefix (e.g. Token) of the API key based on the authentication name.
-            </summary>
-            <value>The prefix of the API key.</value>
-        </member>
-        <member name="P:Org.OpenAPITools.Client.Configuration.ApiKey">
-            <summary>
-            Gets or sets the API key based on the authentication name.
-            </summary>
-            <value>The API key.</value>
-        </member>
-        <member name="T:Org.OpenAPITools.Client.ExceptionFactory">
-            <summary>
-            A delegate to ExceptionFactory method
-            </summary>
-            <param name="methodName">Method name</param>
-            <param name="response">Response</param>
-            <returns>Exceptions</returns>
-        </member>
-        <member name="T:Org.OpenAPITools.Client.GlobalConfiguration">
-            <summary>
-            <see cref="T:Org.OpenAPITools.Client.GlobalConfiguration"/> provides a compile-time extension point for globally configuring
-            API Clients.
-            </summary>
-            <remarks>
-            A customized implementation via partial class may reside in another file and may
-            be excluded from automatic generation via a .openapi-generator-ignore file.
-            </remarks>
-        </member>
-        <member name="T:Org.OpenAPITools.Client.OpenAPIDateConverter">
-            <summary>
-            Formatter for 'date' openapi formats ss defined by full-date - RFC3339
-            see https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.0.md#data-types
-            </summary>
-        </member>
-        <member name="M:Org.OpenAPITools.Client.OpenAPIDateConverter.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:Org.OpenAPITools.Client.OpenAPIDateConverter"/> class.
-            </summary>
-        </member>
-        <member name="T:Org.OpenAPITools.Model.AttachedObjects">
-            <summary>
-            AttachedObjects
-            </summary>
-        </member>
-        <member name="M:Org.OpenAPITools.Model.AttachedObjects.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:Org.OpenAPITools.Model.AttachedObjects"/> class.
-            </summary>
-        </member>
-        <member name="M:Org.OpenAPITools.Model.AttachedObjects.#ctor(System.Guid,System.Guid,System.Guid,Org.OpenAPITools.Model.ObjectType,Org.OpenAPITools.Model.ObjectType)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Org.OpenAPITools.Model.AttachedObjects"/> class.
-            </summary>
-            <param name="uUID">A Universally Unique IDentifier identifying the link. (required).</param>
-            <param name="uUIDFrom">A Universally Unique IDentifier identifying a world anchor or trackable. (required).</param>
-            <param name="uUIDTo">A Universally Unique IDentifier identifying a world anchor or trackable. (required).</param>
-            <param name="typeFrom">typeFrom (required).</param>
-            <param name="typeTo">typeTo (required).</param>
-        </member>
-        <member name="M:Org.OpenAPITools.Model.AttachedObjects.ToString">
-            <summary>
-            Returns the string presentation of the object
-            </summary>
-            <returns>String presentation of the object</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Model.AttachedObjects.ToJson">
-            <summary>
-            Returns the JSON string presentation of the object
-            </summary>
-            <returns>JSON string presentation of the object</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Model.AttachedObjects.Equals(System.Object)">
-            <summary>
-            Returns true if objects are equal
-            </summary>
-            <param name="input">Object to be compared</param>
-            <returns>Boolean</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Model.AttachedObjects.Equals(Org.OpenAPITools.Model.AttachedObjects)">
-            <summary>
-            Returns true if AttachedObjects instances are equal
-            </summary>
-            <param name="input">Instance of AttachedObjects to be compared</param>
-            <returns>Boolean</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Model.AttachedObjects.GetHashCode">
-            <summary>
-            Gets the hash code
-            </summary>
-            <returns>Hash code</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Model.AttachedObjects.System#ComponentModel#DataAnnotations#IValidatableObject#Validate(System.ComponentModel.DataAnnotations.ValidationContext)">
-            <summary>
-            To validate all properties of the instance
-            </summary>
-            <param name="validationContext">Validation context</param>
-            <returns>Validation Result</returns>
-        </member>
-        <member name="P:Org.OpenAPITools.Model.AttachedObjects.TypeFrom">
-            <summary>
-            Gets or Sets TypeFrom
-            </summary>
-        </member>
-        <member name="P:Org.OpenAPITools.Model.AttachedObjects.TypeTo">
-            <summary>
-            Gets or Sets TypeTo
-            </summary>
-        </member>
-        <member name="P:Org.OpenAPITools.Model.AttachedObjects.UUID">
-            <summary>
-            A Universally Unique IDentifier identifying the link.
-            </summary>
-            <value>A Universally Unique IDentifier identifying the link.</value>
-        </member>
-        <member name="P:Org.OpenAPITools.Model.AttachedObjects.UUIDFrom">
-            <summary>
-            A Universally Unique IDentifier identifying a world anchor or trackable.
-            </summary>
-            <value>A Universally Unique IDentifier identifying a world anchor or trackable.</value>
-        </member>
-        <member name="P:Org.OpenAPITools.Model.AttachedObjects.UUIDTo">
-            <summary>
-            A Universally Unique IDentifier identifying a world anchor or trackable.
-            </summary>
-            <value>A Universally Unique IDentifier identifying a world anchor or trackable.</value>
-        </member>
-        <member name="T:Org.OpenAPITools.Model.EncodingInformationStructure">
-            <summary>
-            An object holding the info of a Trackable&#x60;&#39;&#x60;s encoding informations &#x60;:&#x60; the data format and the version.
-            </summary>
-        </member>
-        <member name="M:Org.OpenAPITools.Model.EncodingInformationStructure.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:Org.OpenAPITools.Model.EncodingInformationStructure"/> class.
-            </summary>
-        </member>
-        <member name="M:Org.OpenAPITools.Model.EncodingInformationStructure.#ctor(Org.OpenAPITools.Model.EncodingInformationStructure.DataFormatEnum,System.String)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Org.OpenAPITools.Model.EncodingInformationStructure"/> class.
-            </summary>
-            <param name="dataFormat">Identifier of the target framework. (required).</param>
-            <param name="version">The version of the format (required).</param>
-        </member>
-        <member name="M:Org.OpenAPITools.Model.EncodingInformationStructure.ToString">
-            <summary>
-            Returns the string presentation of the object
-            </summary>
-            <returns>String presentation of the object</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Model.EncodingInformationStructure.ToJson">
-            <summary>
-            Returns the JSON string presentation of the object
-            </summary>
-            <returns>JSON string presentation of the object</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Model.EncodingInformationStructure.Equals(System.Object)">
-            <summary>
-            Returns true if objects are equal
-            </summary>
-            <param name="input">Object to be compared</param>
-            <returns>Boolean</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Model.EncodingInformationStructure.Equals(Org.OpenAPITools.Model.EncodingInformationStructure)">
-            <summary>
-            Returns true if EncodingInformationStructure instances are equal
-            </summary>
-            <param name="input">Instance of EncodingInformationStructure to be compared</param>
-            <returns>Boolean</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Model.EncodingInformationStructure.GetHashCode">
-            <summary>
-            Gets the hash code
-            </summary>
-            <returns>Hash code</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Model.EncodingInformationStructure.System#ComponentModel#DataAnnotations#IValidatableObject#Validate(System.ComponentModel.DataAnnotations.ValidationContext)">
-            <summary>
-            To validate all properties of the instance
-            </summary>
-            <param name="validationContext">Validation context</param>
-            <returns>Validation Result</returns>
-        </member>
-        <member name="P:Org.OpenAPITools.Model.EncodingInformationStructure.DataFormat">
-            <summary>
-            Identifier of the target framework.
-            </summary>
-            <value>Identifier of the target framework.</value>
-        </member>
-        <member name="P:Org.OpenAPITools.Model.EncodingInformationStructure._Version">
-            <summary>
-            The version of the format
-            </summary>
-            <value>The version of the format</value>
-        </member>
-        <member name="T:Org.OpenAPITools.Model.EncodingInformationStructure.DataFormatEnum">
-            <summary>
-            Identifier of the target framework.
-            </summary>
-            <value>Identifier of the target framework.</value>
-        </member>
-        <member name="F:Org.OpenAPITools.Model.EncodingInformationStructure.DataFormatEnum.HOLOLENS">
-            <summary>
-            Enum HOLOLENS for value: HOLOLENS
-            </summary>
-        </member>
-        <member name="F:Org.OpenAPITools.Model.EncodingInformationStructure.DataFormatEnum.ARKIT">
-            <summary>
-            Enum ARKIT for value: ARKIT
-            </summary>
-        </member>
-        <member name="F:Org.OpenAPITools.Model.EncodingInformationStructure.DataFormatEnum.ARCORE">
-            <summary>
-            Enum ARCORE for value: ARCORE
-            </summary>
-        </member>
-        <member name="F:Org.OpenAPITools.Model.EncodingInformationStructure.DataFormatEnum.VUFORIA">
-            <summary>
-            Enum VUFORIA for value: VUFORIA
-            </summary>
-        </member>
-        <member name="F:Org.OpenAPITools.Model.EncodingInformationStructure.DataFormatEnum.ARUCO">
-            <summary>
-            Enum ARUCO for value: ARUCO
-            </summary>
-        </member>
-        <member name="F:Org.OpenAPITools.Model.EncodingInformationStructure.DataFormatEnum.OTHER">
-            <summary>
-            Enum OTHER for value: OTHER
-            </summary>
-        </member>
-        <member name="T:Org.OpenAPITools.Model.Error">
-            <summary>
-            Error
-            </summary>
-        </member>
-        <member name="M:Org.OpenAPITools.Model.Error.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:Org.OpenAPITools.Model.Error"/> class.
-            </summary>
-        </member>
-        <member name="M:Org.OpenAPITools.Model.Error.#ctor(System.Int32,System.String)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Org.OpenAPITools.Model.Error"/> class.
-            </summary>
-            <param name="code">code (required).</param>
-            <param name="message">message (required).</param>
-        </member>
-        <member name="M:Org.OpenAPITools.Model.Error.ToString">
-            <summary>
-            Returns the string presentation of the object
-            </summary>
-            <returns>String presentation of the object</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Model.Error.ToJson">
-            <summary>
-            Returns the JSON string presentation of the object
-            </summary>
-            <returns>JSON string presentation of the object</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Model.Error.Equals(System.Object)">
-            <summary>
-            Returns true if objects are equal
-            </summary>
-            <param name="input">Object to be compared</param>
-            <returns>Boolean</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Model.Error.Equals(Org.OpenAPITools.Model.Error)">
-            <summary>
-            Returns true if Error instances are equal
-            </summary>
-            <param name="input">Instance of Error to be compared</param>
-            <returns>Boolean</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Model.Error.GetHashCode">
-            <summary>
-            Gets the hash code
-            </summary>
-            <returns>Hash code</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Model.Error.System#ComponentModel#DataAnnotations#IValidatableObject#Validate(System.ComponentModel.DataAnnotations.ValidationContext)">
-            <summary>
-            To validate all properties of the instance
-            </summary>
-            <param name="validationContext">Validation context</param>
-            <returns>Validation Result</returns>
-        </member>
-        <member name="P:Org.OpenAPITools.Model.Error.Code">
-            <summary>
-            Gets or Sets Code
-            </summary>
-        </member>
-        <member name="P:Org.OpenAPITools.Model.Error.Message">
-            <summary>
-            Gets or Sets Message
-            </summary>
-        </member>
-        <member name="T:Org.OpenAPITools.Model.ObjectType">
-            <summary>
-            Type of a world representaion object.
-            </summary>
-            <value>Type of a world representaion object.</value>
-        </member>
-        <member name="F:Org.OpenAPITools.Model.ObjectType.Trackable">
-            <summary>
-            Enum Trackable for value: Trackable
-            </summary>
-        </member>
-        <member name="F:Org.OpenAPITools.Model.ObjectType.WorldAnchor">
-            <summary>
-            Enum WorldAnchor for value: WorldAnchor
-            </summary>
-        </member>
-        <member name="F:Org.OpenAPITools.Model.ObjectType.NotIdentified">
-            <summary>
-            Enum NotIdentified for value: NotIdentified
-            </summary>
-        </member>
-        <member name="T:Org.OpenAPITools.Model.Trackable">
-            <summary>
-            An element representing a Trackable object in the real world.
-            </summary>
-        </member>
-        <member name="M:Org.OpenAPITools.Model.Trackable.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:Org.OpenAPITools.Model.Trackable"/> class.
-            </summary>
-        </member>
-        <member name="M:Org.OpenAPITools.Model.Trackable.#ctor(System.Guid,System.String,System.Guid,Org.OpenAPITools.Model.Trackable.TrackableTypeEnum,Org.OpenAPITools.Model.EncodingInformationStructure,System.Byte[],System.Collections.Generic.List{System.Single},Org.OpenAPITools.Model.UnitSystem,System.Collections.Generic.List{System.Double},System.Collections.Generic.Dictionary{System.String,System.Collections.Generic.List{System.String}})">
-            <summary>
-            Initializes a new instance of the <see cref="T:Org.OpenAPITools.Model.Trackable"/> class.
-            </summary>
-            <param name="uUID">An Universally Unique IDentifier identifying the Trackable (RFC 4122)..</param>
-            <param name="name">A human readable name for the Trackable. (required).</param>
-            <param name="creatorUUID">An Universally Unique IDentifier identifying the creator of the Trackable (a person, a team or a company). (required).</param>
-            <param name="trackableType">Extensible list of Trackable types, possibly handled by complient world storage implementation. (required).</param>
-            <param name="trackableEncodingInformation">trackableEncodingInformation (required).</param>
-            <param name="trackablePayload">The data provided to create the Trackable in a specific format handled by the world storage service. (required).</param>
-            <param name="localCRS">Coordinate reference system of the world anchor, a 4*4 matrix (rowmajor) represented by a float vector. (required).</param>
-            <param name="unit">unit (required).</param>
-            <param name="trackableSize">Size object in format {width, length, depth}. (required).</param>
-            <param name="keyvalueTags">List of additional parameters to be stored with the object. (required).</param>
-        </member>
-        <member name="M:Org.OpenAPITools.Model.Trackable.ToString">
-            <summary>
-            Returns the string presentation of the object
-            </summary>
-            <returns>String presentation of the object</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Model.Trackable.ToJson">
-            <summary>
-            Returns the JSON string presentation of the object
-            </summary>
-            <returns>JSON string presentation of the object</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Model.Trackable.Equals(System.Object)">
-            <summary>
-            Returns true if objects are equal
-            </summary>
-            <param name="input">Object to be compared</param>
-            <returns>Boolean</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Model.Trackable.Equals(Org.OpenAPITools.Model.Trackable)">
-            <summary>
-            Returns true if Trackable instances are equal
-            </summary>
-            <param name="input">Instance of Trackable to be compared</param>
-            <returns>Boolean</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Model.Trackable.GetHashCode">
-            <summary>
-            Gets the hash code
-            </summary>
-            <returns>Hash code</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Model.Trackable.System#ComponentModel#DataAnnotations#IValidatableObject#Validate(System.ComponentModel.DataAnnotations.ValidationContext)">
-            <summary>
-            To validate all properties of the instance
-            </summary>
-            <param name="validationContext">Validation context</param>
-            <returns>Validation Result</returns>
-        </member>
-        <member name="P:Org.OpenAPITools.Model.Trackable.TrackableType">
-            <summary>
-            Extensible list of Trackable types, possibly handled by complient world storage implementation.
-            </summary>
-            <value>Extensible list of Trackable types, possibly handled by complient world storage implementation.</value>
-        </member>
-        <member name="P:Org.OpenAPITools.Model.Trackable.Unit">
-            <summary>
-            Gets or Sets Unit
-            </summary>
-        </member>
-        <member name="P:Org.OpenAPITools.Model.Trackable.UUID">
-            <summary>
-            An Universally Unique IDentifier identifying the Trackable (RFC 4122).
-            </summary>
-            <value>An Universally Unique IDentifier identifying the Trackable (RFC 4122).</value>
-        </member>
-        <member name="P:Org.OpenAPITools.Model.Trackable.Name">
-            <summary>
-            A human readable name for the Trackable.
-            </summary>
-            <value>A human readable name for the Trackable.</value>
-        </member>
-        <member name="P:Org.OpenAPITools.Model.Trackable.CreatorUUID">
-            <summary>
-            An Universally Unique IDentifier identifying the creator of the Trackable (a person, a team or a company).
-            </summary>
-            <value>An Universally Unique IDentifier identifying the creator of the Trackable (a person, a team or a company).</value>
-        </member>
-        <member name="P:Org.OpenAPITools.Model.Trackable.TrackableEncodingInformation">
-            <summary>
-            Gets or Sets TrackableEncodingInformation
-            </summary>
-        </member>
-        <member name="P:Org.OpenAPITools.Model.Trackable.TrackablePayload">
-            <summary>
-            The data provided to create the Trackable in a specific format handled by the world storage service.
-            </summary>
-            <value>The data provided to create the Trackable in a specific format handled by the world storage service.</value>
-        </member>
-        <member name="P:Org.OpenAPITools.Model.Trackable.LocalCRS">
-            <summary>
-            Coordinate reference system of the world anchor, a 4*4 matrix (rowmajor) represented by a float vector.
-            </summary>
-            <value>Coordinate reference system of the world anchor, a 4*4 matrix (rowmajor) represented by a float vector.</value>
-        </member>
-        <member name="P:Org.OpenAPITools.Model.Trackable.TrackableSize">
-            <summary>
-            Size object in format {width, length, depth}.
-            </summary>
-            <value>Size object in format {width, length, depth}.</value>
-        </member>
-        <member name="P:Org.OpenAPITools.Model.Trackable.KeyvalueTags">
-            <summary>
-            List of additional parameters to be stored with the object.
-            </summary>
-            <value>List of additional parameters to be stored with the object.</value>
-        </member>
-        <member name="T:Org.OpenAPITools.Model.Trackable.TrackableTypeEnum">
-            <summary>
-            Extensible list of Trackable types, possibly handled by complient world storage implementation.
-            </summary>
-            <value>Extensible list of Trackable types, possibly handled by complient world storage implementation.</value>
-        </member>
-        <member name="F:Org.OpenAPITools.Model.Trackable.TrackableTypeEnum.FIDUCIALMARKER">
-            <summary>
-            Enum FIDUCIALMARKER for value: FIDUCIAL_MARKER
-            </summary>
-        </member>
-        <member name="F:Org.OpenAPITools.Model.Trackable.TrackableTypeEnum.IMAGEMARKER">
-            <summary>
-            Enum IMAGEMARKER for value: IMAGE_MARKER
-            </summary>
-        </member>
-        <member name="F:Org.OpenAPITools.Model.Trackable.TrackableTypeEnum.MAP">
-            <summary>
-            Enum MAP for value: MAP
-            </summary>
-        </member>
-        <member name="F:Org.OpenAPITools.Model.Trackable.TrackableTypeEnum.GEOPOSE">
-            <summary>
-            Enum GEOPOSE for value: GEOPOSE
-            </summary>
-        </member>
-        <member name="F:Org.OpenAPITools.Model.Trackable.TrackableTypeEnum.OTHER">
-            <summary>
-            Enum OTHER for value: OTHER
-            </summary>
-        </member>
-        <member name="T:Org.OpenAPITools.Model.UnitSystem">
-            <summary>
-            Unit of length.
-            </summary>
-            <value>Unit of length.</value>
-        </member>
-        <member name="F:Org.OpenAPITools.Model.UnitSystem.MM">
-            <summary>
-            Enum MM for value: MM
-            </summary>
-        </member>
-        <member name="F:Org.OpenAPITools.Model.UnitSystem.CM">
-            <summary>
-            Enum CM for value: CM
-            </summary>
-        </member>
-        <member name="F:Org.OpenAPITools.Model.UnitSystem.DM">
-            <summary>
-            Enum DM for value: DM
-            </summary>
-        </member>
-        <member name="F:Org.OpenAPITools.Model.UnitSystem.M">
-            <summary>
-            Enum M for value: M
-            </summary>
-        </member>
-        <member name="F:Org.OpenAPITools.Model.UnitSystem.DAM">
-            <summary>
-            Enum DAM for value: DAM
-            </summary>
-        </member>
-        <member name="F:Org.OpenAPITools.Model.UnitSystem.HM">
-            <summary>
-            Enum HM for value: HM
-            </summary>
-        </member>
-        <member name="F:Org.OpenAPITools.Model.UnitSystem.KM">
-            <summary>
-            Enum KM for value: KM
-            </summary>
-        </member>
-        <member name="F:Org.OpenAPITools.Model.UnitSystem.INCH">
-            <summary>
-            Enum INCH for value: INCH
-            </summary>
-        </member>
-        <member name="F:Org.OpenAPITools.Model.UnitSystem.FOOT">
-            <summary>
-            Enum FOOT for value: FOOT
-            </summary>
-        </member>
-        <member name="F:Org.OpenAPITools.Model.UnitSystem.YARD">
-            <summary>
-            Enum YARD for value: YARD
-            </summary>
-        </member>
-        <member name="F:Org.OpenAPITools.Model.UnitSystem.MILE">
-            <summary>
-            Enum MILE for value: MILE
-            </summary>
-        </member>
-        <member name="T:Org.OpenAPITools.Model.WorldAnchor">
-            <summary>
-            An element describing a pose in the world graph.
-            </summary>
-        </member>
-        <member name="M:Org.OpenAPITools.Model.WorldAnchor.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:Org.OpenAPITools.Model.WorldAnchor"/> class.
-            </summary>
-        </member>
-        <member name="M:Org.OpenAPITools.Model.WorldAnchor.#ctor(System.Guid,System.String,System.Guid,System.Collections.Generic.List{System.Single},Org.OpenAPITools.Model.UnitSystem,System.Collections.Generic.List{System.Double},System.Collections.Generic.Dictionary{System.String,System.Collections.Generic.List{System.String}})">
-            <summary>
-            Initializes a new instance of the <see cref="T:Org.OpenAPITools.Model.WorldAnchor"/> class.
-            </summary>
-            <param name="uUID">An Universally Unique IDentifier identifying the World Anchor (RFC 4122)..</param>
-            <param name="name">A human readable name for the World Anchor. (required).</param>
-            <param name="creatorUUID">An Universally Unique IDentifier identifying the creator of the World Anchor. (required).</param>
-            <param name="localCRS">Coordinate reference system of the world anchor, a 4*4 matrix (rowmajor) represented by a float vector. (required).</param>
-            <param name="unit">unit (required).</param>
-            <param name="worldAnchorSize">Size object in format {width, length, depth}. (required).</param>
-            <param name="keyvalueTags">List of additional parameters to be stored with the object. (required).</param>
-        </member>
-        <member name="M:Org.OpenAPITools.Model.WorldAnchor.ToString">
-            <summary>
-            Returns the string presentation of the object
-            </summary>
-            <returns>String presentation of the object</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Model.WorldAnchor.ToJson">
-            <summary>
-            Returns the JSON string presentation of the object
-            </summary>
-            <returns>JSON string presentation of the object</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Model.WorldAnchor.Equals(System.Object)">
-            <summary>
-            Returns true if objects are equal
-            </summary>
-            <param name="input">Object to be compared</param>
-            <returns>Boolean</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Model.WorldAnchor.Equals(Org.OpenAPITools.Model.WorldAnchor)">
-            <summary>
-            Returns true if WorldAnchor instances are equal
-            </summary>
-            <param name="input">Instance of WorldAnchor to be compared</param>
-            <returns>Boolean</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Model.WorldAnchor.GetHashCode">
-            <summary>
-            Gets the hash code
-            </summary>
-            <returns>Hash code</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Model.WorldAnchor.System#ComponentModel#DataAnnotations#IValidatableObject#Validate(System.ComponentModel.DataAnnotations.ValidationContext)">
-            <summary>
-            To validate all properties of the instance
-            </summary>
-            <param name="validationContext">Validation context</param>
-            <returns>Validation Result</returns>
-        </member>
-        <member name="P:Org.OpenAPITools.Model.WorldAnchor.Unit">
-            <summary>
-            Gets or Sets Unit
-            </summary>
-        </member>
-        <member name="P:Org.OpenAPITools.Model.WorldAnchor.UUID">
-            <summary>
-            An Universally Unique IDentifier identifying the World Anchor (RFC 4122).
-            </summary>
-            <value>An Universally Unique IDentifier identifying the World Anchor (RFC 4122).</value>
-        </member>
-        <member name="P:Org.OpenAPITools.Model.WorldAnchor.Name">
-            <summary>
-            A human readable name for the World Anchor.
-            </summary>
-            <value>A human readable name for the World Anchor.</value>
-        </member>
-        <member name="P:Org.OpenAPITools.Model.WorldAnchor.CreatorUUID">
-            <summary>
-            An Universally Unique IDentifier identifying the creator of the World Anchor.
-            </summary>
-            <value>An Universally Unique IDentifier identifying the creator of the World Anchor.</value>
-        </member>
-        <member name="P:Org.OpenAPITools.Model.WorldAnchor.LocalCRS">
-            <summary>
-            Coordinate reference system of the world anchor, a 4*4 matrix (rowmajor) represented by a float vector.
-            </summary>
-            <value>Coordinate reference system of the world anchor, a 4*4 matrix (rowmajor) represented by a float vector.</value>
-        </member>
-        <member name="P:Org.OpenAPITools.Model.WorldAnchor.WorldAnchorSize">
-            <summary>
-            Size object in format {width, length, depth}.
-            </summary>
-            <value>Size object in format {width, length, depth}.</value>
-        </member>
-        <member name="P:Org.OpenAPITools.Model.WorldAnchor.KeyvalueTags">
-            <summary>
-            List of additional parameters to be stored with the object.
-            </summary>
-            <value>List of additional parameters to be stored with the object.</value>
-        </member>
-        <member name="T:Org.OpenAPITools.Model.WorldLink">
-            <summary>
-            An object holding the info of a transform between two elements.
-            </summary>
-        </member>
-        <member name="M:Org.OpenAPITools.Model.WorldLink.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:Org.OpenAPITools.Model.WorldLink"/> class.
-            </summary>
-        </member>
-        <member name="M:Org.OpenAPITools.Model.WorldLink.#ctor(System.Guid,System.Guid,System.Guid,System.Guid,Org.OpenAPITools.Model.ObjectType,Org.OpenAPITools.Model.ObjectType,System.Collections.Generic.List{System.Single},Org.OpenAPITools.Model.UnitSystem,System.Collections.Generic.Dictionary{System.String,System.Collections.Generic.List{System.String}})">
-            <summary>
-            Initializes a new instance of the <see cref="T:Org.OpenAPITools.Model.WorldLink"/> class.
-            </summary>
-            <param name="uUID">An Universally Unique IDentifier identifying the World Link (RFC 4122)..</param>
-            <param name="creatorUUID">An Universally Unique IDentifier identifying the creator of the World Link. (required).</param>
-            <param name="uUIDFrom">An Universally Unique IDentifier identifying a World Anchor or Trackable. (required).</param>
-            <param name="uUIDTo">An Universally Unique IDentifier identifying a World Anchor or Trackable. (required).</param>
-            <param name="typeFrom">typeFrom (required).</param>
-            <param name="typeTo">typeTo (required).</param>
-            <param name="transform">Coordinate reference system of the world anchor, a 4*4 matrix (rowmajor) represented by a float vector. (required).</param>
-            <param name="unit">unit (required).</param>
-            <param name="keyvalueTags">List of additional parameters to be stored with the object. (required).</param>
-        </member>
-        <member name="M:Org.OpenAPITools.Model.WorldLink.ToString">
-            <summary>
-            Returns the string presentation of the object
-            </summary>
-            <returns>String presentation of the object</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Model.WorldLink.ToJson">
-            <summary>
-            Returns the JSON string presentation of the object
-            </summary>
-            <returns>JSON string presentation of the object</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Model.WorldLink.Equals(System.Object)">
-            <summary>
-            Returns true if objects are equal
-            </summary>
-            <param name="input">Object to be compared</param>
-            <returns>Boolean</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Model.WorldLink.Equals(Org.OpenAPITools.Model.WorldLink)">
-            <summary>
-            Returns true if WorldLink instances are equal
-            </summary>
-            <param name="input">Instance of WorldLink to be compared</param>
-            <returns>Boolean</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Model.WorldLink.GetHashCode">
-            <summary>
-            Gets the hash code
-            </summary>
-            <returns>Hash code</returns>
-        </member>
-        <member name="M:Org.OpenAPITools.Model.WorldLink.System#ComponentModel#DataAnnotations#IValidatableObject#Validate(System.ComponentModel.DataAnnotations.ValidationContext)">
-            <summary>
-            To validate all properties of the instance
-            </summary>
-            <param name="validationContext">Validation context</param>
-            <returns>Validation Result</returns>
-        </member>
-        <member name="P:Org.OpenAPITools.Model.WorldLink.TypeFrom">
-            <summary>
-            Gets or Sets TypeFrom
-            </summary>
-        </member>
-        <member name="P:Org.OpenAPITools.Model.WorldLink.TypeTo">
-            <summary>
-            Gets or Sets TypeTo
-            </summary>
-        </member>
-        <member name="P:Org.OpenAPITools.Model.WorldLink.Unit">
-            <summary>
-            Gets or Sets Unit
-            </summary>
-        </member>
-        <member name="P:Org.OpenAPITools.Model.WorldLink.UUID">
-            <summary>
-            An Universally Unique IDentifier identifying the World Link (RFC 4122).
-            </summary>
-            <value>An Universally Unique IDentifier identifying the World Link (RFC 4122).</value>
-        </member>
-        <member name="P:Org.OpenAPITools.Model.WorldLink.CreatorUUID">
-            <summary>
-            An Universally Unique IDentifier identifying the creator of the World Link.
-            </summary>
-            <value>An Universally Unique IDentifier identifying the creator of the World Link.</value>
-        </member>
-        <member name="P:Org.OpenAPITools.Model.WorldLink.UUIDFrom">
-            <summary>
-            An Universally Unique IDentifier identifying a World Anchor or Trackable.
-            </summary>
-            <value>An Universally Unique IDentifier identifying a World Anchor or Trackable.</value>
-        </member>
-        <member name="P:Org.OpenAPITools.Model.WorldLink.UUIDTo">
-            <summary>
-            An Universally Unique IDentifier identifying a World Anchor or Trackable.
-            </summary>
-            <value>An Universally Unique IDentifier identifying a World Anchor or Trackable.</value>
-        </member>
-        <member name="P:Org.OpenAPITools.Model.WorldLink.Transform">
-            <summary>
-            Coordinate reference system of the world anchor, a 4*4 matrix (rowmajor) represented by a float vector.
-            </summary>
-            <value>Coordinate reference system of the world anchor, a 4*4 matrix (rowmajor) represented by a float vector.</value>
-        </member>
-        <member name="P:Org.OpenAPITools.Model.WorldLink.KeyvalueTags">
-            <summary>
-            List of additional parameters to be stored with the object.
-            </summary>
-            <value>List of additional parameters to be stored with the object.</value>
-        </member>
-    </members>
-</doc>
diff --git a/Assets/Plugins/RestSharp.dll b/Assets/Plugins/RestSharp.dll
deleted file mode 100644
index 59d82f94198e053a62d648c27671eaf45fff0dad..0000000000000000000000000000000000000000
Binary files a/Assets/Plugins/RestSharp.dll and /dev/null differ
diff --git a/Assets/Plugins/RestSharp.dll.meta b/Assets/Plugins/RestSharp.dll.meta
deleted file mode 100644
index ad5dfc89734ed152983843bbf0c302b96b3a9f5d..0000000000000000000000000000000000000000
--- a/Assets/Plugins/RestSharp.dll.meta
+++ /dev/null
@@ -1,33 +0,0 @@
-fileFormatVersion: 2
-guid: 434491b56b23fa2449fb310cafa1ddef
-PluginImporter:
-  externalObjects: {}
-  serializedVersion: 2
-  iconMap: {}
-  executionOrder: {}
-  defineConstraints: []
-  isPreloaded: 0
-  isOverridable: 0
-  isExplicitlyReferenced: 0
-  validateReferences: 1
-  platformData:
-  - first:
-      Any: 
-    second:
-      enabled: 1
-      settings: {}
-  - first:
-      Editor: Editor
-    second:
-      enabled: 0
-      settings:
-        DefaultValueInitialized: true
-  - first:
-      Windows Store Apps: WindowsStoreApps
-    second:
-      enabled: 0
-      settings:
-        CPU: AnyCPU
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Assets/Runtime/REST/AdminRequest.cs b/Assets/Runtime/REST/AdminRequest.cs
deleted file mode 100644
index 9cfdb2d369d661b8bb331afa73e49f8bf6fdb3b7..0000000000000000000000000000000000000000
--- a/Assets/Runtime/REST/AdminRequest.cs
+++ /dev/null
@@ -1,61 +0,0 @@
-//
-// ARF - Augmented Reality Framework (ETSI ISG ARF)
-//
-// Copyright 2022 ETSI
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-// Last change: June 2022
-//
-
-#define USING_OPENAPI_GENERATOR // alt. is Swagger
-
-using UnityEngine;
-
-#if USING_OPENAPI_GENERATOR
-using Org.OpenAPITools.Api;
-#else
-using IO.Swagger.Api;
-using IO.Swagger.Model;
-#endif
-
-//#if UNITY_EDITOR
-namespace ETSI.ARF.WorldStorage.REST
-{
-    public class AdminRequest
-    {
-        static public string GetAdminInfo(WorldStorageServer ws)
-        {
-            DefaultApi api = new DefaultApi(ws.URI);
-            string state = api.GetAdmin();
-            Debug.Log("Server State: " + state);
-            return state;
-        }
-
-        static public string GetVersion(WorldStorageServer ws)
-        {
-            DefaultApi api = new DefaultApi(ws.URI);
-            string vers = api.GetVersion();
-            Debug.Log("Using API Version: " + vers);
-            return vers;
-        }
-
-        static public string Ping(WorldStorageServer ws)
-        {
-            DefaultApi api = new DefaultApi(ws.URI);
-            api.GetPing();
-            return "IsAlive";
-        }
-    }
-}
-//#endif
\ No newline at end of file
diff --git a/Assets/Runtime/REST/TrackableRequest.cs b/Assets/Runtime/REST/TrackableRequest.cs
deleted file mode 100644
index f55b4b1f956e4802b619d9b80e6770b2d33c1e0c..0000000000000000000000000000000000000000
--- a/Assets/Runtime/REST/TrackableRequest.cs
+++ /dev/null
@@ -1,80 +0,0 @@
-//
-// ARF - Augmented Reality Framework (ETSI ISG ARF)
-//
-// Copyright 2022 ETSI
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-// Last change: June 2022
-//
-
-#define USING_OPENAPI_GENERATOR // alt. is Swagger
-
-using System.Collections.Generic;
-using UnityEngine;
-
-#if USING_OPENAPI_GENERATOR
-using Org.OpenAPITools.Api;
-using Org.OpenAPITools.Model;
-#else
-using IO.Swagger.Api;
-using IO.Swagger.Model;
-#endif
-
-//#if UNITY_EDITOR
-namespace ETSI.ARF.WorldStorage.REST
-{
-    public class TrackableRequest
-    {
-        static public string AddTrackable(WorldStorageServer ws, Trackable trackable)
-        {
-            Debug.Log("Posting Add Trackable to Server");
-            TrackablesApi api = new TrackablesApi(ws.URI);
-            string result = api.AddTrackable(trackable);
-            Debug.Log(result);
-            return result;
-        }
-
-        static public string UpdateTrackable(WorldStorageServer ws, Trackable trackable)
-        {
-            Debug.Log("Posting Add Trackable to Server");
-            TrackablesApi api = new TrackablesApi(ws.URI);
-            string result = api.ModifyTrackable(trackable);
-            Debug.Log(result);
-            return result;
-        }
-
-        static public List<Trackable> GetAllTrackables(WorldStorageServer ws)
-        {
-            TrackablesApi api = new TrackablesApi(ws.URI);
-            List<Trackable> result = api.GetTrackables();
-            return result;
-        }
-
-        static public Trackable GetTrackable(WorldStorageServer ws, string uuid)
-        {
-            System.Guid _uuid = System.Guid.Parse(uuid);
-            TrackablesApi api = new TrackablesApi(ws.URI);
-            Trackable result = api.GetTrackableById(_uuid);
-            return result;
-        }
-
-        static public void DeleteTrackable(WorldStorageServer ws, string uuid)
-        {
-            System.Guid _uuid = System.Guid.Parse(uuid);
-            TrackablesApi api = new TrackablesApi(ws.URI);
-            api.DeleteTrackable(_uuid);
-        }
-    }
-}
-//#endif
\ No newline at end of file
diff --git a/Assets/Runtime/REST/WorldAnchorRequest.cs b/Assets/Runtime/REST/WorldAnchorRequest.cs
deleted file mode 100644
index 82faff86c4050acc9d47db461054f18c0c59c940..0000000000000000000000000000000000000000
--- a/Assets/Runtime/REST/WorldAnchorRequest.cs
+++ /dev/null
@@ -1,80 +0,0 @@
-//
-// ARF - Augmented Reality Framework (ETSI ISG ARF)
-//
-// Copyright 2022 ETSI
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-// Last change: June 2022
-//
-
-#define USING_OPENAPI_GENERATOR // alt. is Swagger
-
-using System.Collections.Generic;
-using UnityEngine;
-
-#if USING_OPENAPI_GENERATOR
-using Org.OpenAPITools.Api;
-using Org.OpenAPITools.Model;
-#else
-using IO.Swagger.Api;
-using IO.Swagger.Model;
-#endif
-
-//#if UNITY_EDITOR
-namespace ETSI.ARF.WorldStorage.REST
-{
-    public class WorldAnchorRequest
-    {
-        static public string AddWorldAnchor(WorldStorageServer ws, WorldAnchor anchor)
-        {
-            Debug.Log("Posting Add World Anchor to Server");
-            WorldAnchorsApi api = new WorldAnchorsApi(ws.URI);
-            string result = api.AddWorldAnchor(anchor);
-            Debug.Log(result);
-            return result;
-        }
-
-        static public string UpdateWorldAnchor(WorldStorageServer ws, WorldAnchor anchor)
-        {
-            Debug.Log("Posting Add World Anchor to Server");
-            WorldAnchorsApi api = new WorldAnchorsApi(ws.URI);
-            string result = api.ModifyWorldAnchor(anchor);
-            Debug.Log(result);
-            return result;
-        }
-
-        static public List<WorldAnchor> GetAllWorldAnchors(WorldStorageServer ws)
-        {
-            WorldAnchorsApi api = new WorldAnchorsApi(ws.URI);
-            List<WorldAnchor> result = api.GetWorldAnchors();
-            return result;
-        }
-
-        static public WorldAnchor GetWorldAnchor(WorldStorageServer ws, string uuid)
-        {
-            System.Guid _uuid = System.Guid.Parse(uuid);
-            WorldAnchorsApi api = new WorldAnchorsApi(ws.URI);
-            WorldAnchor result = api.GetWorldAnchorById(_uuid);
-            return result;
-        }
-
-        static public void DeleteWorldAnchor(WorldStorageServer ws, string uuid)
-        {
-            System.Guid _uuid = System.Guid.Parse(uuid);
-            WorldAnchorsApi api = new WorldAnchorsApi(ws.URI);
-            api.DeleteWorldAnchor(_uuid);
-        }
-    }
-}
-//#endif
\ No newline at end of file
diff --git a/Assets/Runtime/REST/WorldLinkRequest.cs b/Assets/Runtime/REST/WorldLinkRequest.cs
deleted file mode 100644
index bb2790773bef68f9c1f5079acc3c710098acacf6..0000000000000000000000000000000000000000
--- a/Assets/Runtime/REST/WorldLinkRequest.cs
+++ /dev/null
@@ -1,80 +0,0 @@
-//
-// ARF - Augmented Reality Framework (ETSI ISG ARF)
-//
-// Copyright 2022 ETSI
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-// Last change: June 2022
-//
-
-#define USING_OPENAPI_GENERATOR // alt. is Swagger
-
-using System.Collections.Generic;
-using UnityEngine;
-
-#if USING_OPENAPI_GENERATOR
-using Org.OpenAPITools.Api;
-using Org.OpenAPITools.Model;
-#else
-using IO.Swagger.Api;
-using IO.Swagger.Model;
-#endif
-
-//#if UNITY_EDITOR
-namespace ETSI.ARF.WorldStorage.REST
-{
-    public class WorldLinkRequest
-    {
-        static public string AddWorldLink(WorldStorageServer ws, WorldLink link)
-        {
-            Debug.Log("Posting Add Trackable to Server");
-            WorldLinksApi api = new WorldLinksApi(ws.URI);
-            string result = api.AddWorldLink(link);
-            Debug.Log(result);
-            return result;
-        }
-
-        static public string UpdateWorldLink(WorldStorageServer ws, WorldLink link)
-        {
-            Debug.Log("Posting Add Trackable to Server");
-            WorldLinksApi api = new WorldLinksApi(ws.URI);
-            string result = api.ModifyWorldLink(link);
-            Debug.Log(result);
-            return result;
-        }
-
-        static public List<WorldLink> GetAllWorldLinks(WorldStorageServer ws)
-        {
-            WorldLinksApi api = new WorldLinksApi(ws.URI);
-            List<WorldLink> result = api.GetWorldLinks();
-            return result;
-        }
-
-        static public WorldLink GetWorldLink(WorldStorageServer ws, string uuid)
-        {
-            System.Guid _uuid = System.Guid.Parse(uuid);
-            WorldLinksApi api = new WorldLinksApi(ws.URI);
-            WorldLink result = api.GetWorldLinkById(_uuid);
-            return result;
-        }
-
-        static public void DeleteWorldLink(WorldStorageServer ws, string uuid)
-        {
-            System.Guid _uuid = System.Guid.Parse(uuid);
-            WorldLinksApi api = new WorldLinksApi(ws.URI);
-            api.DeleteWorldLink(_uuid);
-        }
-    }
-}
-//#endif
\ No newline at end of file
diff --git a/Assets/Scenes/test.unity b/Assets/Scenes/test.unity
deleted file mode 100644
index 0515cd0a4c409c2173781a9f7f50ebb86b14cfae..0000000000000000000000000000000000000000
--- a/Assets/Scenes/test.unity
+++ /dev/null
@@ -1,303 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!29 &1
-OcclusionCullingSettings:
-  m_ObjectHideFlags: 0
-  serializedVersion: 2
-  m_OcclusionBakeSettings:
-    smallestOccluder: 5
-    smallestHole: 0.25
-    backfaceThreshold: 100
-  m_SceneGUID: 00000000000000000000000000000000
-  m_OcclusionCullingData: {fileID: 0}
---- !u!104 &2
-RenderSettings:
-  m_ObjectHideFlags: 0
-  serializedVersion: 9
-  m_Fog: 0
-  m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
-  m_FogMode: 3
-  m_FogDensity: 0.01
-  m_LinearFogStart: 0
-  m_LinearFogEnd: 300
-  m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
-  m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
-  m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
-  m_AmbientIntensity: 1
-  m_AmbientMode: 0
-  m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
-  m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
-  m_HaloStrength: 0.5
-  m_FlareStrength: 1
-  m_FlareFadeSpeed: 3
-  m_HaloTexture: {fileID: 0}
-  m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
-  m_DefaultReflectionMode: 0
-  m_DefaultReflectionResolution: 128
-  m_ReflectionBounces: 1
-  m_ReflectionIntensity: 1
-  m_CustomReflection: {fileID: 0}
-  m_Sun: {fileID: 0}
-  m_IndirectSpecularColor: {r: 0.44657844, g: 0.49641222, b: 0.57481694, a: 1}
-  m_UseRadianceAmbientProbe: 0
---- !u!157 &3
-LightmapSettings:
-  m_ObjectHideFlags: 0
-  serializedVersion: 12
-  m_GIWorkflowMode: 1
-  m_GISettings:
-    serializedVersion: 2
-    m_BounceScale: 1
-    m_IndirectOutputScale: 1
-    m_AlbedoBoost: 1
-    m_EnvironmentLightingMode: 0
-    m_EnableBakedLightmaps: 1
-    m_EnableRealtimeLightmaps: 0
-  m_LightmapEditorSettings:
-    serializedVersion: 12
-    m_Resolution: 2
-    m_BakeResolution: 40
-    m_AtlasSize: 1024
-    m_AO: 0
-    m_AOMaxDistance: 1
-    m_CompAOExponent: 1
-    m_CompAOExponentDirect: 0
-    m_ExtractAmbientOcclusion: 0
-    m_Padding: 2
-    m_LightmapParameters: {fileID: 0}
-    m_LightmapsBakeMode: 1
-    m_TextureCompression: 1
-    m_FinalGather: 0
-    m_FinalGatherFiltering: 1
-    m_FinalGatherRayCount: 256
-    m_ReflectionCompression: 2
-    m_MixedBakeMode: 2
-    m_BakeBackend: 1
-    m_PVRSampling: 1
-    m_PVRDirectSampleCount: 32
-    m_PVRSampleCount: 512
-    m_PVRBounces: 2
-    m_PVREnvironmentSampleCount: 256
-    m_PVREnvironmentReferencePointCount: 2048
-    m_PVRFilteringMode: 1
-    m_PVRDenoiserTypeDirect: 1
-    m_PVRDenoiserTypeIndirect: 1
-    m_PVRDenoiserTypeAO: 1
-    m_PVRFilterTypeDirect: 0
-    m_PVRFilterTypeIndirect: 0
-    m_PVRFilterTypeAO: 0
-    m_PVREnvironmentMIS: 1
-    m_PVRCulling: 1
-    m_PVRFilteringGaussRadiusDirect: 1
-    m_PVRFilteringGaussRadiusIndirect: 5
-    m_PVRFilteringGaussRadiusAO: 2
-    m_PVRFilteringAtrousPositionSigmaDirect: 0.5
-    m_PVRFilteringAtrousPositionSigmaIndirect: 2
-    m_PVRFilteringAtrousPositionSigmaAO: 1
-    m_ExportTrainingData: 0
-    m_TrainingDataDestination: TrainingData
-    m_LightProbeSampleCountMultiplier: 4
-  m_LightingDataAsset: {fileID: 0}
-  m_LightingSettings: {fileID: 0}
---- !u!196 &4
-NavMeshSettings:
-  serializedVersion: 2
-  m_ObjectHideFlags: 0
-  m_BuildSettings:
-    serializedVersion: 2
-    agentTypeID: 0
-    agentRadius: 0.5
-    agentHeight: 2
-    agentSlope: 45
-    agentClimb: 0.4
-    ledgeDropHeight: 0
-    maxJumpAcrossDistance: 0
-    minRegionArea: 2
-    manualCellSize: 0
-    cellSize: 0.16666667
-    manualTileSize: 0
-    tileSize: 256
-    accuratePlacement: 0
-    maxJobWorkers: 0
-    preserveTilesOutsideBounds: 0
-    debug:
-      m_Flags: 0
-  m_NavMeshData: {fileID: 0}
---- !u!1 &1900725046
-GameObject:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  serializedVersion: 6
-  m_Component:
-  - component: {fileID: 1900725049}
-  - component: {fileID: 1900725048}
-  - component: {fileID: 1900725047}
-  m_Layer: 0
-  m_Name: Main Camera
-  m_TagString: MainCamera
-  m_Icon: {fileID: 0}
-  m_NavMeshLayer: 0
-  m_StaticEditorFlags: 0
-  m_IsActive: 1
---- !u!81 &1900725047
-AudioListener:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 1900725046}
-  m_Enabled: 1
---- !u!20 &1900725048
-Camera:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 1900725046}
-  m_Enabled: 1
-  serializedVersion: 2
-  m_ClearFlags: 1
-  m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
-  m_projectionMatrixMode: 1
-  m_GateFitMode: 2
-  m_FOVAxisMode: 0
-  m_SensorSize: {x: 36, y: 24}
-  m_LensShift: {x: 0, y: 0}
-  m_FocalLength: 50
-  m_NormalizedViewPortRect:
-    serializedVersion: 2
-    x: 0
-    y: 0
-    width: 1
-    height: 1
-  near clip plane: 0.3
-  far clip plane: 1000
-  field of view: 60
-  orthographic: 0
-  orthographic size: 5
-  m_Depth: -1
-  m_CullingMask:
-    serializedVersion: 2
-    m_Bits: 4294967295
-  m_RenderingPath: -1
-  m_TargetTexture: {fileID: 0}
-  m_TargetDisplay: 0
-  m_TargetEye: 3
-  m_HDR: 1
-  m_AllowMSAA: 1
-  m_AllowDynamicResolution: 0
-  m_ForceIntoRT: 0
-  m_OcclusionCulling: 1
-  m_StereoConvergence: 10
-  m_StereoSeparation: 0.022
---- !u!4 &1900725049
-Transform:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 1900725046}
-  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
-  m_LocalPosition: {x: 0, y: 1, z: -10}
-  m_LocalScale: {x: 1, y: 1, z: 1}
-  m_ConstrainProportionsScale: 0
-  m_Children: []
-  m_Father: {fileID: 0}
-  m_RootOrder: 0
-  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!1 &1900725526
-GameObject:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  serializedVersion: 6
-  m_Component:
-  - component: {fileID: 1900725528}
-  - component: {fileID: 1900725527}
-  m_Layer: 0
-  m_Name: Directional Light
-  m_TagString: Untagged
-  m_Icon: {fileID: 0}
-  m_NavMeshLayer: 0
-  m_StaticEditorFlags: 0
-  m_IsActive: 1
---- !u!108 &1900725527
-Light:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 1900725526}
-  m_Enabled: 1
-  serializedVersion: 10
-  m_Type: 1
-  m_Shape: 0
-  m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
-  m_Intensity: 1
-  m_Range: 10
-  m_SpotAngle: 30
-  m_InnerSpotAngle: 21.80208
-  m_CookieSize: 10
-  m_Shadows:
-    m_Type: 2
-    m_Resolution: -1
-    m_CustomResolution: -1
-    m_Strength: 1
-    m_Bias: 0.05
-    m_NormalBias: 0.4
-    m_NearPlane: 0.2
-    m_CullingMatrixOverride:
-      e00: 1
-      e01: 0
-      e02: 0
-      e03: 0
-      e10: 0
-      e11: 1
-      e12: 0
-      e13: 0
-      e20: 0
-      e21: 0
-      e22: 1
-      e23: 0
-      e30: 0
-      e31: 0
-      e32: 0
-      e33: 1
-    m_UseCullingMatrixOverride: 0
-  m_Cookie: {fileID: 0}
-  m_DrawHalo: 0
-  m_Flare: {fileID: 0}
-  m_RenderMode: 0
-  m_CullingMask:
-    serializedVersion: 2
-    m_Bits: 4294967295
-  m_RenderingLayerMask: 1
-  m_Lightmapping: 4
-  m_LightShadowCasterMode: 0
-  m_AreaSize: {x: 1, y: 1}
-  m_BounceIntensity: 1
-  m_ColorTemperature: 6570
-  m_UseColorTemperature: 0
-  m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
-  m_UseBoundingSphereOverride: 0
-  m_UseViewFrustumForShadowCasterCull: 1
-  m_ShadowRadius: 0
-  m_ShadowAngle: 0
---- !u!4 &1900725528
-Transform:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 1900725526}
-  m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
-  m_LocalPosition: {x: 0, y: 3, z: 0}
-  m_LocalScale: {x: 1, y: 1, z: 1}
-  m_ConstrainProportionsScale: 0
-  m_Children: []
-  m_Father: {fileID: 0}
-  m_RootOrder: 1
-  m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
diff --git a/Assets/Editor.meta b/Editor.meta
similarity index 77%
rename from Assets/Editor.meta
rename to Editor.meta
index d7d338a23de205579ff8b149d4bcbb548a421d37..938ce2d5f5b483cef1128dace5e6347fef6258b9 100644
--- a/Assets/Editor.meta
+++ b/Editor.meta
@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 653e904517771514ab9628529a0317d7
+guid: 4bdff1d20d233e446bb0bd64c0632b84
 folderAsset: yes
 DefaultImporter:
   externalObjects: {}
diff --git a/Assets.meta b/Editor/Scripts.meta
similarity index 77%
rename from Assets.meta
rename to Editor/Scripts.meta
index 6b2059d31d22293bff595998c1fb20d9e080f0ea..89470afa5dec937f604b767e2cf91962a301c347 100644
--- a/Assets.meta
+++ b/Editor/Scripts.meta
@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 78306bf200d797d43b085b7da02b346e
+guid: 09b162b93ead16e4fbbd063462ebc568
 folderAsset: yes
 DefaultImporter:
   externalObjects: {}
diff --git a/Assets/Editor/WorldStorageInfoEditor.cs b/Editor/Scripts/WorldStorageInfoEditor.cs
similarity index 91%
rename from Assets/Editor/WorldStorageInfoEditor.cs
rename to Editor/Scripts/WorldStorageInfoEditor.cs
index 6ac82e6d08546aec8bf9271ff4b89c70fdc08420..7d7e422b0becfcdf4863964beb1167be692de1a3 100644
--- a/Assets/Editor/WorldStorageInfoEditor.cs
+++ b/Editor/Scripts/WorldStorageInfoEditor.cs
@@ -30,10 +30,10 @@ public class WorldStorageInfoEditor : Editor
         EditorGUILayout.Space();
         WorldStorageInfo srv = (WorldStorageInfo)target;
 
-        string state = srv.GetServerState();
+        string state = "";// srv.GetServerState();
         EditorGUILayout.LabelField("Server State", state);
 
-        string api = srv.GetAPIVersion();
+        string api = "";// srv.GetAPIVersion();
         EditorGUILayout.LabelField("OpenAPI Version", api);
     }
 }
diff --git a/Assets/Editor/WorldStorageInfoEditor.cs.meta b/Editor/Scripts/WorldStorageInfoEditor.cs.meta
similarity index 100%
rename from Assets/Editor/WorldStorageInfoEditor.cs.meta
rename to Editor/Scripts/WorldStorageInfoEditor.cs.meta
diff --git a/Editor/etsi.isg.arf.worldstorage.Editor.asmdef b/Editor/etsi.isg.arf.worldstorage.Editor.asmdef
new file mode 100644
index 0000000000000000000000000000000000000000..ab260154237e432fadf27bda76e5036f4045ed51
--- /dev/null
+++ b/Editor/etsi.isg.arf.worldstorage.Editor.asmdef
@@ -0,0 +1,18 @@
+{
+    "name": "etsi.isg.arf.worldstorage.editor",
+    "rootNamespace": "",
+    "references": [
+        "GUID:99fdaa6f193b69346bfc8863615f98f0"
+    ],
+    "includePlatforms": [
+        "Editor"
+    ],
+    "excludePlatforms": [],
+    "allowUnsafeCode": false,
+    "overrideReferences": false,
+    "precompiledReferences": [],
+    "autoReferenced": true,
+    "defineConstraints": [],
+    "versionDefines": [],
+    "noEngineReferences": false
+}
\ No newline at end of file
diff --git a/Packages/manifest.json.meta b/Editor/etsi.isg.arf.worldstorage.Editor.asmdef.meta
similarity index 59%
rename from Packages/manifest.json.meta
rename to Editor/etsi.isg.arf.worldstorage.Editor.asmdef.meta
index a1235ecf399c90c592924d791429780515a4300c..e11d626b229ee13bdeb0c9c3e1b369c5432aeab1 100644
--- a/Packages/manifest.json.meta
+++ b/Editor/etsi.isg.arf.worldstorage.Editor.asmdef.meta
@@ -1,6 +1,6 @@
 fileFormatVersion: 2
-guid: 20c1432c68590134dbecd0038949274d
-TextScriptImporter:
+guid: 214b25ab5db7b194eb73c17450187c03
+AssemblyDefinitionImporter:
   externalObjects: {}
   userData: 
   assetBundleName: 
diff --git a/Packages/manifest.json b/Packages/manifest.json
deleted file mode 100644
index 81e0da05e064e368c2b2bfa65a754a8f05850602..0000000000000000000000000000000000000000
--- a/Packages/manifest.json
+++ /dev/null
@@ -1,43 +0,0 @@
-{
-  "dependencies": {
-    "com.unity.ide.rider": "3.0.13",
-    "com.unity.ide.visualstudio": "2.0.14",
-    "com.unity.ide.vscode": "1.2.5",
-    "com.unity.test-framework": "1.1.31",
-    "com.unity.textmeshpro": "3.0.6",
-    "com.unity.timeline": "1.6.4",
-    "com.unity.ugui": "1.0.0",
-    "com.unity.visualscripting": "1.7.6",
-    "com.unity.modules.ai": "1.0.0",
-    "com.unity.modules.androidjni": "1.0.0",
-    "com.unity.modules.animation": "1.0.0",
-    "com.unity.modules.assetbundle": "1.0.0",
-    "com.unity.modules.audio": "1.0.0",
-    "com.unity.modules.cloth": "1.0.0",
-    "com.unity.modules.director": "1.0.0",
-    "com.unity.modules.imageconversion": "1.0.0",
-    "com.unity.modules.imgui": "1.0.0",
-    "com.unity.modules.jsonserialize": "1.0.0",
-    "com.unity.modules.particlesystem": "1.0.0",
-    "com.unity.modules.physics": "1.0.0",
-    "com.unity.modules.physics2d": "1.0.0",
-    "com.unity.modules.screencapture": "1.0.0",
-    "com.unity.modules.terrain": "1.0.0",
-    "com.unity.modules.terrainphysics": "1.0.0",
-    "com.unity.modules.tilemap": "1.0.0",
-    "com.unity.modules.ui": "1.0.0",
-    "com.unity.modules.uielements": "1.0.0",
-    "com.unity.modules.umbra": "1.0.0",
-    "com.unity.modules.unityanalytics": "1.0.0",
-    "com.unity.modules.unitywebrequest": "1.0.0",
-    "com.unity.modules.unitywebrequestassetbundle": "1.0.0",
-    "com.unity.modules.unitywebrequestaudio": "1.0.0",
-    "com.unity.modules.unitywebrequesttexture": "1.0.0",
-    "com.unity.modules.unitywebrequestwww": "1.0.0",
-    "com.unity.modules.vehicles": "1.0.0",
-    "com.unity.modules.video": "1.0.0",
-    "com.unity.modules.vr": "1.0.0",
-    "com.unity.modules.wind": "1.0.0",
-    "com.unity.modules.xr": "1.0.0"
-  }
-}
diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json
deleted file mode 100644
index 4dc693a88332aa9fc5a7f9070d16859509c3a8c1..0000000000000000000000000000000000000000
--- a/Packages/packages-lock.json
+++ /dev/null
@@ -1,341 +0,0 @@
-{
-  "dependencies": {
-    "com.unity.ext.nunit": {
-      "version": "1.0.6",
-      "depth": 1,
-      "source": "registry",
-      "dependencies": {},
-      "url": "https://packages.unity.com"
-    },
-    "com.unity.ide.rider": {
-      "version": "3.0.13",
-      "depth": 0,
-      "source": "registry",
-      "dependencies": {
-        "com.unity.ext.nunit": "1.0.6"
-      },
-      "url": "https://packages.unity.com"
-    },
-    "com.unity.ide.visualstudio": {
-      "version": "2.0.14",
-      "depth": 0,
-      "source": "registry",
-      "dependencies": {
-        "com.unity.test-framework": "1.1.9"
-      },
-      "url": "https://packages.unity.com"
-    },
-    "com.unity.ide.vscode": {
-      "version": "1.2.5",
-      "depth": 0,
-      "source": "registry",
-      "dependencies": {},
-      "url": "https://packages.unity.com"
-    },
-    "com.unity.test-framework": {
-      "version": "1.1.31",
-      "depth": 0,
-      "source": "registry",
-      "dependencies": {
-        "com.unity.ext.nunit": "1.0.6",
-        "com.unity.modules.imgui": "1.0.0",
-        "com.unity.modules.jsonserialize": "1.0.0"
-      },
-      "url": "https://packages.unity.com"
-    },
-    "com.unity.textmeshpro": {
-      "version": "3.0.6",
-      "depth": 0,
-      "source": "registry",
-      "dependencies": {
-        "com.unity.ugui": "1.0.0"
-      },
-      "url": "https://packages.unity.com"
-    },
-    "com.unity.timeline": {
-      "version": "1.6.4",
-      "depth": 0,
-      "source": "registry",
-      "dependencies": {
-        "com.unity.modules.director": "1.0.0",
-        "com.unity.modules.animation": "1.0.0",
-        "com.unity.modules.audio": "1.0.0",
-        "com.unity.modules.particlesystem": "1.0.0"
-      },
-      "url": "https://packages.unity.com"
-    },
-    "com.unity.ugui": {
-      "version": "1.0.0",
-      "depth": 0,
-      "source": "builtin",
-      "dependencies": {
-        "com.unity.modules.ui": "1.0.0",
-        "com.unity.modules.imgui": "1.0.0"
-      }
-    },
-    "com.unity.visualscripting": {
-      "version": "1.7.6",
-      "depth": 0,
-      "source": "registry",
-      "dependencies": {
-        "com.unity.ugui": "1.0.0",
-        "com.unity.modules.jsonserialize": "1.0.0"
-      },
-      "url": "https://packages.unity.com"
-    },
-    "com.unity.modules.ai": {
-      "version": "1.0.0",
-      "depth": 0,
-      "source": "builtin",
-      "dependencies": {}
-    },
-    "com.unity.modules.androidjni": {
-      "version": "1.0.0",
-      "depth": 0,
-      "source": "builtin",
-      "dependencies": {}
-    },
-    "com.unity.modules.animation": {
-      "version": "1.0.0",
-      "depth": 0,
-      "source": "builtin",
-      "dependencies": {}
-    },
-    "com.unity.modules.assetbundle": {
-      "version": "1.0.0",
-      "depth": 0,
-      "source": "builtin",
-      "dependencies": {}
-    },
-    "com.unity.modules.audio": {
-      "version": "1.0.0",
-      "depth": 0,
-      "source": "builtin",
-      "dependencies": {}
-    },
-    "com.unity.modules.cloth": {
-      "version": "1.0.0",
-      "depth": 0,
-      "source": "builtin",
-      "dependencies": {
-        "com.unity.modules.physics": "1.0.0"
-      }
-    },
-    "com.unity.modules.director": {
-      "version": "1.0.0",
-      "depth": 0,
-      "source": "builtin",
-      "dependencies": {
-        "com.unity.modules.audio": "1.0.0",
-        "com.unity.modules.animation": "1.0.0"
-      }
-    },
-    "com.unity.modules.imageconversion": {
-      "version": "1.0.0",
-      "depth": 0,
-      "source": "builtin",
-      "dependencies": {}
-    },
-    "com.unity.modules.imgui": {
-      "version": "1.0.0",
-      "depth": 0,
-      "source": "builtin",
-      "dependencies": {}
-    },
-    "com.unity.modules.jsonserialize": {
-      "version": "1.0.0",
-      "depth": 0,
-      "source": "builtin",
-      "dependencies": {}
-    },
-    "com.unity.modules.particlesystem": {
-      "version": "1.0.0",
-      "depth": 0,
-      "source": "builtin",
-      "dependencies": {}
-    },
-    "com.unity.modules.physics": {
-      "version": "1.0.0",
-      "depth": 0,
-      "source": "builtin",
-      "dependencies": {}
-    },
-    "com.unity.modules.physics2d": {
-      "version": "1.0.0",
-      "depth": 0,
-      "source": "builtin",
-      "dependencies": {}
-    },
-    "com.unity.modules.screencapture": {
-      "version": "1.0.0",
-      "depth": 0,
-      "source": "builtin",
-      "dependencies": {
-        "com.unity.modules.imageconversion": "1.0.0"
-      }
-    },
-    "com.unity.modules.subsystems": {
-      "version": "1.0.0",
-      "depth": 1,
-      "source": "builtin",
-      "dependencies": {
-        "com.unity.modules.jsonserialize": "1.0.0"
-      }
-    },
-    "com.unity.modules.terrain": {
-      "version": "1.0.0",
-      "depth": 0,
-      "source": "builtin",
-      "dependencies": {}
-    },
-    "com.unity.modules.terrainphysics": {
-      "version": "1.0.0",
-      "depth": 0,
-      "source": "builtin",
-      "dependencies": {
-        "com.unity.modules.physics": "1.0.0",
-        "com.unity.modules.terrain": "1.0.0"
-      }
-    },
-    "com.unity.modules.tilemap": {
-      "version": "1.0.0",
-      "depth": 0,
-      "source": "builtin",
-      "dependencies": {
-        "com.unity.modules.physics2d": "1.0.0"
-      }
-    },
-    "com.unity.modules.ui": {
-      "version": "1.0.0",
-      "depth": 0,
-      "source": "builtin",
-      "dependencies": {}
-    },
-    "com.unity.modules.uielements": {
-      "version": "1.0.0",
-      "depth": 0,
-      "source": "builtin",
-      "dependencies": {
-        "com.unity.modules.ui": "1.0.0",
-        "com.unity.modules.imgui": "1.0.0",
-        "com.unity.modules.jsonserialize": "1.0.0",
-        "com.unity.modules.uielementsnative": "1.0.0"
-      }
-    },
-    "com.unity.modules.uielementsnative": {
-      "version": "1.0.0",
-      "depth": 1,
-      "source": "builtin",
-      "dependencies": {
-        "com.unity.modules.ui": "1.0.0",
-        "com.unity.modules.imgui": "1.0.0",
-        "com.unity.modules.jsonserialize": "1.0.0"
-      }
-    },
-    "com.unity.modules.umbra": {
-      "version": "1.0.0",
-      "depth": 0,
-      "source": "builtin",
-      "dependencies": {}
-    },
-    "com.unity.modules.unityanalytics": {
-      "version": "1.0.0",
-      "depth": 0,
-      "source": "builtin",
-      "dependencies": {
-        "com.unity.modules.unitywebrequest": "1.0.0",
-        "com.unity.modules.jsonserialize": "1.0.0"
-      }
-    },
-    "com.unity.modules.unitywebrequest": {
-      "version": "1.0.0",
-      "depth": 0,
-      "source": "builtin",
-      "dependencies": {}
-    },
-    "com.unity.modules.unitywebrequestassetbundle": {
-      "version": "1.0.0",
-      "depth": 0,
-      "source": "builtin",
-      "dependencies": {
-        "com.unity.modules.assetbundle": "1.0.0",
-        "com.unity.modules.unitywebrequest": "1.0.0"
-      }
-    },
-    "com.unity.modules.unitywebrequestaudio": {
-      "version": "1.0.0",
-      "depth": 0,
-      "source": "builtin",
-      "dependencies": {
-        "com.unity.modules.unitywebrequest": "1.0.0",
-        "com.unity.modules.audio": "1.0.0"
-      }
-    },
-    "com.unity.modules.unitywebrequesttexture": {
-      "version": "1.0.0",
-      "depth": 0,
-      "source": "builtin",
-      "dependencies": {
-        "com.unity.modules.unitywebrequest": "1.0.0",
-        "com.unity.modules.imageconversion": "1.0.0"
-      }
-    },
-    "com.unity.modules.unitywebrequestwww": {
-      "version": "1.0.0",
-      "depth": 0,
-      "source": "builtin",
-      "dependencies": {
-        "com.unity.modules.unitywebrequest": "1.0.0",
-        "com.unity.modules.unitywebrequestassetbundle": "1.0.0",
-        "com.unity.modules.unitywebrequestaudio": "1.0.0",
-        "com.unity.modules.audio": "1.0.0",
-        "com.unity.modules.assetbundle": "1.0.0",
-        "com.unity.modules.imageconversion": "1.0.0"
-      }
-    },
-    "com.unity.modules.vehicles": {
-      "version": "1.0.0",
-      "depth": 0,
-      "source": "builtin",
-      "dependencies": {
-        "com.unity.modules.physics": "1.0.0"
-      }
-    },
-    "com.unity.modules.video": {
-      "version": "1.0.0",
-      "depth": 0,
-      "source": "builtin",
-      "dependencies": {
-        "com.unity.modules.audio": "1.0.0",
-        "com.unity.modules.ui": "1.0.0",
-        "com.unity.modules.unitywebrequest": "1.0.0"
-      }
-    },
-    "com.unity.modules.vr": {
-      "version": "1.0.0",
-      "depth": 0,
-      "source": "builtin",
-      "dependencies": {
-        "com.unity.modules.jsonserialize": "1.0.0",
-        "com.unity.modules.physics": "1.0.0",
-        "com.unity.modules.xr": "1.0.0"
-      }
-    },
-    "com.unity.modules.wind": {
-      "version": "1.0.0",
-      "depth": 0,
-      "source": "builtin",
-      "dependencies": {}
-    },
-    "com.unity.modules.xr": {
-      "version": "1.0.0",
-      "depth": 0,
-      "source": "builtin",
-      "dependencies": {
-        "com.unity.modules.physics": "1.0.0",
-        "com.unity.modules.jsonserialize": "1.0.0",
-        "com.unity.modules.subsystems": "1.0.0"
-      }
-    }
-  }
-}
diff --git a/Packages/packages-lock.json.meta b/Packages/packages-lock.json.meta
deleted file mode 100644
index 849b8b97577c59c44f8c455565e8d0c3a0ca9714..0000000000000000000000000000000000000000
--- a/Packages/packages-lock.json.meta
+++ /dev/null
@@ -1,7 +0,0 @@
-fileFormatVersion: 2
-guid: 8d06aa9610feb184390a6be97a66f3b3
-TextScriptImporter:
-  externalObjects: {}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Plugins.meta b/Plugins.meta
deleted file mode 100644
index 6300d402ae8c9f3789b6b14f902c65b64cbbbc0f..0000000000000000000000000000000000000000
--- a/Plugins.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 9b41a6c85d75773499fee865a0a245e6
-folderAsset: yes
-DefaultImporter:
-  externalObjects: {}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/ProjectSettings.meta b/ProjectSettings.meta
deleted file mode 100644
index e53d957e13569139f0be68f18ef3f64987a9584a..0000000000000000000000000000000000000000
--- a/ProjectSettings.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 0b4f2eac1a9634d48a5407664b678c17
-folderAsset: yes
-DefaultImporter:
-  externalObjects: {}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/ProjectSettings/AudioManager.asset b/ProjectSettings/AudioManager.asset
deleted file mode 100644
index df1e8090a2e78c7b20cd5f10777df77422c780b9..0000000000000000000000000000000000000000
--- a/ProjectSettings/AudioManager.asset
+++ /dev/null
@@ -1,20 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!11 &1
-AudioManager:
-  m_ObjectHideFlags: 0
-  serializedVersion: 2
-  m_Volume: 1
-  Rolloff Scale: 1
-  Doppler Factor: 1
-  Default Speaker Mode: 2
-  m_SampleRate: 0
-  m_DSPBufferSize: 1024
-  m_VirtualVoiceCount: 512
-  m_RealVoiceCount: 32
-  m_EnableOutputSuspension: 1
-  m_SpatializerPlugin: 
-  m_AmbisonicDecoderPlugin: 
-  m_DisableAudio: 0
-  m_VirtualizeEffects: 1
-  m_RequestedDSPBufferSize: 0
diff --git a/ProjectSettings/ClusterInputManager.asset b/ProjectSettings/ClusterInputManager.asset
deleted file mode 100644
index e7886b266a005f4d9d80f2fef8d1649dcfd3ed2b..0000000000000000000000000000000000000000
--- a/ProjectSettings/ClusterInputManager.asset
+++ /dev/null
@@ -1,6 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!236 &1
-ClusterInputManager:
-  m_ObjectHideFlags: 0
-  m_Inputs: []
diff --git a/ProjectSettings/DynamicsManager.asset b/ProjectSettings/DynamicsManager.asset
deleted file mode 100644
index abb382fcbb6818cbc77257f82edcc5d8093a3314..0000000000000000000000000000000000000000
--- a/ProjectSettings/DynamicsManager.asset
+++ /dev/null
@@ -1,38 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!55 &1
-PhysicsManager:
-  m_ObjectHideFlags: 0
-  serializedVersion: 13
-  m_Gravity: {x: 0, y: -9.81, z: 0}
-  m_DefaultMaterial: {fileID: 0}
-  m_BounceThreshold: 2
-  m_DefaultMaxDepenetrationVelocity: 10
-  m_SleepThreshold: 0.005
-  m_DefaultContactOffset: 0.01
-  m_DefaultSolverIterations: 6
-  m_DefaultSolverVelocityIterations: 1
-  m_QueriesHitBackfaces: 0
-  m_QueriesHitTriggers: 1
-  m_EnableAdaptiveForce: 0
-  m_ClothInterCollisionDistance: 0.1
-  m_ClothInterCollisionStiffness: 0.2
-  m_ContactsGeneration: 1
-  m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
-  m_AutoSimulation: 1
-  m_AutoSyncTransforms: 0
-  m_ReuseCollisionCallbacks: 0
-  m_ClothInterCollisionSettingsToggle: 0
-  m_ClothGravity: {x: 0, y: -9.81, z: 0}
-  m_ContactPairsMode: 0
-  m_BroadphaseType: 0
-  m_WorldBounds:
-    m_Center: {x: 0, y: 0, z: 0}
-    m_Extent: {x: 250, y: 250, z: 250}
-  m_WorldSubdivisions: 8
-  m_FrictionType: 0
-  m_EnableEnhancedDeterminism: 0
-  m_EnableUnifiedHeightmaps: 1
-  m_ImprovedPatchFriction: 0
-  m_SolverType: 0
-  m_DefaultMaxAngularSpeed: 50
diff --git a/ProjectSettings/DynamicsManager.asset.meta b/ProjectSettings/DynamicsManager.asset.meta
deleted file mode 100644
index 147f363b726c49e440dd2a1dac8b378aad71711f..0000000000000000000000000000000000000000
--- a/ProjectSettings/DynamicsManager.asset.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: fa4f40c448e9ea7468e60ea8e4c60c3f
-NativeFormatImporter:
-  externalObjects: {}
-  mainObjectFileID: 0
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/ProjectSettings/EditorBuildSettings.asset b/ProjectSettings/EditorBuildSettings.asset
deleted file mode 100644
index 0147887ef4b113c3a3b8da44ef30e3208f1e9120..0000000000000000000000000000000000000000
--- a/ProjectSettings/EditorBuildSettings.asset
+++ /dev/null
@@ -1,8 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!1045 &1
-EditorBuildSettings:
-  m_ObjectHideFlags: 0
-  serializedVersion: 2
-  m_Scenes: []
-  m_configObjects: {}
diff --git a/ProjectSettings/EditorBuildSettings.asset.meta b/ProjectSettings/EditorBuildSettings.asset.meta
deleted file mode 100644
index 66e5ddbd4792ab08bfd31e95d22d10853032a4da..0000000000000000000000000000000000000000
--- a/ProjectSettings/EditorBuildSettings.asset.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 8aad7b2a081620b4a8e184b61189f5db
-NativeFormatImporter:
-  externalObjects: {}
-  mainObjectFileID: 0
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/ProjectSettings/EditorSettings.asset b/ProjectSettings/EditorSettings.asset
deleted file mode 100644
index db8991dd13a5c590dab9b0ff283fdadc6ac94a72..0000000000000000000000000000000000000000
--- a/ProjectSettings/EditorSettings.asset
+++ /dev/null
@@ -1,42 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!159 &1
-EditorSettings:
-  m_ObjectHideFlags: 0
-  serializedVersion: 11
-  m_SerializationMode: 2
-  m_LineEndingsForNewScripts: 2
-  m_DefaultBehaviorMode: 0
-  m_PrefabRegularEnvironment: {fileID: 0}
-  m_PrefabUIEnvironment: {fileID: 0}
-  m_SpritePackerMode: 0
-  m_SpritePackerPaddingPower: 1
-  m_Bc7TextureCompressor: 0
-  m_EtcTextureCompressorBehavior: 1
-  m_EtcTextureFastCompressor: 1
-  m_EtcTextureNormalCompressor: 2
-  m_EtcTextureBestCompressor: 4
-  m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmdef;asmref;rsp;java;cpp;c;mm;m;h
-  m_ProjectGenerationRootNamespace: 
-  m_EnableTextureStreamingInEditMode: 1
-  m_EnableTextureStreamingInPlayMode: 1
-  m_AsyncShaderCompilation: 1
-  m_CachingShaderPreprocessor: 1
-  m_PrefabModeAllowAutoSave: 1
-  m_EnterPlayModeOptionsEnabled: 0
-  m_EnterPlayModeOptions: 3
-  m_GameObjectNamingDigits: 1
-  m_GameObjectNamingScheme: 0
-  m_AssetNamingUsesSpace: 1
-  m_UseLegacyProbeSampleCount: 0
-  m_SerializeInlineMappingsOnOneLine: 1
-  m_DisableCookiesInLightmapper: 0
-  m_AssetPipelineMode: 1
-  m_RefreshImportMode: 0
-  m_CacheServerMode: 0
-  m_CacheServerEndpoint: 
-  m_CacheServerNamespacePrefix: default
-  m_CacheServerEnableDownload: 1
-  m_CacheServerEnableUpload: 1
-  m_CacheServerEnableAuth: 0
-  m_CacheServerEnableTls: 0
diff --git a/ProjectSettings/EditorSettings.asset.meta b/ProjectSettings/EditorSettings.asset.meta
deleted file mode 100644
index 9507234b2ecb7b9d103b91f8d5661b4b55bbf11c..0000000000000000000000000000000000000000
--- a/ProjectSettings/EditorSettings.asset.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: d6aeabb832bb360498d00725f4052eb6
-NativeFormatImporter:
-  externalObjects: {}
-  mainObjectFileID: 0
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/ProjectSettings/GraphicsSettings.asset b/ProjectSettings/GraphicsSettings.asset
deleted file mode 100644
index 6652e428d2d99601eee1187ac3bc6797326b02cf..0000000000000000000000000000000000000000
--- a/ProjectSettings/GraphicsSettings.asset
+++ /dev/null
@@ -1,66 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!30 &1
-GraphicsSettings:
-  m_ObjectHideFlags: 0
-  serializedVersion: 14
-  m_Deferred:
-    m_Mode: 1
-    m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0}
-  m_DeferredReflections:
-    m_Mode: 1
-    m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0}
-  m_ScreenSpaceShadows:
-    m_Mode: 1
-    m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0}
-  m_LegacyDeferred:
-    m_Mode: 1
-    m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0}
-  m_DepthNormals:
-    m_Mode: 1
-    m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0}
-  m_MotionVectors:
-    m_Mode: 1
-    m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0}
-  m_LightHalo:
-    m_Mode: 1
-    m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0}
-  m_LensFlare:
-    m_Mode: 1
-    m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0}
-  m_VideoShadersIncludeMode: 2
-  m_AlwaysIncludedShaders:
-  - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0}
-  - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0}
-  - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0}
-  - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0}
-  - {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0}
-  - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0}
-  - {fileID: 10783, guid: 0000000000000000f000000000000000, type: 0}
-  m_PreloadedShaders: []
-  m_PreloadShadersBatchTimeLimit: -1
-  m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
-  m_CustomRenderPipeline: {fileID: 0}
-  m_TransparencySortMode: 0
-  m_TransparencySortAxis: {x: 0, y: 0, z: 1}
-  m_DefaultRenderingPath: 1
-  m_DefaultMobileRenderingPath: 1
-  m_TierSettings: []
-  m_LightmapStripping: 0
-  m_FogStripping: 0
-  m_InstancingStripping: 0
-  m_LightmapKeepPlain: 1
-  m_LightmapKeepDirCombined: 1
-  m_LightmapKeepDynamicPlain: 1
-  m_LightmapKeepDynamicDirCombined: 1
-  m_LightmapKeepShadowMask: 1
-  m_LightmapKeepSubtractive: 1
-  m_FogKeepLinear: 1
-  m_FogKeepExp: 1
-  m_FogKeepExp2: 1
-  m_AlbedoSwatchInfos: []
-  m_LightsUseLinearIntensity: 0
-  m_LightsUseColorTemperature: 0
-  m_DefaultRenderingLayerMask: 1
-  m_LogWhenShaderIsCompiled: 0
-  m_SRPDefaultSettings: {}
diff --git a/ProjectSettings/GraphicsSettings.asset.meta b/ProjectSettings/GraphicsSettings.asset.meta
deleted file mode 100644
index 3eef82528aebdbde4eda4785be0651a909f3b00a..0000000000000000000000000000000000000000
--- a/ProjectSettings/GraphicsSettings.asset.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 6cbcd0d2d3be8554391862cd2ad2f216
-NativeFormatImporter:
-  externalObjects: {}
-  mainObjectFileID: 0
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/ProjectSettings/InputManager.asset b/ProjectSettings/InputManager.asset
deleted file mode 100644
index b00cb7976eff97f405c4b00f6c11f70eb37dc2e6..0000000000000000000000000000000000000000
--- a/ProjectSettings/InputManager.asset
+++ /dev/null
@@ -1,296 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!13 &1
-InputManager:
-  m_ObjectHideFlags: 0
-  serializedVersion: 2
-  m_Axes:
-  - serializedVersion: 3
-    m_Name: Horizontal
-    descriptiveName: 
-    descriptiveNegativeName: 
-    negativeButton: left
-    positiveButton: right
-    altNegativeButton: a
-    altPositiveButton: d
-    gravity: 3
-    dead: 0.001
-    sensitivity: 3
-    snap: 1
-    invert: 0
-    type: 0
-    axis: 0
-    joyNum: 0
-  - serializedVersion: 3
-    m_Name: Vertical
-    descriptiveName: 
-    descriptiveNegativeName: 
-    negativeButton: down
-    positiveButton: up
-    altNegativeButton: s
-    altPositiveButton: w
-    gravity: 3
-    dead: 0.001
-    sensitivity: 3
-    snap: 1
-    invert: 0
-    type: 0
-    axis: 0
-    joyNum: 0
-  - serializedVersion: 3
-    m_Name: Fire1
-    descriptiveName: 
-    descriptiveNegativeName: 
-    negativeButton: 
-    positiveButton: left ctrl
-    altNegativeButton: 
-    altPositiveButton: mouse 0
-    gravity: 1000
-    dead: 0.001
-    sensitivity: 1000
-    snap: 0
-    invert: 0
-    type: 0
-    axis: 0
-    joyNum: 0
-  - serializedVersion: 3
-    m_Name: Fire2
-    descriptiveName: 
-    descriptiveNegativeName: 
-    negativeButton: 
-    positiveButton: left alt
-    altNegativeButton: 
-    altPositiveButton: mouse 1
-    gravity: 1000
-    dead: 0.001
-    sensitivity: 1000
-    snap: 0
-    invert: 0
-    type: 0
-    axis: 0
-    joyNum: 0
-  - serializedVersion: 3
-    m_Name: Fire3
-    descriptiveName: 
-    descriptiveNegativeName: 
-    negativeButton: 
-    positiveButton: left shift
-    altNegativeButton: 
-    altPositiveButton: mouse 2
-    gravity: 1000
-    dead: 0.001
-    sensitivity: 1000
-    snap: 0
-    invert: 0
-    type: 0
-    axis: 0
-    joyNum: 0
-  - serializedVersion: 3
-    m_Name: Jump
-    descriptiveName: 
-    descriptiveNegativeName: 
-    negativeButton: 
-    positiveButton: space
-    altNegativeButton: 
-    altPositiveButton: 
-    gravity: 1000
-    dead: 0.001
-    sensitivity: 1000
-    snap: 0
-    invert: 0
-    type: 0
-    axis: 0
-    joyNum: 0
-  - serializedVersion: 3
-    m_Name: Mouse X
-    descriptiveName: 
-    descriptiveNegativeName: 
-    negativeButton: 
-    positiveButton: 
-    altNegativeButton: 
-    altPositiveButton: 
-    gravity: 0
-    dead: 0
-    sensitivity: 0.1
-    snap: 0
-    invert: 0
-    type: 1
-    axis: 0
-    joyNum: 0
-  - serializedVersion: 3
-    m_Name: Mouse Y
-    descriptiveName: 
-    descriptiveNegativeName: 
-    negativeButton: 
-    positiveButton: 
-    altNegativeButton: 
-    altPositiveButton: 
-    gravity: 0
-    dead: 0
-    sensitivity: 0.1
-    snap: 0
-    invert: 0
-    type: 1
-    axis: 1
-    joyNum: 0
-  - serializedVersion: 3
-    m_Name: Mouse ScrollWheel
-    descriptiveName: 
-    descriptiveNegativeName: 
-    negativeButton: 
-    positiveButton: 
-    altNegativeButton: 
-    altPositiveButton: 
-    gravity: 0
-    dead: 0
-    sensitivity: 0.1
-    snap: 0
-    invert: 0
-    type: 1
-    axis: 2
-    joyNum: 0
-  - serializedVersion: 3
-    m_Name: Horizontal
-    descriptiveName: 
-    descriptiveNegativeName: 
-    negativeButton: 
-    positiveButton: 
-    altNegativeButton: 
-    altPositiveButton: 
-    gravity: 0
-    dead: 0.19
-    sensitivity: 1
-    snap: 0
-    invert: 0
-    type: 2
-    axis: 0
-    joyNum: 0
-  - serializedVersion: 3
-    m_Name: Vertical
-    descriptiveName: 
-    descriptiveNegativeName: 
-    negativeButton: 
-    positiveButton: 
-    altNegativeButton: 
-    altPositiveButton: 
-    gravity: 0
-    dead: 0.19
-    sensitivity: 1
-    snap: 0
-    invert: 1
-    type: 2
-    axis: 1
-    joyNum: 0
-  - serializedVersion: 3
-    m_Name: Fire1
-    descriptiveName: 
-    descriptiveNegativeName: 
-    negativeButton: 
-    positiveButton: joystick button 0
-    altNegativeButton: 
-    altPositiveButton: 
-    gravity: 1000
-    dead: 0.001
-    sensitivity: 1000
-    snap: 0
-    invert: 0
-    type: 0
-    axis: 0
-    joyNum: 0
-  - serializedVersion: 3
-    m_Name: Fire2
-    descriptiveName: 
-    descriptiveNegativeName: 
-    negativeButton: 
-    positiveButton: joystick button 1
-    altNegativeButton: 
-    altPositiveButton: 
-    gravity: 1000
-    dead: 0.001
-    sensitivity: 1000
-    snap: 0
-    invert: 0
-    type: 0
-    axis: 0
-    joyNum: 0
-  - serializedVersion: 3
-    m_Name: Fire3
-    descriptiveName: 
-    descriptiveNegativeName: 
-    negativeButton: 
-    positiveButton: joystick button 2
-    altNegativeButton: 
-    altPositiveButton: 
-    gravity: 1000
-    dead: 0.001
-    sensitivity: 1000
-    snap: 0
-    invert: 0
-    type: 0
-    axis: 0
-    joyNum: 0
-  - serializedVersion: 3
-    m_Name: Jump
-    descriptiveName: 
-    descriptiveNegativeName: 
-    negativeButton: 
-    positiveButton: joystick button 3
-    altNegativeButton: 
-    altPositiveButton: 
-    gravity: 1000
-    dead: 0.001
-    sensitivity: 1000
-    snap: 0
-    invert: 0
-    type: 0
-    axis: 0
-    joyNum: 0
-  - serializedVersion: 3
-    m_Name: Submit
-    descriptiveName: 
-    descriptiveNegativeName: 
-    negativeButton: 
-    positiveButton: return
-    altNegativeButton: 
-    altPositiveButton: joystick button 0
-    gravity: 1000
-    dead: 0.001
-    sensitivity: 1000
-    snap: 0
-    invert: 0
-    type: 0
-    axis: 0
-    joyNum: 0
-  - serializedVersion: 3
-    m_Name: Submit
-    descriptiveName: 
-    descriptiveNegativeName: 
-    negativeButton: 
-    positiveButton: enter
-    altNegativeButton: 
-    altPositiveButton: space
-    gravity: 1000
-    dead: 0.001
-    sensitivity: 1000
-    snap: 0
-    invert: 0
-    type: 0
-    axis: 0
-    joyNum: 0
-  - serializedVersion: 3
-    m_Name: Cancel
-    descriptiveName: 
-    descriptiveNegativeName: 
-    negativeButton: 
-    positiveButton: escape
-    altNegativeButton: 
-    altPositiveButton: joystick button 1
-    gravity: 1000
-    dead: 0.001
-    sensitivity: 1000
-    snap: 0
-    invert: 0
-    type: 0
-    axis: 0
-    joyNum: 0
-  m_UsePhysicalKeys: 0
diff --git a/ProjectSettings/InputManager.asset.meta b/ProjectSettings/InputManager.asset.meta
deleted file mode 100644
index b844eeee48d919cb43ba7f1626cc876c9d842d37..0000000000000000000000000000000000000000
--- a/ProjectSettings/InputManager.asset.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 65097835f2c3e1141a4ac3a8c68a8454
-NativeFormatImporter:
-  externalObjects: {}
-  mainObjectFileID: 0
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/ProjectSettings/MemorySettings.asset b/ProjectSettings/MemorySettings.asset
deleted file mode 100644
index 5b5facecace9276319b6e497953ab0429de65b61..0000000000000000000000000000000000000000
--- a/ProjectSettings/MemorySettings.asset
+++ /dev/null
@@ -1,35 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!387306366 &1
-MemorySettings:
-  m_ObjectHideFlags: 0
-  m_EditorMemorySettings:
-    m_MainAllocatorBlockSize: -1
-    m_ThreadAllocatorBlockSize: -1
-    m_MainGfxBlockSize: -1
-    m_ThreadGfxBlockSize: -1
-    m_CacheBlockSize: -1
-    m_TypetreeBlockSize: -1
-    m_ProfilerBlockSize: -1
-    m_ProfilerEditorBlockSize: -1
-    m_BucketAllocatorGranularity: -1
-    m_BucketAllocatorBucketsCount: -1
-    m_BucketAllocatorBlockSize: -1
-    m_BucketAllocatorBlockCount: -1
-    m_ProfilerBucketAllocatorGranularity: -1
-    m_ProfilerBucketAllocatorBucketsCount: -1
-    m_ProfilerBucketAllocatorBlockSize: -1
-    m_ProfilerBucketAllocatorBlockCount: -1
-    m_TempAllocatorSizeMain: -1
-    m_JobTempAllocatorBlockSize: -1
-    m_BackgroundJobTempAllocatorBlockSize: -1
-    m_JobTempAllocatorReducedBlockSize: -1
-    m_TempAllocatorSizeGIBakingWorker: -1
-    m_TempAllocatorSizeNavMeshWorker: -1
-    m_TempAllocatorSizeAudioWorker: -1
-    m_TempAllocatorSizeCloudWorker: -1
-    m_TempAllocatorSizeGfx: -1
-    m_TempAllocatorSizeJobWorker: -1
-    m_TempAllocatorSizeBackgroundWorker: -1
-    m_TempAllocatorSizePreloadManager: -1
-  m_PlatformMemorySettings: {}
diff --git a/ProjectSettings/MemorySettings.asset.meta b/ProjectSettings/MemorySettings.asset.meta
deleted file mode 100644
index 21cde6c3ccbf5e98d4c8c1a1fbe9a7b0d0b8f3fa..0000000000000000000000000000000000000000
--- a/ProjectSettings/MemorySettings.asset.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 98a7e16ca990bfb4a9bfb3448771353b
-NativeFormatImporter:
-  externalObjects: {}
-  mainObjectFileID: 0
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/ProjectSettings/NavMeshAreas.asset b/ProjectSettings/NavMeshAreas.asset
deleted file mode 100644
index ad2654e02e000515a8169d42168a7a4e6f07ee57..0000000000000000000000000000000000000000
--- a/ProjectSettings/NavMeshAreas.asset
+++ /dev/null
@@ -1,93 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!126 &1
-NavMeshProjectSettings:
-  m_ObjectHideFlags: 0
-  serializedVersion: 2
-  areas:
-  - name: Walkable
-    cost: 1
-  - name: Not Walkable
-    cost: 1
-  - name: Jump
-    cost: 2
-  - name: 
-    cost: 1
-  - name: 
-    cost: 1
-  - name: 
-    cost: 1
-  - name: 
-    cost: 1
-  - name: 
-    cost: 1
-  - name: 
-    cost: 1
-  - name: 
-    cost: 1
-  - name: 
-    cost: 1
-  - name: 
-    cost: 1
-  - name: 
-    cost: 1
-  - name: 
-    cost: 1
-  - name: 
-    cost: 1
-  - name: 
-    cost: 1
-  - name: 
-    cost: 1
-  - name: 
-    cost: 1
-  - name: 
-    cost: 1
-  - name: 
-    cost: 1
-  - name: 
-    cost: 1
-  - name: 
-    cost: 1
-  - name: 
-    cost: 1
-  - name: 
-    cost: 1
-  - name: 
-    cost: 1
-  - name: 
-    cost: 1
-  - name: 
-    cost: 1
-  - name: 
-    cost: 1
-  - name: 
-    cost: 1
-  - name: 
-    cost: 1
-  - name: 
-    cost: 1
-  - name: 
-    cost: 1
-  m_LastAgentTypeID: -887442657
-  m_Settings:
-  - serializedVersion: 2
-    agentTypeID: 0
-    agentRadius: 0.5
-    agentHeight: 2
-    agentSlope: 45
-    agentClimb: 0.75
-    ledgeDropHeight: 0
-    maxJumpAcrossDistance: 0
-    minRegionArea: 2
-    manualCellSize: 0
-    cellSize: 0.16666667
-    manualTileSize: 0
-    tileSize: 256
-    accuratePlacement: 0
-    maxJobWorkers: 0
-    preserveTilesOutsideBounds: 0
-    debug:
-      m_Flags: 0
-  m_SettingNames:
-  - Humanoid
diff --git a/ProjectSettings/NavMeshAreas.asset.meta b/ProjectSettings/NavMeshAreas.asset.meta
deleted file mode 100644
index 548a5d7550a652f771c877056519724145fd66d7..0000000000000000000000000000000000000000
--- a/ProjectSettings/NavMeshAreas.asset.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 961ec3fe567553c449dbf85a3603025f
-NativeFormatImporter:
-  externalObjects: {}
-  mainObjectFileID: 0
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/ProjectSettings/PackageManagerSettings.asset b/ProjectSettings/PackageManagerSettings.asset
deleted file mode 100644
index 06c51af3451040d08e1a7ac2a6acdd13dc8befd9..0000000000000000000000000000000000000000
--- a/ProjectSettings/PackageManagerSettings.asset
+++ /dev/null
@@ -1,35 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!114 &1
-MonoBehaviour:
-  m_ObjectHideFlags: 61
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 0}
-  m_Enabled: 1
-  m_EditorHideFlags: 0
-  m_Script: {fileID: 13964, guid: 0000000000000000e000000000000000, type: 0}
-  m_Name: 
-  m_EditorClassIdentifier: 
-  m_EnablePreReleasePackages: 0
-  m_EnablePackageDependencies: 0
-  m_AdvancedSettingsExpanded: 1
-  m_ScopedRegistriesSettingsExpanded: 1
-  m_SeeAllPackageVersions: 0
-  oneTimeWarningShown: 0
-  m_Registries:
-  - m_Id: main
-    m_Name: 
-    m_Url: https://packages.unity.com
-    m_Scopes: []
-    m_IsDefault: 1
-    m_Capabilities: 7
-  m_UserSelectedRegistryName: 
-  m_UserAddingNewScopedRegistry: 0
-  m_RegistryInfoDraft:
-    m_Modified: 0
-    m_ErrorMessage: 
-    m_UserModificationsInstanceId: -882
-    m_OriginalInstanceId: -884
-  m_LoadAssets: 0
diff --git a/ProjectSettings/PackageManagerSettings.asset.meta b/ProjectSettings/PackageManagerSettings.asset.meta
deleted file mode 100644
index b6d711392f4094fb7a20639f2276ee386e826a72..0000000000000000000000000000000000000000
--- a/ProjectSettings/PackageManagerSettings.asset.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 5d835a74883d0a24b839711dc56edc85
-NativeFormatImporter:
-  externalObjects: {}
-  mainObjectFileID: 0
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/ProjectSettings/Physics2DSettings.asset b/ProjectSettings/Physics2DSettings.asset
deleted file mode 100644
index 34e83283323c76977aab012ffb35a2c329064756..0000000000000000000000000000000000000000
--- a/ProjectSettings/Physics2DSettings.asset
+++ /dev/null
@@ -1,56 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!19 &1
-Physics2DSettings:
-  m_ObjectHideFlags: 0
-  serializedVersion: 5
-  m_Gravity: {x: 0, y: -9.81}
-  m_DefaultMaterial: {fileID: 0}
-  m_VelocityIterations: 8
-  m_PositionIterations: 3
-  m_VelocityThreshold: 1
-  m_MaxLinearCorrection: 0.2
-  m_MaxAngularCorrection: 8
-  m_MaxTranslationSpeed: 100
-  m_MaxRotationSpeed: 360
-  m_BaumgarteScale: 0.2
-  m_BaumgarteTimeOfImpactScale: 0.75
-  m_TimeToSleep: 0.5
-  m_LinearSleepTolerance: 0.01
-  m_AngularSleepTolerance: 2
-  m_DefaultContactOffset: 0.01
-  m_JobOptions:
-    serializedVersion: 2
-    useMultithreading: 0
-    useConsistencySorting: 0
-    m_InterpolationPosesPerJob: 100
-    m_NewContactsPerJob: 30
-    m_CollideContactsPerJob: 100
-    m_ClearFlagsPerJob: 200
-    m_ClearBodyForcesPerJob: 200
-    m_SyncDiscreteFixturesPerJob: 50
-    m_SyncContinuousFixturesPerJob: 50
-    m_FindNearestContactsPerJob: 100
-    m_UpdateTriggerContactsPerJob: 100
-    m_IslandSolverCostThreshold: 100
-    m_IslandSolverBodyCostScale: 1
-    m_IslandSolverContactCostScale: 10
-    m_IslandSolverJointCostScale: 10
-    m_IslandSolverBodiesPerJob: 50
-    m_IslandSolverContactsPerJob: 50
-  m_SimulationMode: 0
-  m_QueriesHitTriggers: 1
-  m_QueriesStartInColliders: 1
-  m_CallbacksOnDisable: 1
-  m_ReuseCollisionCallbacks: 0
-  m_AutoSyncTransforms: 0
-  m_AlwaysShowColliders: 0
-  m_ShowColliderSleep: 1
-  m_ShowColliderContacts: 0
-  m_ShowColliderAABB: 0
-  m_ContactArrowScale: 0.2
-  m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412}
-  m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432}
-  m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745}
-  m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804}
-  m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
diff --git a/ProjectSettings/Physics2DSettings.asset.meta b/ProjectSettings/Physics2DSettings.asset.meta
deleted file mode 100644
index ee65b50d5c8892da7062bd850035145f804d0c66..0000000000000000000000000000000000000000
--- a/ProjectSettings/Physics2DSettings.asset.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 42be9777ca97fb041be60548b8b90c43
-NativeFormatImporter:
-  externalObjects: {}
-  mainObjectFileID: 0
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/ProjectSettings/PresetManager.asset b/ProjectSettings/PresetManager.asset
deleted file mode 100644
index 67a94daefe2e6bce3ec73546ad7cda94f702ad22..0000000000000000000000000000000000000000
--- a/ProjectSettings/PresetManager.asset
+++ /dev/null
@@ -1,7 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!1386491679 &1
-PresetManager:
-  m_ObjectHideFlags: 0
-  serializedVersion: 2
-  m_DefaultPresets: {}
diff --git a/ProjectSettings/PresetManager.asset.meta b/ProjectSettings/PresetManager.asset.meta
deleted file mode 100644
index 96d64730b0dc4a214d311cb888124c7907a01e40..0000000000000000000000000000000000000000
--- a/ProjectSettings/PresetManager.asset.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: af86a66d59629bf44a0bd6debef6dc21
-NativeFormatImporter:
-  externalObjects: {}
-  mainObjectFileID: 0
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/ProjectSettings/ProjectSettings.asset b/ProjectSettings/ProjectSettings.asset
deleted file mode 100644
index e46af3a944ffa5d7bba2d7d3ae086c860186b942..0000000000000000000000000000000000000000
--- a/ProjectSettings/ProjectSettings.asset
+++ /dev/null
@@ -1,628 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!129 &1
-PlayerSettings:
-  m_ObjectHideFlags: 0
-  serializedVersion: 23
-  productGUID: dc82d4868a5e3a6449911e19969014df
-  AndroidProfiler: 0
-  AndroidFilterTouchesWhenObscured: 0
-  AndroidEnableSustainedPerformanceMode: 0
-  defaultScreenOrientation: 4
-  targetDevice: 2
-  useOnDemandResources: 0
-  accelerometerFrequency: 60
-  companyName: DefaultCompany
-  productName: unity-world-storage-package
-  defaultCursor: {fileID: 0}
-  cursorHotspot: {x: 0, y: 0}
-  m_SplashScreenBackgroundColor: {r: 0.12156863, g: 0.12156863, b: 0.1254902, a: 1}
-  m_ShowUnitySplashScreen: 1
-  m_ShowUnitySplashLogo: 1
-  m_SplashScreenOverlayOpacity: 1
-  m_SplashScreenAnimation: 1
-  m_SplashScreenLogoStyle: 1
-  m_SplashScreenDrawMode: 0
-  m_SplashScreenBackgroundAnimationZoom: 1
-  m_SplashScreenLogoAnimationZoom: 1
-  m_SplashScreenBackgroundLandscapeAspect: 1
-  m_SplashScreenBackgroundPortraitAspect: 1
-  m_SplashScreenBackgroundLandscapeUvs:
-    serializedVersion: 2
-    x: 0
-    y: 0
-    width: 1
-    height: 1
-  m_SplashScreenBackgroundPortraitUvs:
-    serializedVersion: 2
-    x: 0
-    y: 0
-    width: 1
-    height: 1
-  m_SplashScreenLogos: []
-  m_VirtualRealitySplashScreen: {fileID: 0}
-  m_HolographicTrackingLossScreen: {fileID: 0}
-  defaultScreenWidth: 1920
-  defaultScreenHeight: 1080
-  defaultScreenWidthWeb: 960
-  defaultScreenHeightWeb: 600
-  m_StereoRenderingPath: 0
-  m_ActiveColorSpace: 0
-  m_MTRendering: 1
-  mipStripping: 0
-  numberOfMipsStripped: 0
-  m_StackTraceTypes: 010000000100000001000000010000000100000001000000
-  iosShowActivityIndicatorOnLoading: -1
-  androidShowActivityIndicatorOnLoading: -1
-  iosUseCustomAppBackgroundBehavior: 0
-  iosAllowHTTPDownload: 1
-  allowedAutorotateToPortrait: 1
-  allowedAutorotateToPortraitUpsideDown: 1
-  allowedAutorotateToLandscapeRight: 1
-  allowedAutorotateToLandscapeLeft: 1
-  useOSAutorotation: 1
-  use32BitDisplayBuffer: 1
-  preserveFramebufferAlpha: 0
-  disableDepthAndStencilBuffers: 0
-  androidStartInFullscreen: 1
-  androidRenderOutsideSafeArea: 1
-  androidUseSwappy: 1
-  androidBlitType: 0
-  androidResizableWindow: 0
-  androidDefaultWindowWidth: 1920
-  androidDefaultWindowHeight: 1080
-  androidMinimumWindowWidth: 400
-  androidMinimumWindowHeight: 300
-  androidFullscreenMode: 1
-  defaultIsNativeResolution: 1
-  macRetinaSupport: 1
-  runInBackground: 0
-  captureSingleScreen: 0
-  muteOtherAudioSources: 0
-  Prepare IOS For Recording: 0
-  Force IOS Speakers When Recording: 0
-  deferSystemGesturesMode: 0
-  hideHomeButton: 0
-  submitAnalytics: 1
-  usePlayerLog: 1
-  bakeCollisionMeshes: 0
-  forceSingleInstance: 0
-  useFlipModelSwapchain: 1
-  resizableWindow: 0
-  useMacAppStoreValidation: 0
-  macAppStoreCategory: public.app-category.games
-  gpuSkinning: 0
-  xboxPIXTextureCapture: 0
-  xboxEnableAvatar: 0
-  xboxEnableKinect: 0
-  xboxEnableKinectAutoTracking: 0
-  xboxEnableFitness: 0
-  visibleInBackground: 1
-  allowFullscreenSwitch: 1
-  fullscreenMode: 1
-  xboxSpeechDB: 0
-  xboxEnableHeadOrientation: 0
-  xboxEnableGuest: 0
-  xboxEnablePIXSampling: 0
-  metalFramebufferOnly: 0
-  xboxOneResolution: 0
-  xboxOneSResolution: 0
-  xboxOneXResolution: 3
-  xboxOneMonoLoggingLevel: 0
-  xboxOneLoggingLevel: 1
-  xboxOneDisableEsram: 0
-  xboxOneEnableTypeOptimization: 0
-  xboxOnePresentImmediateThreshold: 0
-  switchQueueCommandMemory: 1048576
-  switchQueueControlMemory: 16384
-  switchQueueComputeMemory: 262144
-  switchNVNShaderPoolsGranularity: 33554432
-  switchNVNDefaultPoolsGranularity: 16777216
-  switchNVNOtherPoolsGranularity: 16777216
-  switchNVNMaxPublicTextureIDCount: 0
-  switchNVNMaxPublicSamplerIDCount: 0
-  stadiaPresentMode: 0
-  stadiaTargetFramerate: 0
-  vulkanNumSwapchainBuffers: 3
-  vulkanEnableSetSRGBWrite: 0
-  vulkanEnablePreTransform: 0
-  vulkanEnableLateAcquireNextImage: 0
-  vulkanEnableCommandBufferRecycling: 1
-  m_SupportedAspectRatios:
-    4:3: 1
-    5:4: 1
-    16:10: 1
-    16:9: 1
-    Others: 1
-  bundleVersion: 1.0
-  preloadedAssets: []
-  metroInputSource: 0
-  wsaTransparentSwapchain: 0
-  m_HolographicPauseOnTrackingLoss: 1
-  xboxOneDisableKinectGpuReservation: 1
-  xboxOneEnable7thCore: 1
-  vrSettings:
-    enable360StereoCapture: 0
-  isWsaHolographicRemotingEnabled: 0
-  enableFrameTimingStats: 0
-  useHDRDisplay: 0
-  D3DHDRBitDepth: 0
-  m_ColorGamuts: 00000000
-  targetPixelDensity: 0
-  resolutionScalingMode: 0
-  androidSupportedAspectRatio: 1
-  androidMaxAspectRatio: 2.1
-  applicationIdentifier: {}
-  buildNumber: {}
-  overrideDefaultApplicationIdentifier: 0
-  AndroidBundleVersionCode: 1
-  AndroidMinSdkVersion: 22
-  AndroidTargetSdkVersion: 0
-  AndroidPreferredInstallLocation: 1
-  aotOptions: 
-  stripEngineCode: 1
-  iPhoneStrippingLevel: 0
-  iPhoneScriptCallOptimization: 0
-  ForceInternetPermission: 0
-  ForceSDCardPermission: 0
-  CreateWallpaper: 0
-  APKExpansionFiles: 0
-  keepLoadedShadersAlive: 0
-  StripUnusedMeshComponents: 0
-  VertexChannelCompressionMask: 4054
-  iPhoneSdkVersion: 988
-  iOSTargetOSVersionString: 
-  tvOSSdkVersion: 0
-  tvOSRequireExtendedGameController: 0
-  tvOSTargetOSVersionString: 
-  uIPrerenderedIcon: 0
-  uIRequiresPersistentWiFi: 0
-  uIRequiresFullScreen: 1
-  uIStatusBarHidden: 1
-  uIExitOnSuspend: 0
-  uIStatusBarStyle: 0
-  appleTVSplashScreen: {fileID: 0}
-  appleTVSplashScreen2x: {fileID: 0}
-  tvOSSmallIconLayers: []
-  tvOSSmallIconLayers2x: []
-  tvOSLargeIconLayers: []
-  tvOSLargeIconLayers2x: []
-  tvOSTopShelfImageLayers: []
-  tvOSTopShelfImageLayers2x: []
-  tvOSTopShelfImageWideLayers: []
-  tvOSTopShelfImageWideLayers2x: []
-  iOSLaunchScreenType: 0
-  iOSLaunchScreenPortrait: {fileID: 0}
-  iOSLaunchScreenLandscape: {fileID: 0}
-  iOSLaunchScreenBackgroundColor:
-    serializedVersion: 2
-    rgba: 0
-  iOSLaunchScreenFillPct: 100
-  iOSLaunchScreenSize: 100
-  iOSLaunchScreenCustomXibPath: 
-  iOSLaunchScreeniPadType: 0
-  iOSLaunchScreeniPadImage: {fileID: 0}
-  iOSLaunchScreeniPadBackgroundColor:
-    serializedVersion: 2
-    rgba: 0
-  iOSLaunchScreeniPadFillPct: 100
-  iOSLaunchScreeniPadSize: 100
-  iOSLaunchScreeniPadCustomXibPath: 
-  iOSLaunchScreenCustomStoryboardPath: 
-  iOSLaunchScreeniPadCustomStoryboardPath: 
-  iOSDeviceRequirements: []
-  iOSURLSchemes: []
-  macOSURLSchemes: []
-  iOSBackgroundModes: 0
-  iOSMetalForceHardShadows: 0
-  metalEditorSupport: 1
-  metalAPIValidation: 1
-  iOSRenderExtraFrameOnPause: 0
-  iosCopyPluginsCodeInsteadOfSymlink: 0
-  appleDeveloperTeamID: 
-  iOSManualSigningProvisioningProfileID: 
-  tvOSManualSigningProvisioningProfileID: 
-  iOSManualSigningProvisioningProfileType: 0
-  tvOSManualSigningProvisioningProfileType: 0
-  appleEnableAutomaticSigning: 0
-  iOSRequireARKit: 0
-  iOSAutomaticallyDetectAndAddCapabilities: 1
-  appleEnableProMotion: 0
-  shaderPrecisionModel: 0
-  clonedFromGUID: 00000000000000000000000000000000
-  templatePackageId: 
-  templateDefaultScene: 
-  useCustomMainManifest: 0
-  useCustomLauncherManifest: 0
-  useCustomMainGradleTemplate: 0
-  useCustomLauncherGradleManifest: 0
-  useCustomBaseGradleTemplate: 0
-  useCustomGradlePropertiesTemplate: 0
-  useCustomProguardFile: 0
-  AndroidTargetArchitectures: 1
-  AndroidTargetDevices: 0
-  AndroidSplashScreenScale: 0
-  androidSplashScreen: {fileID: 0}
-  AndroidKeystoreName: 
-  AndroidKeyaliasName: 
-  AndroidBuildApkPerCpuArchitecture: 0
-  AndroidTVCompatibility: 0
-  AndroidIsGame: 1
-  AndroidEnableTango: 0
-  androidEnableBanner: 1
-  androidUseLowAccuracyLocation: 0
-  androidUseCustomKeystore: 0
-  m_AndroidBanners:
-  - width: 320
-    height: 180
-    banner: {fileID: 0}
-  androidGamepadSupportLevel: 0
-  chromeosInputEmulation: 1
-  AndroidMinifyWithR8: 0
-  AndroidMinifyRelease: 0
-  AndroidMinifyDebug: 0
-  AndroidValidateAppBundleSize: 1
-  AndroidAppBundleSizeToValidate: 150
-  m_BuildTargetIcons: []
-  m_BuildTargetPlatformIcons: []
-  m_BuildTargetBatching: []
-  m_BuildTargetGraphicsJobs: []
-  m_BuildTargetGraphicsJobMode: []
-  m_BuildTargetGraphicsAPIs: []
-  m_BuildTargetVRSettings: []
-  openGLRequireES31: 0
-  openGLRequireES31AEP: 0
-  openGLRequireES32: 0
-  m_TemplateCustomTags: {}
-  mobileMTRendering:
-    Android: 1
-    iPhone: 1
-    tvOS: 1
-  m_BuildTargetGroupLightmapEncodingQuality: []
-  m_BuildTargetGroupLightmapSettings: []
-  m_BuildTargetNormalMapEncoding: []
-  m_BuildTargetDefaultTextureCompressionFormat: []
-  playModeTestRunnerEnabled: 0
-  runPlayModeTestAsEditModeTest: 0
-  actionOnDotNetUnhandledException: 1
-  enableInternalProfiler: 0
-  logObjCUncaughtExceptions: 1
-  enableCrashReportAPI: 0
-  cameraUsageDescription: 
-  locationUsageDescription: 
-  microphoneUsageDescription: 
-  bluetoothUsageDescription: 
-  switchNMETAOverride: 
-  switchNetLibKey: 
-  switchSocketMemoryPoolSize: 6144
-  switchSocketAllocatorPoolSize: 128
-  switchSocketConcurrencyLimit: 14
-  switchScreenResolutionBehavior: 2
-  switchUseCPUProfiler: 0
-  switchUseGOLDLinker: 0
-  switchLTOSetting: 0
-  switchApplicationID: 0x01004b9000490000
-  switchNSODependencies: 
-  switchTitleNames_0: 
-  switchTitleNames_1: 
-  switchTitleNames_2: 
-  switchTitleNames_3: 
-  switchTitleNames_4: 
-  switchTitleNames_5: 
-  switchTitleNames_6: 
-  switchTitleNames_7: 
-  switchTitleNames_8: 
-  switchTitleNames_9: 
-  switchTitleNames_10: 
-  switchTitleNames_11: 
-  switchTitleNames_12: 
-  switchTitleNames_13: 
-  switchTitleNames_14: 
-  switchTitleNames_15: 
-  switchPublisherNames_0: 
-  switchPublisherNames_1: 
-  switchPublisherNames_2: 
-  switchPublisherNames_3: 
-  switchPublisherNames_4: 
-  switchPublisherNames_5: 
-  switchPublisherNames_6: 
-  switchPublisherNames_7: 
-  switchPublisherNames_8: 
-  switchPublisherNames_9: 
-  switchPublisherNames_10: 
-  switchPublisherNames_11: 
-  switchPublisherNames_12: 
-  switchPublisherNames_13: 
-  switchPublisherNames_14: 
-  switchPublisherNames_15: 
-  switchIcons_0: {fileID: 0}
-  switchIcons_1: {fileID: 0}
-  switchIcons_2: {fileID: 0}
-  switchIcons_3: {fileID: 0}
-  switchIcons_4: {fileID: 0}
-  switchIcons_5: {fileID: 0}
-  switchIcons_6: {fileID: 0}
-  switchIcons_7: {fileID: 0}
-  switchIcons_8: {fileID: 0}
-  switchIcons_9: {fileID: 0}
-  switchIcons_10: {fileID: 0}
-  switchIcons_11: {fileID: 0}
-  switchIcons_12: {fileID: 0}
-  switchIcons_13: {fileID: 0}
-  switchIcons_14: {fileID: 0}
-  switchIcons_15: {fileID: 0}
-  switchSmallIcons_0: {fileID: 0}
-  switchSmallIcons_1: {fileID: 0}
-  switchSmallIcons_2: {fileID: 0}
-  switchSmallIcons_3: {fileID: 0}
-  switchSmallIcons_4: {fileID: 0}
-  switchSmallIcons_5: {fileID: 0}
-  switchSmallIcons_6: {fileID: 0}
-  switchSmallIcons_7: {fileID: 0}
-  switchSmallIcons_8: {fileID: 0}
-  switchSmallIcons_9: {fileID: 0}
-  switchSmallIcons_10: {fileID: 0}
-  switchSmallIcons_11: {fileID: 0}
-  switchSmallIcons_12: {fileID: 0}
-  switchSmallIcons_13: {fileID: 0}
-  switchSmallIcons_14: {fileID: 0}
-  switchSmallIcons_15: {fileID: 0}
-  switchManualHTML: 
-  switchAccessibleURLs: 
-  switchLegalInformation: 
-  switchMainThreadStackSize: 1048576
-  switchPresenceGroupId: 
-  switchLogoHandling: 0
-  switchReleaseVersion: 0
-  switchDisplayVersion: 1.0.0
-  switchStartupUserAccount: 0
-  switchTouchScreenUsage: 0
-  switchSupportedLanguagesMask: 0
-  switchLogoType: 0
-  switchApplicationErrorCodeCategory: 
-  switchUserAccountSaveDataSize: 0
-  switchUserAccountSaveDataJournalSize: 0
-  switchApplicationAttribute: 0
-  switchCardSpecSize: -1
-  switchCardSpecClock: -1
-  switchRatingsMask: 0
-  switchRatingsInt_0: 0
-  switchRatingsInt_1: 0
-  switchRatingsInt_2: 0
-  switchRatingsInt_3: 0
-  switchRatingsInt_4: 0
-  switchRatingsInt_5: 0
-  switchRatingsInt_6: 0
-  switchRatingsInt_7: 0
-  switchRatingsInt_8: 0
-  switchRatingsInt_9: 0
-  switchRatingsInt_10: 0
-  switchRatingsInt_11: 0
-  switchRatingsInt_12: 0
-  switchLocalCommunicationIds_0: 
-  switchLocalCommunicationIds_1: 
-  switchLocalCommunicationIds_2: 
-  switchLocalCommunicationIds_3: 
-  switchLocalCommunicationIds_4: 
-  switchLocalCommunicationIds_5: 
-  switchLocalCommunicationIds_6: 
-  switchLocalCommunicationIds_7: 
-  switchParentalControl: 0
-  switchAllowsScreenshot: 1
-  switchAllowsVideoCapturing: 1
-  switchAllowsRuntimeAddOnContentInstall: 0
-  switchDataLossConfirmation: 0
-  switchUserAccountLockEnabled: 0
-  switchSystemResourceMemory: 16777216
-  switchSupportedNpadStyles: 22
-  switchNativeFsCacheSize: 32
-  switchIsHoldTypeHorizontal: 0
-  switchSupportedNpadCount: 8
-  switchSocketConfigEnabled: 0
-  switchTcpInitialSendBufferSize: 32
-  switchTcpInitialReceiveBufferSize: 64
-  switchTcpAutoSendBufferSizeMax: 256
-  switchTcpAutoReceiveBufferSizeMax: 256
-  switchUdpSendBufferSize: 9
-  switchUdpReceiveBufferSize: 42
-  switchSocketBufferEfficiency: 4
-  switchSocketInitializeEnabled: 1
-  switchNetworkInterfaceManagerInitializeEnabled: 1
-  switchPlayerConnectionEnabled: 1
-  switchUseNewStyleFilepaths: 0
-  switchUseMicroSleepForYield: 1
-  switchEnableRamDiskSupport: 0
-  switchMicroSleepForYieldTime: 25
-  switchRamDiskSpaceSize: 12
-  ps4NPAgeRating: 12
-  ps4NPTitleSecret: 
-  ps4NPTrophyPackPath: 
-  ps4ParentalLevel: 11
-  ps4ContentID: ED1633-NPXX51362_00-0000000000000000
-  ps4Category: 0
-  ps4MasterVersion: 01.00
-  ps4AppVersion: 01.00
-  ps4AppType: 0
-  ps4ParamSfxPath: 
-  ps4VideoOutPixelFormat: 0
-  ps4VideoOutInitialWidth: 1920
-  ps4VideoOutBaseModeInitialWidth: 1920
-  ps4VideoOutReprojectionRate: 60
-  ps4PronunciationXMLPath: 
-  ps4PronunciationSIGPath: 
-  ps4BackgroundImagePath: 
-  ps4StartupImagePath: 
-  ps4StartupImagesFolder: 
-  ps4IconImagesFolder: 
-  ps4SaveDataImagePath: 
-  ps4SdkOverride: 
-  ps4BGMPath: 
-  ps4ShareFilePath: 
-  ps4ShareOverlayImagePath: 
-  ps4PrivacyGuardImagePath: 
-  ps4ExtraSceSysFile: 
-  ps4NPtitleDatPath: 
-  ps4RemotePlayKeyAssignment: -1
-  ps4RemotePlayKeyMappingDir: 
-  ps4PlayTogetherPlayerCount: 0
-  ps4EnterButtonAssignment: 2
-  ps4ApplicationParam1: 0
-  ps4ApplicationParam2: 0
-  ps4ApplicationParam3: 0
-  ps4ApplicationParam4: 0
-  ps4DownloadDataSize: 0
-  ps4GarlicHeapSize: 2048
-  ps4ProGarlicHeapSize: 2560
-  playerPrefsMaxSize: 32768
-  ps4Passcode: frAQBc8Wsa1xVPfvJcrgRYwTiizs2trQ
-  ps4pnSessions: 1
-  ps4pnPresence: 1
-  ps4pnFriends: 1
-  ps4pnGameCustomData: 1
-  playerPrefsSupport: 0
-  enableApplicationExit: 0
-  resetTempFolder: 1
-  restrictedAudioUsageRights: 0
-  ps4UseResolutionFallback: 0
-  ps4ReprojectionSupport: 0
-  ps4UseAudio3dBackend: 0
-  ps4UseLowGarlicFragmentationMode: 1
-  ps4SocialScreenEnabled: 0
-  ps4ScriptOptimizationLevel: 2
-  ps4Audio3dVirtualSpeakerCount: 14
-  ps4attribCpuUsage: 0
-  ps4PatchPkgPath: 
-  ps4PatchLatestPkgPath: 
-  ps4PatchChangeinfoPath: 
-  ps4PatchDayOne: 0
-  ps4attribUserManagement: 0
-  ps4attribMoveSupport: 0
-  ps4attrib3DSupport: 0
-  ps4attribShareSupport: 0
-  ps4attribExclusiveVR: 0
-  ps4disableAutoHideSplash: 0
-  ps4videoRecordingFeaturesUsed: 0
-  ps4contentSearchFeaturesUsed: 0
-  ps4CompatibilityPS5: 0
-  ps4GPU800MHz: 1
-  ps4attribEyeToEyeDistanceSettingVR: 0
-  ps4IncludedModules: []
-  ps4attribVROutputEnabled: 0
-  monoEnv: 
-  splashScreenBackgroundSourceLandscape: {fileID: 0}
-  splashScreenBackgroundSourcePortrait: {fileID: 0}
-  blurSplashScreenBackground: 1
-  spritePackerPolicy: 
-  webGLMemorySize: 32
-  webGLExceptionSupport: 1
-  webGLNameFilesAsHashes: 0
-  webGLDataCaching: 1
-  webGLDebugSymbols: 0
-  webGLEmscriptenArgs: 
-  webGLModulesDirectory: 
-  webGLTemplate: APPLICATION:Default
-  webGLAnalyzeBuildSize: 0
-  webGLUseEmbeddedResources: 0
-  webGLCompressionFormat: 0
-  webGLWasmArithmeticExceptions: 0
-  webGLLinkerTarget: 1
-  webGLThreadsSupport: 0
-  webGLDecompressionFallback: 0
-  scriptingDefineSymbols: {}
-  additionalCompilerArguments: {}
-  platformArchitecture: {}
-  scriptingBackend: {}
-  il2cppCompilerConfiguration: {}
-  managedStrippingLevel: {}
-  incrementalIl2cppBuild: {}
-  suppressCommonWarnings: 1
-  allowUnsafeCode: 0
-  useDeterministicCompilation: 1
-  enableRoslynAnalyzers: 1
-  additionalIl2CppArgs: 
-  scriptingRuntimeVersion: 1
-  gcIncremental: 1
-  assemblyVersionValidation: 1
-  gcWBarrierValidation: 0
-  apiCompatibilityLevelPerPlatform: {}
-  m_RenderingPath: 1
-  m_MobileRenderingPath: 1
-  metroPackageName: unity-world-storage-package
-  metroPackageVersion: 
-  metroCertificatePath: 
-  metroCertificatePassword: 
-  metroCertificateSubject: 
-  metroCertificateIssuer: 
-  metroCertificateNotAfter: 0000000000000000
-  metroApplicationDescription: unity-world-storage-package
-  wsaImages: {}
-  metroTileShortName: 
-  metroTileShowName: 0
-  metroMediumTileShowName: 0
-  metroLargeTileShowName: 0
-  metroWideTileShowName: 0
-  metroSupportStreamingInstall: 0
-  metroLastRequiredScene: 0
-  metroDefaultTileSize: 1
-  metroTileForegroundText: 2
-  metroTileBackgroundColor: {r: 0.13333334, g: 0.17254902, b: 0.21568628, a: 0}
-  metroSplashScreenBackgroundColor: {r: 0.12941177, g: 0.17254902, b: 0.21568628, a: 1}
-  metroSplashScreenUseBackgroundColor: 0
-  platformCapabilities: {}
-  metroTargetDeviceFamilies: {}
-  metroFTAName: 
-  metroFTAFileTypes: []
-  metroProtocolName: 
-  vcxProjDefaultLanguage: 
-  XboxOneProductId: 
-  XboxOneUpdateKey: 
-  XboxOneSandboxId: 
-  XboxOneContentId: 
-  XboxOneTitleId: 
-  XboxOneSCId: 
-  XboxOneGameOsOverridePath: 
-  XboxOnePackagingOverridePath: 
-  XboxOneAppManifestOverridePath: 
-  XboxOneVersion: 1.0.0.0
-  XboxOnePackageEncryption: 0
-  XboxOnePackageUpdateGranularity: 2
-  XboxOneDescription: 
-  XboxOneLanguage:
-  - enus
-  XboxOneCapability: []
-  XboxOneGameRating: {}
-  XboxOneIsContentPackage: 0
-  XboxOneEnhancedXboxCompatibilityMode: 0
-  XboxOneEnableGPUVariability: 1
-  XboxOneSockets: {}
-  XboxOneSplashScreen: {fileID: 0}
-  XboxOneAllowedProductIds: []
-  XboxOnePersistentLocalStorageSize: 0
-  XboxOneXTitleMemory: 8
-  XboxOneOverrideIdentityName: 
-  XboxOneOverrideIdentityPublisher: 
-  vrEditorSettings: {}
-  cloudServicesEnabled: {}
-  luminIcon:
-    m_Name: 
-    m_ModelFolderPath: 
-    m_PortalFolderPath: 
-  luminCert:
-    m_CertPath: 
-    m_SignPackage: 1
-  luminIsChannelApp: 0
-  luminVersion:
-    m_VersionCode: 1
-    m_VersionName: 
-  apiCompatibilityLevel: 6
-  activeInputHandler: 0
-  cloudProjectId: 
-  framebufferDepthMemorylessMode: 0
-  qualitySettingsNames: []
-  projectName: 
-  organizationId: 
-  cloudEnabled: 0
-  legacyClampBlendShapeWeights: 0
-  playerDataPath: 
-  forceSRGBBlit: 1
-  virtualTexturingSupportEnabled: 0
diff --git a/ProjectSettings/ProjectSettings.asset.meta b/ProjectSettings/ProjectSettings.asset.meta
deleted file mode 100644
index 01e6204063d0c13564d1ea6612a1e2af529646c9..0000000000000000000000000000000000000000
--- a/ProjectSettings/ProjectSettings.asset.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: b834f14af1033ee49b38a7f80098aa15
-NativeFormatImporter:
-  externalObjects: {}
-  mainObjectFileID: 0
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/ProjectSettings/ProjectVersion.txt b/ProjectSettings/ProjectVersion.txt
deleted file mode 100644
index 3384268ebddb437465655054f97b53bfe32f026b..0000000000000000000000000000000000000000
--- a/ProjectSettings/ProjectVersion.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-m_EditorVersion: 2021.3.0f1
-m_EditorVersionWithRevision: 2021.3.0f1 (6eacc8284459)
diff --git a/ProjectSettings/ProjectVersion.txt.meta b/ProjectSettings/ProjectVersion.txt.meta
deleted file mode 100644
index 972d5d26d135676131ac6ad7bd36619633c5ca6f..0000000000000000000000000000000000000000
--- a/ProjectSettings/ProjectVersion.txt.meta
+++ /dev/null
@@ -1,7 +0,0 @@
-fileFormatVersion: 2
-guid: 0970d7255bb27c743bdb3e22caa9305c
-TextScriptImporter:
-  externalObjects: {}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/ProjectSettings/QualitySettings.asset b/ProjectSettings/QualitySettings.asset
deleted file mode 100644
index 70e3e0b46074e65322cff2ff00240dbb2ac8c21f..0000000000000000000000000000000000000000
--- a/ProjectSettings/QualitySettings.asset
+++ /dev/null
@@ -1,242 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!47 &1
-QualitySettings:
-  m_ObjectHideFlags: 0
-  serializedVersion: 5
-  m_CurrentQuality: 5
-  m_QualitySettings:
-  - serializedVersion: 2
-    name: Very Low
-    pixelLightCount: 0
-    shadows: 0
-    shadowResolution: 0
-    shadowProjection: 1
-    shadowCascades: 1
-    shadowDistance: 15
-    shadowNearPlaneOffset: 3
-    shadowCascade2Split: 0.33333334
-    shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
-    shadowmaskMode: 0
-    skinWeights: 1
-    textureQuality: 1
-    anisotropicTextures: 0
-    antiAliasing: 0
-    softParticles: 0
-    softVegetation: 0
-    realtimeReflectionProbes: 0
-    billboardsFaceCameraPosition: 0
-    vSyncCount: 0
-    lodBias: 0.3
-    maximumLODLevel: 0
-    streamingMipmapsActive: 0
-    streamingMipmapsAddAllCameras: 1
-    streamingMipmapsMemoryBudget: 512
-    streamingMipmapsRenderersPerFrame: 512
-    streamingMipmapsMaxLevelReduction: 2
-    streamingMipmapsMaxFileIORequests: 1024
-    particleRaycastBudget: 4
-    asyncUploadTimeSlice: 2
-    asyncUploadBufferSize: 16
-    asyncUploadPersistentBuffer: 1
-    resolutionScalingFixedDPIFactor: 1
-    customRenderPipeline: {fileID: 0}
-    excludedTargetPlatforms: []
-  - serializedVersion: 2
-    name: Low
-    pixelLightCount: 0
-    shadows: 0
-    shadowResolution: 0
-    shadowProjection: 1
-    shadowCascades: 1
-    shadowDistance: 20
-    shadowNearPlaneOffset: 3
-    shadowCascade2Split: 0.33333334
-    shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
-    shadowmaskMode: 0
-    skinWeights: 2
-    textureQuality: 0
-    anisotropicTextures: 0
-    antiAliasing: 0
-    softParticles: 0
-    softVegetation: 0
-    realtimeReflectionProbes: 0
-    billboardsFaceCameraPosition: 0
-    vSyncCount: 0
-    lodBias: 0.4
-    maximumLODLevel: 0
-    streamingMipmapsActive: 0
-    streamingMipmapsAddAllCameras: 1
-    streamingMipmapsMemoryBudget: 512
-    streamingMipmapsRenderersPerFrame: 512
-    streamingMipmapsMaxLevelReduction: 2
-    streamingMipmapsMaxFileIORequests: 1024
-    particleRaycastBudget: 16
-    asyncUploadTimeSlice: 2
-    asyncUploadBufferSize: 16
-    asyncUploadPersistentBuffer: 1
-    resolutionScalingFixedDPIFactor: 1
-    customRenderPipeline: {fileID: 0}
-    excludedTargetPlatforms: []
-  - serializedVersion: 2
-    name: Medium
-    pixelLightCount: 1
-    shadows: 1
-    shadowResolution: 0
-    shadowProjection: 1
-    shadowCascades: 1
-    shadowDistance: 20
-    shadowNearPlaneOffset: 3
-    shadowCascade2Split: 0.33333334
-    shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
-    shadowmaskMode: 0
-    skinWeights: 2
-    textureQuality: 0
-    anisotropicTextures: 1
-    antiAliasing: 0
-    softParticles: 0
-    softVegetation: 0
-    realtimeReflectionProbes: 0
-    billboardsFaceCameraPosition: 0
-    vSyncCount: 1
-    lodBias: 0.7
-    maximumLODLevel: 0
-    streamingMipmapsActive: 0
-    streamingMipmapsAddAllCameras: 1
-    streamingMipmapsMemoryBudget: 512
-    streamingMipmapsRenderersPerFrame: 512
-    streamingMipmapsMaxLevelReduction: 2
-    streamingMipmapsMaxFileIORequests: 1024
-    particleRaycastBudget: 64
-    asyncUploadTimeSlice: 2
-    asyncUploadBufferSize: 16
-    asyncUploadPersistentBuffer: 1
-    resolutionScalingFixedDPIFactor: 1
-    customRenderPipeline: {fileID: 0}
-    excludedTargetPlatforms: []
-  - serializedVersion: 2
-    name: High
-    pixelLightCount: 2
-    shadows: 2
-    shadowResolution: 1
-    shadowProjection: 1
-    shadowCascades: 2
-    shadowDistance: 40
-    shadowNearPlaneOffset: 3
-    shadowCascade2Split: 0.33333334
-    shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
-    shadowmaskMode: 1
-    skinWeights: 2
-    textureQuality: 0
-    anisotropicTextures: 1
-    antiAliasing: 0
-    softParticles: 0
-    softVegetation: 1
-    realtimeReflectionProbes: 1
-    billboardsFaceCameraPosition: 1
-    vSyncCount: 1
-    lodBias: 1
-    maximumLODLevel: 0
-    streamingMipmapsActive: 0
-    streamingMipmapsAddAllCameras: 1
-    streamingMipmapsMemoryBudget: 512
-    streamingMipmapsRenderersPerFrame: 512
-    streamingMipmapsMaxLevelReduction: 2
-    streamingMipmapsMaxFileIORequests: 1024
-    particleRaycastBudget: 256
-    asyncUploadTimeSlice: 2
-    asyncUploadBufferSize: 16
-    asyncUploadPersistentBuffer: 1
-    resolutionScalingFixedDPIFactor: 1
-    customRenderPipeline: {fileID: 0}
-    excludedTargetPlatforms: []
-  - serializedVersion: 2
-    name: Very High
-    pixelLightCount: 3
-    shadows: 2
-    shadowResolution: 2
-    shadowProjection: 1
-    shadowCascades: 2
-    shadowDistance: 70
-    shadowNearPlaneOffset: 3
-    shadowCascade2Split: 0.33333334
-    shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
-    shadowmaskMode: 1
-    skinWeights: 4
-    textureQuality: 0
-    anisotropicTextures: 2
-    antiAliasing: 2
-    softParticles: 1
-    softVegetation: 1
-    realtimeReflectionProbes: 1
-    billboardsFaceCameraPosition: 1
-    vSyncCount: 1
-    lodBias: 1.5
-    maximumLODLevel: 0
-    streamingMipmapsActive: 0
-    streamingMipmapsAddAllCameras: 1
-    streamingMipmapsMemoryBudget: 512
-    streamingMipmapsRenderersPerFrame: 512
-    streamingMipmapsMaxLevelReduction: 2
-    streamingMipmapsMaxFileIORequests: 1024
-    particleRaycastBudget: 1024
-    asyncUploadTimeSlice: 2
-    asyncUploadBufferSize: 16
-    asyncUploadPersistentBuffer: 1
-    resolutionScalingFixedDPIFactor: 1
-    customRenderPipeline: {fileID: 0}
-    excludedTargetPlatforms: []
-  - serializedVersion: 2
-    name: Ultra
-    pixelLightCount: 4
-    shadows: 2
-    shadowResolution: 2
-    shadowProjection: 1
-    shadowCascades: 4
-    shadowDistance: 150
-    shadowNearPlaneOffset: 3
-    shadowCascade2Split: 0.33333334
-    shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
-    shadowmaskMode: 1
-    skinWeights: 255
-    textureQuality: 0
-    anisotropicTextures: 2
-    antiAliasing: 2
-    softParticles: 1
-    softVegetation: 1
-    realtimeReflectionProbes: 1
-    billboardsFaceCameraPosition: 1
-    vSyncCount: 1
-    lodBias: 2
-    maximumLODLevel: 0
-    streamingMipmapsActive: 0
-    streamingMipmapsAddAllCameras: 1
-    streamingMipmapsMemoryBudget: 512
-    streamingMipmapsRenderersPerFrame: 512
-    streamingMipmapsMaxLevelReduction: 2
-    streamingMipmapsMaxFileIORequests: 1024
-    particleRaycastBudget: 4096
-    asyncUploadTimeSlice: 2
-    asyncUploadBufferSize: 16
-    asyncUploadPersistentBuffer: 1
-    resolutionScalingFixedDPIFactor: 1
-    customRenderPipeline: {fileID: 0}
-    excludedTargetPlatforms: []
-  m_PerPlatformDefaultQuality:
-    Android: 2
-    CloudRendering: 5
-    EmbeddedLinux: 5
-    GameCoreScarlett: 5
-    GameCoreXboxOne: 5
-    Lumin: 5
-    Nintendo Switch: 5
-    PS4: 5
-    PS5: 5
-    Server: 5
-    Stadia: 5
-    Standalone: 5
-    WebGL: 3
-    Windows Store Apps: 5
-    XboxOne: 5
-    iPhone: 2
-    tvOS: 2
diff --git a/ProjectSettings/QualitySettings.asset.meta b/ProjectSettings/QualitySettings.asset.meta
deleted file mode 100644
index d538d66e463f1bcded057be804d1596e0208612a..0000000000000000000000000000000000000000
--- a/ProjectSettings/QualitySettings.asset.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: dee396c9debf3dd43a8953cf71e626c5
-NativeFormatImporter:
-  externalObjects: {}
-  mainObjectFileID: 0
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/ProjectSettings/SceneTemplateSettings.json b/ProjectSettings/SceneTemplateSettings.json
deleted file mode 100644
index 6f3e60fd8b7178b90a74640de7a6006d7a2b6565..0000000000000000000000000000000000000000
--- a/ProjectSettings/SceneTemplateSettings.json
+++ /dev/null
@@ -1,167 +0,0 @@
-{
-    "templatePinStates": [],
-    "dependencyTypeInfos": [
-        {
-            "userAdded": false,
-            "type": "UnityEngine.AnimationClip",
-            "ignore": false,
-            "defaultInstantiationMode": 0,
-            "supportsModification": true
-        },
-        {
-            "userAdded": false,
-            "type": "UnityEditor.Animations.AnimatorController",
-            "ignore": false,
-            "defaultInstantiationMode": 0,
-            "supportsModification": true
-        },
-        {
-            "userAdded": false,
-            "type": "UnityEngine.AnimatorOverrideController",
-            "ignore": false,
-            "defaultInstantiationMode": 0,
-            "supportsModification": true
-        },
-        {
-            "userAdded": false,
-            "type": "UnityEditor.Audio.AudioMixerController",
-            "ignore": false,
-            "defaultInstantiationMode": 0,
-            "supportsModification": true
-        },
-        {
-            "userAdded": false,
-            "type": "UnityEngine.ComputeShader",
-            "ignore": true,
-            "defaultInstantiationMode": 1,
-            "supportsModification": true
-        },
-        {
-            "userAdded": false,
-            "type": "UnityEngine.Cubemap",
-            "ignore": false,
-            "defaultInstantiationMode": 0,
-            "supportsModification": true
-        },
-        {
-            "userAdded": false,
-            "type": "UnityEngine.GameObject",
-            "ignore": false,
-            "defaultInstantiationMode": 0,
-            "supportsModification": true
-        },
-        {
-            "userAdded": false,
-            "type": "UnityEditor.LightingDataAsset",
-            "ignore": false,
-            "defaultInstantiationMode": 0,
-            "supportsModification": false
-        },
-        {
-            "userAdded": false,
-            "type": "UnityEngine.LightingSettings",
-            "ignore": false,
-            "defaultInstantiationMode": 0,
-            "supportsModification": true
-        },
-        {
-            "userAdded": false,
-            "type": "UnityEngine.Material",
-            "ignore": false,
-            "defaultInstantiationMode": 0,
-            "supportsModification": true
-        },
-        {
-            "userAdded": false,
-            "type": "UnityEditor.MonoScript",
-            "ignore": true,
-            "defaultInstantiationMode": 1,
-            "supportsModification": true
-        },
-        {
-            "userAdded": false,
-            "type": "UnityEngine.PhysicMaterial",
-            "ignore": false,
-            "defaultInstantiationMode": 0,
-            "supportsModification": true
-        },
-        {
-            "userAdded": false,
-            "type": "UnityEngine.PhysicsMaterial2D",
-            "ignore": false,
-            "defaultInstantiationMode": 0,
-            "supportsModification": true
-        },
-        {
-            "userAdded": false,
-            "type": "UnityEngine.Rendering.PostProcessing.PostProcessProfile",
-            "ignore": false,
-            "defaultInstantiationMode": 0,
-            "supportsModification": true
-        },
-        {
-            "userAdded": false,
-            "type": "UnityEngine.Rendering.PostProcessing.PostProcessResources",
-            "ignore": false,
-            "defaultInstantiationMode": 0,
-            "supportsModification": true
-        },
-        {
-            "userAdded": false,
-            "type": "UnityEngine.Rendering.VolumeProfile",
-            "ignore": false,
-            "defaultInstantiationMode": 0,
-            "supportsModification": true
-        },
-        {
-            "userAdded": false,
-            "type": "UnityEditor.SceneAsset",
-            "ignore": false,
-            "defaultInstantiationMode": 0,
-            "supportsModification": false
-        },
-        {
-            "userAdded": false,
-            "type": "UnityEngine.Shader",
-            "ignore": true,
-            "defaultInstantiationMode": 1,
-            "supportsModification": true
-        },
-        {
-            "userAdded": false,
-            "type": "UnityEngine.ShaderVariantCollection",
-            "ignore": true,
-            "defaultInstantiationMode": 1,
-            "supportsModification": true
-        },
-        {
-            "userAdded": false,
-            "type": "UnityEngine.Texture",
-            "ignore": false,
-            "defaultInstantiationMode": 0,
-            "supportsModification": true
-        },
-        {
-            "userAdded": false,
-            "type": "UnityEngine.Texture2D",
-            "ignore": false,
-            "defaultInstantiationMode": 0,
-            "supportsModification": true
-        },
-        {
-            "userAdded": false,
-            "type": "UnityEngine.Timeline.TimelineAsset",
-            "ignore": false,
-            "defaultInstantiationMode": 0,
-            "supportsModification": true
-        }
-    ],
-    "defaultDependencyTypeInfo": {
-        "userAdded": false,
-        "type": "<default_scene_template_dependencies>",
-        "ignore": false,
-        "defaultInstantiationMode": 1,
-        "supportsModification": true
-    },
-    "newSceneOverride": 0
-}
\ No newline at end of file
diff --git a/ProjectSettings/SceneTemplateSettings.json.meta b/ProjectSettings/SceneTemplateSettings.json.meta
deleted file mode 100644
index ea87f999e9907b5994eca06a6a005e46ed0921e1..0000000000000000000000000000000000000000
--- a/ProjectSettings/SceneTemplateSettings.json.meta
+++ /dev/null
@@ -1,7 +0,0 @@
-fileFormatVersion: 2
-guid: 99aae57f092ac4546a06c814060a4d0a
-TextScriptImporter:
-  externalObjects: {}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/ProjectSettings/TagManager.asset b/ProjectSettings/TagManager.asset
deleted file mode 100644
index 1c92a7840ec11895c76785f65d949a3d20d53355..0000000000000000000000000000000000000000
--- a/ProjectSettings/TagManager.asset
+++ /dev/null
@@ -1,43 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!78 &1
-TagManager:
-  serializedVersion: 2
-  tags: []
-  layers:
-  - Default
-  - TransparentFX
-  - Ignore Raycast
-  - 
-  - Water
-  - UI
-  - 
-  - 
-  - 
-  - 
-  - 
-  - 
-  - 
-  - 
-  - 
-  - 
-  - 
-  - 
-  - 
-  - 
-  - 
-  - 
-  - 
-  - 
-  - 
-  - 
-  - 
-  - 
-  - 
-  - 
-  - 
-  - 
-  m_SortingLayers:
-  - name: Default
-    uniqueID: 0
-    locked: 0
diff --git a/ProjectSettings/TagManager.asset.meta b/ProjectSettings/TagManager.asset.meta
deleted file mode 100644
index f68381884ec9a33876a56e0b7e4ee9f0e4fe6b2e..0000000000000000000000000000000000000000
--- a/ProjectSettings/TagManager.asset.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 99047c0f9b8cc454984b1daf7d81690b
-NativeFormatImporter:
-  externalObjects: {}
-  mainObjectFileID: 0
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/ProjectSettings/TimeManager.asset b/ProjectSettings/TimeManager.asset
deleted file mode 100644
index 558a017e1f50b2db73414a1abad3c033922774f8..0000000000000000000000000000000000000000
--- a/ProjectSettings/TimeManager.asset
+++ /dev/null
@@ -1,9 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!5 &1
-TimeManager:
-  m_ObjectHideFlags: 0
-  Fixed Timestep: 0.02
-  Maximum Allowed Timestep: 0.33333334
-  m_TimeScale: 1
-  Maximum Particle Timestep: 0.03
diff --git a/ProjectSettings/TimeManager.asset.meta b/ProjectSettings/TimeManager.asset.meta
deleted file mode 100644
index 05020f6b9ecb4a9eb07dc3d49223c863e7bfa496..0000000000000000000000000000000000000000
--- a/ProjectSettings/TimeManager.asset.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 295cb699fa6598548b767516df564222
-NativeFormatImporter:
-  externalObjects: {}
-  mainObjectFileID: 0
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/ProjectSettings/UnityConnectSettings.asset b/ProjectSettings/UnityConnectSettings.asset
deleted file mode 100644
index 6125b308af4d7e7649a33ce7facf541ff7e3ec47..0000000000000000000000000000000000000000
--- a/ProjectSettings/UnityConnectSettings.asset
+++ /dev/null
@@ -1,35 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!310 &1
-UnityConnectSettings:
-  m_ObjectHideFlags: 0
-  serializedVersion: 1
-  m_Enabled: 0
-  m_TestMode: 0
-  m_EventOldUrl: https://api.uca.cloud.unity3d.com/v1/events
-  m_EventUrl: https://cdp.cloud.unity3d.com/v1/events
-  m_ConfigUrl: https://config.uca.cloud.unity3d.com
-  m_DashboardUrl: https://dashboard.unity3d.com
-  m_TestInitMode: 0
-  CrashReportingSettings:
-    m_EventUrl: https://perf-events.cloud.unity3d.com
-    m_Enabled: 0
-    m_LogBufferSize: 10
-    m_CaptureEditorExceptions: 1
-  UnityPurchasingSettings:
-    m_Enabled: 0
-    m_TestMode: 0
-  UnityAnalyticsSettings:
-    m_Enabled: 0
-    m_TestMode: 0
-    m_InitializeOnStartup: 1
-  UnityAdsSettings:
-    m_Enabled: 0
-    m_InitializeOnStartup: 1
-    m_TestMode: 0
-    m_IosGameId: 
-    m_AndroidGameId: 
-    m_GameIds: {}
-    m_GameId: 
-  PerformanceReportingSettings:
-    m_Enabled: 0
diff --git a/ProjectSettings/UnityConnectSettings.asset.meta b/ProjectSettings/UnityConnectSettings.asset.meta
deleted file mode 100644
index 066af0498194b91fbe0c796695bed70432643c66..0000000000000000000000000000000000000000
--- a/ProjectSettings/UnityConnectSettings.asset.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 991311cb0f8c432438799551ee5d1de6
-NativeFormatImporter:
-  externalObjects: {}
-  mainObjectFileID: 0
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/ProjectSettings/VFXManager.asset b/ProjectSettings/VFXManager.asset
deleted file mode 100644
index 82b46d93b83edc055c75f2670ccffdcb655de64e..0000000000000000000000000000000000000000
--- a/ProjectSettings/VFXManager.asset
+++ /dev/null
@@ -1,15 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!937362698 &1
-VFXManager:
-  m_ObjectHideFlags: 0
-  m_IndirectShader: {fileID: 0}
-  m_CopyBufferShader: {fileID: 0}
-  m_SortShader: {fileID: 0}
-  m_StripUpdateShader: {fileID: 0}
-  m_RenderPipeSettingsPath: 
-  m_FixedTimeStep: 0.016666668
-  m_MaxDeltaTime: 0.05
-  m_CompiledVersion: 0
-  m_RuntimeVersion: 0
-  m_RuntimeResources: {fileID: 0}
diff --git a/ProjectSettings/VFXManager.asset.meta b/ProjectSettings/VFXManager.asset.meta
deleted file mode 100644
index 77e2bbfa3291269d154d4fe2698dfe598c7a410d..0000000000000000000000000000000000000000
--- a/ProjectSettings/VFXManager.asset.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 48f761eea97e70a4ebf73feef40bd3ce
-NativeFormatImporter:
-  externalObjects: {}
-  mainObjectFileID: 0
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/ProjectSettings/VersionControlSettings.asset b/ProjectSettings/VersionControlSettings.asset
deleted file mode 100644
index dca288142fc043d5a749e9058fe625505008834f..0000000000000000000000000000000000000000
--- a/ProjectSettings/VersionControlSettings.asset
+++ /dev/null
@@ -1,8 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!890905787 &1
-VersionControlSettings:
-  m_ObjectHideFlags: 0
-  m_Mode: Visible Meta Files
-  m_CollabEditorSettings:
-    inProgressEnabled: 1
diff --git a/ProjectSettings/VersionControlSettings.asset.meta b/ProjectSettings/VersionControlSettings.asset.meta
deleted file mode 100644
index 07a40832c1dacaff6cc61af936d53757963bf3f9..0000000000000000000000000000000000000000
--- a/ProjectSettings/VersionControlSettings.asset.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 37fb0e904d0aacb4498aa0239edff596
-NativeFormatImporter:
-  externalObjects: {}
-  mainObjectFileID: 0
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/ProjectSettings/boot.config b/ProjectSettings/boot.config
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/ProjectSettings/boot.config.meta b/ProjectSettings/boot.config.meta
deleted file mode 100644
index 49833f495e0c494d99723d2b8d3f0199e5292821..0000000000000000000000000000000000000000
--- a/ProjectSettings/boot.config.meta
+++ /dev/null
@@ -1,32 +0,0 @@
-fileFormatVersion: 2
-guid: 7b029a9dc17f85a4a83fc149e9183573
-PluginImporter:
-  externalObjects: {}
-  serializedVersion: 2
-  iconMap: {}
-  executionOrder: {}
-  defineConstraints: []
-  isPreloaded: 0
-  isOverridable: 1
-  isExplicitlyReferenced: 0
-  validateReferences: 1
-  platformData:
-  - first:
-      Any: 
-    second:
-      enabled: 0
-      settings: {}
-  - first:
-      Editor: Editor
-    second:
-      enabled: 0
-      settings:
-        DefaultValueInitialized: true
-  - first:
-      Windows Store Apps: WindowsStoreApps
-    second:
-      enabled: 1
-      settings: {}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/README.md b/README.md
index 51662aa4266501198800283fd4e84cb726efc3c4..8aee8fd855eb6f6d959b475297d5ccfc3263d5e0 100644
--- a/README.md
+++ b/README.md
@@ -11,9 +11,15 @@
 
 ---
 
+# Preliminary
+
+Up now, January 2024, the Unity version supoorted by the ARF is 2022 LTS. 
+
 # Description
 
-This is a Unity package to be included in Unity projects for accessing the ISG ARF World Storage. It contains the DLLs generated from the ISG ARF World Storage C# Client available at https://labs.etsi.org/rep/arf/world-storage-api-helpers/world-storage-csharp-client. This package also contains some examplary runtime scripts. They demonstrate how to use the API in combination with scriptable objects to set up various servers and users.
+This is a Unity package to be included in Unity projects for accessing the ISG ARF World Storage (and/or WorldAnalysis) data. It contains the c# modules generated from the ISG ARF World Storage C# Client available at https://labs.etsi.org/rep/arf/world-storage-api-helpers/world-storage-csharp-client. 
+
+This package also contains some examplary runtime scripts. They demonstrate how to use the API in combination with scriptable objects to set up various servers and users.
 
 # How to checkout
 
@@ -26,13 +32,26 @@ The second variant is recommended. It has been available since Unity 2020.
 
 When cloning the package into the `Packages` folder of a Unity project which itself is a git project, then the package should be referenced as git submodule. How this is done is documented in the https://git-scm.com/book/en/v2/Git-Tools-Submodules. An example project provided by the ISG ARF using this approach is available at https://labs.etsi.org/rep/arf/world-storage-api-helpers/unity-world-storage-editor.
 
+# Setting up Unity
+
+Add the NewtonSoft package. Go in the package manager from Unity and add a package by name:
+
+    Name: com.unity.nuget.newtonsoft-json
+    version: 3.2.1
+
+Change the Unity prefs to use the NET Framework (not only 2.1)
+
+Add a file "csc.rsp":
+
+    -r:System.ComponentModel.DataAnnotations.dll
+
 # How to update the client DLLs
 
-To update the client DLLs,
+To update the client API module(s)
 
 - checkout the ISG ARF World Storage C# Client available at https://labs.etsi.org/rep/arf/world-storage-api-helpers/world-storage-csharp-client,
 - build the ISG ARF World Storage C# Client as indicated in the corresponding `README.md` file,
-- copy the content of the folder `generated_client/bin` of that project into the `Plugins` folder of this project,
+- copy the content of the folder client\csharp-nswag` of that project into the `Plugins` folder of this project,
 - commit the changes of this project to the repository.
 
 Please ensure always to use the newest version of the ISG ARF World Storage C# Client.
diff --git a/Assets/Plugins/Org.OpenAPITools.xml.meta b/README.md.meta
similarity index 75%
rename from Assets/Plugins/Org.OpenAPITools.xml.meta
rename to README.md.meta
index 257c25d2f6b08af150aeb787d7759fd38a99148c..cc5df26ecef3f2358d4b302eff1a5824ecf10603 100644
--- a/Assets/Plugins/Org.OpenAPITools.xml.meta
+++ b/README.md.meta
@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: b91ec31882c185d4e9da9441ebe609e2
+guid: e951b6071cddc9c4d9c9bbf60507be73
 TextScriptImporter:
   externalObjects: {}
   userData: 
diff --git a/Assets/Plugins.meta b/Runtime.meta
similarity index 77%
rename from Assets/Plugins.meta
rename to Runtime.meta
index b1e3b19ff9e30afbbfc97d8e36cca5246ca5538a..6c0bbe0368a8f6ec3f13c4c533458ae6cd83d627 100644
--- a/Assets/Plugins.meta
+++ b/Runtime.meta
@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 7428887401623a946a71e87a3e6fb843
+guid: 13d4680d153876341a60fb2d5f2a006a
 folderAsset: yes
 DefaultImporter:
   externalObjects: {}
diff --git a/Assets/Scenes.meta b/Runtime/Scenes.meta
similarity index 100%
rename from Assets/Scenes.meta
rename to Runtime/Scenes.meta
diff --git a/Runtime/Scenes/ARFWorldStorageServer_HHI.asset b/Runtime/Scenes/ARFWorldStorageServer_HHI.asset
new file mode 100644
index 0000000000000000000000000000000000000000..2ce1ede22d70111b306bf310753ef69b8caa50c6
--- /dev/null
+++ b/Runtime/Scenes/ARFWorldStorageServer_HHI.asset
@@ -0,0 +1,19 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: e4b7be4c33f68d0418c3b4e1a7053d91, type: 3}
+  m_Name: ARFWorldStorageServer_HHI
+  m_EditorClassIdentifier: 
+  serverName: ETSI STF
+  company: Fraunhofer HHI
+  basePath: https://etsi.hhi.fraunhofer.de
+  port: 0
+  currentUser: {fileID: 0}
diff --git a/ProjectSettings/AudioManager.asset.meta b/Runtime/Scenes/ARFWorldStorageServer_HHI.asset.meta
similarity index 64%
rename from ProjectSettings/AudioManager.asset.meta
rename to Runtime/Scenes/ARFWorldStorageServer_HHI.asset.meta
index d8c8c30530d8f84e479fc8c58f11d2e0e60b4fcf..64518ff6c7bbbf4687b7414bdcfc89a886261dfc 100644
--- a/ProjectSettings/AudioManager.asset.meta
+++ b/Runtime/Scenes/ARFWorldStorageServer_HHI.asset.meta
@@ -1,8 +1,8 @@
 fileFormatVersion: 2
-guid: d1d8810df4a87114fa5d8eeb14b80d8d
+guid: e58ba3b536eb26a4d899273c538c88e7
 NativeFormatImporter:
   externalObjects: {}
-  mainObjectFileID: 0
+  mainObjectFileID: 11400000
   userData: 
   assetBundleName: 
   assetBundleVariant: 
diff --git a/Runtime/Scenes/ARFWorldStorageServer_Local.asset b/Runtime/Scenes/ARFWorldStorageServer_Local.asset
new file mode 100644
index 0000000000000000000000000000000000000000..f44b121a3d62bfaee4d96e533c0013d9ef4e8f9f
--- /dev/null
+++ b/Runtime/Scenes/ARFWorldStorageServer_Local.asset
@@ -0,0 +1,19 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: e4b7be4c33f68d0418c3b4e1a7053d91, type: 3}
+  m_Name: ARFWorldStorageServer_Local
+  m_EditorClassIdentifier: 
+  serverName: VisualStudio IIS
+  company: Fraunhofer HHI
+  basePath: https://localhost
+  port: 44301
+  currentUser: {fileID: 0}
diff --git a/ProjectSettings/ClusterInputManager.asset.meta b/Runtime/Scenes/ARFWorldStorageServer_Local.asset.meta
similarity index 64%
rename from ProjectSettings/ClusterInputManager.asset.meta
rename to Runtime/Scenes/ARFWorldStorageServer_Local.asset.meta
index 8e9a917478c4d6dbef2f788434b6889ff3257416..941e4b81567ae2f481a123724a7dcd095d9cf088 100644
--- a/ProjectSettings/ClusterInputManager.asset.meta
+++ b/Runtime/Scenes/ARFWorldStorageServer_Local.asset.meta
@@ -1,8 +1,8 @@
 fileFormatVersion: 2
-guid: 7c724d990762a3d468d28a5eb0b16eb3
+guid: f9a60da7e2e6288438cdf1a6c0b1d74c
 NativeFormatImporter:
   externalObjects: {}
-  mainObjectFileID: 0
+  mainObjectFileID: 11400000
   userData: 
   assetBundleName: 
   assetBundleVariant: 
diff --git a/Runtime/Scenes/OpenAPITest.cs b/Runtime/Scenes/OpenAPITest.cs
new file mode 100644
index 0000000000000000000000000000000000000000..a9f75a636b6caaf923b5867876a66d434f96be03
--- /dev/null
+++ b/Runtime/Scenes/OpenAPITest.cs
@@ -0,0 +1,178 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using TMPro;
+using UnityEngine;
+
+using ETSI.ARF.OpenAPI;
+using ETSI.ARF.OpenAPI.WorldStorage;
+using ETSI.ARF.WorldStorage;
+using ETSI.ARF.WorldStorage.REST;
+
+public class OpenAPITest : MonoBehaviour
+{
+    public WorldStorageServer server;
+    public TMP_Text servername;
+    public TMP_Text output;
+
+    private string msg = null;
+    private Queue handleResponseQ = new Queue();
+
+    private Guid lastUUID = Guid.Empty;
+
+    // Start is called before the first frame update
+    void Start()
+    {
+        if (servername) servername.text = "ARF Server: <color=yellow>" + server.basePath + "</color>";
+    }
+
+    // Update is called once per frame
+    void Update()
+    {
+        if (msg != null)
+        {
+            output.text = msg;
+            msg = null;
+        }
+
+        if (handleResponseQ.Count > 0)
+        {
+            object o = handleResponseQ.Dequeue();
+            if (o is ResponseObject<string>)
+            {
+                ResponseObject<string> response = o as ResponseObject<string>;
+                output.text = $"Request Time: { response.requestTime.ToLongTimeString() } / Total Time: { response.DeltaTime.TotalMilliseconds }ms\n\n<b>Content:</b>\n{ response.result }";
+            }
+            else if (o is ResponseObject<Trackable>)
+            {
+                ResponseObject<Trackable> response = o as ResponseObject<Trackable>;
+                output.text = $"Request Time: { response.requestTime.ToLongTimeString() } / Total Time: { response.DeltaTime.TotalMilliseconds }ms\n\n<b>Content:</b>\nUUID={ response.result.UUID}\nName={ response.result.Name }\nType={ response.result.TrackableType }";
+            }
+            else if (o is ResponseObject<List<Trackable>>)
+            {
+                ResponseObject<List<Trackable>> response = o as ResponseObject<List<Trackable>>;
+                output.text = $"Request Time: { response.requestTime.ToLongTimeString() } / Total Time: { response.DeltaTime.TotalMilliseconds }ms\n\n<b>Content:</b>\nNum of trackable objects={ response.result.Count }";
+                int i = 0;
+                foreach (var t in response.result)
+                {
+                    output.text += $"\n{ i++ }:  UUID={ t.UUID }";
+                    lastUUID = t.UUID;
+                }
+            }
+        }
+    }
+
+    public void OnButtonClick_TestPing()
+    {
+        if (server == null)
+        {
+            output.text = "Error: No server defined!";
+            return;
+        }
+
+        ResponseObject<string> token = AdminRequest.PingAsync(server, (response) =>
+        {
+            handleResponseQ.Enqueue(response);
+        });
+        output.text = "Starting request @ time: " + token.requestTime.ToLongTimeString() + "...";
+    }
+
+    public void OnButtonClick_GetLastTrackable()
+    {
+        if (server == null)
+        {
+            output.text = "Error: No server defined!";
+            return;
+        }
+
+        if (lastUUID == Guid.Empty)
+        {
+            output.text = "Error: Please, load first a list!";
+            return;
+        }
+
+        ResponseObject<Trackable> token = TrackableRequest.GetTrackableAsync(server, lastUUID, (response) =>
+        {
+            handleResponseQ.Enqueue(response);
+        });
+        output.text = "Starting request @ time: " + token.requestTime.ToLongTimeString() + "...";
+    }
+
+    public void OnButtonClick_GetAllTrackables()
+    {
+        if (server == null)
+        {
+            output.text = "Error: No server defined!";
+            return;
+        }
+
+        ResponseObject<List<Trackable>> token = TrackableRequest.GetTrackablesAsync(server, (response) =>
+        {
+            handleResponseQ.Enqueue(response);
+        });
+        output.text = "Starting request @ time: " + token.requestTime.ToLongTimeString() + "...";
+    }
+
+    public void OnButtonClick_CreateTrackable()
+    {
+        if (server == null)
+        {
+            output.text = "Error: No server defined!";
+            return;
+        }
+
+        Trackable tr = new Trackable(DateTime.Now.ToFileTime().ToString());
+        tr.TrackableType = TrackableType.OTHER;
+        ResponseObject<string> token = TrackableRequest.CreateTrackableAsync(server, tr, (response) =>
+        {
+            lastUUID = Guid.Parse(response.result);
+            handleResponseQ.Enqueue(response);
+        });
+        lastUUID = Guid.Empty;
+    }
+
+    public void OnButtonClick_UpdateLastTrackable()
+    {
+        if (server == null)
+        {
+            output.text = "Error: No server defined!";
+            return;
+        }
+
+        if (lastUUID == Guid.Empty)
+        {
+            output.text = "Error: Please, load first a list!";
+            return;
+        }
+
+        ResponseObject<Trackable> token = TrackableRequest.GetTrackableAsync(server, lastUUID, (response) =>
+        {
+            response.result.Name += "'";
+            ResponseObject<string> token = TrackableRequest.UpdateTrackableAsync(server, response.result, (response) =>
+            {
+                handleResponseQ.Enqueue(response);
+            });
+        });
+    }
+
+    public void OnButtonClick_DeleteLastTrackable()
+    {
+        if (server == null)
+        {
+            output.text = "Error: No server defined!";
+            return;
+        }
+
+        if (lastUUID == Guid.Empty)
+        {
+            output.text = "Error: Please, load first a list!";
+            return;
+        }
+
+        ResponseObject<string> token = TrackableRequest.DeleteTrackableAsync(server, lastUUID, (response) =>
+        {
+            handleResponseQ.Enqueue(response);
+            lastUUID = Guid.Empty;
+        });
+    }
+}
\ No newline at end of file
diff --git a/Runtime/Scenes/OpenAPITest.cs.meta b/Runtime/Scenes/OpenAPITest.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..5648e2b4764619fe9094132b4ba057fb2770c00e
--- /dev/null
+++ b/Runtime/Scenes/OpenAPITest.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 8d8b78014fb03e94c90db2fa1a2fde7b
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Runtime/Scenes/Package Test.unity b/Runtime/Scenes/Package Test.unity
new file mode 100644
index 0000000000000000000000000000000000000000..607faa70b9331a2829b5cd4e1879460aa1a110b6
--- /dev/null
+++ b/Runtime/Scenes/Package Test.unity	
@@ -0,0 +1,2823 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_OcclusionBakeSettings:
+    smallestOccluder: 5
+    smallestHole: 0.25
+    backfaceThreshold: 100
+  m_SceneGUID: 00000000000000000000000000000000
+  m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 9
+  m_Fog: 0
+  m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+  m_FogMode: 3
+  m_FogDensity: 0.01
+  m_LinearFogStart: 0
+  m_LinearFogEnd: 300
+  m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
+  m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
+  m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
+  m_AmbientIntensity: 1
+  m_AmbientMode: 0
+  m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
+  m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
+  m_HaloStrength: 0.5
+  m_FlareStrength: 1
+  m_FlareFadeSpeed: 3
+  m_HaloTexture: {fileID: 0}
+  m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
+  m_DefaultReflectionMode: 0
+  m_DefaultReflectionResolution: 128
+  m_ReflectionBounces: 1
+  m_ReflectionIntensity: 1
+  m_CustomReflection: {fileID: 0}
+  m_Sun: {fileID: 0}
+  m_IndirectSpecularColor: {r: 0.44402242, g: 0.49316543, b: 0.5722324, a: 1}
+  m_UseRadianceAmbientProbe: 0
+--- !u!157 &3
+LightmapSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 12
+  m_GIWorkflowMode: 1
+  m_GISettings:
+    serializedVersion: 2
+    m_BounceScale: 1
+    m_IndirectOutputScale: 1
+    m_AlbedoBoost: 1
+    m_EnvironmentLightingMode: 0
+    m_EnableBakedLightmaps: 1
+    m_EnableRealtimeLightmaps: 0
+  m_LightmapEditorSettings:
+    serializedVersion: 12
+    m_Resolution: 2
+    m_BakeResolution: 40
+    m_AtlasSize: 1024
+    m_AO: 0
+    m_AOMaxDistance: 1
+    m_CompAOExponent: 1
+    m_CompAOExponentDirect: 0
+    m_ExtractAmbientOcclusion: 0
+    m_Padding: 2
+    m_LightmapParameters: {fileID: 0}
+    m_LightmapsBakeMode: 1
+    m_TextureCompression: 1
+    m_FinalGather: 0
+    m_FinalGatherFiltering: 1
+    m_FinalGatherRayCount: 256
+    m_ReflectionCompression: 2
+    m_MixedBakeMode: 2
+    m_BakeBackend: 1
+    m_PVRSampling: 1
+    m_PVRDirectSampleCount: 32
+    m_PVRSampleCount: 512
+    m_PVRBounces: 2
+    m_PVREnvironmentSampleCount: 256
+    m_PVREnvironmentReferencePointCount: 2048
+    m_PVRFilteringMode: 1
+    m_PVRDenoiserTypeDirect: 1
+    m_PVRDenoiserTypeIndirect: 1
+    m_PVRDenoiserTypeAO: 1
+    m_PVRFilterTypeDirect: 0
+    m_PVRFilterTypeIndirect: 0
+    m_PVRFilterTypeAO: 0
+    m_PVREnvironmentMIS: 1
+    m_PVRCulling: 1
+    m_PVRFilteringGaussRadiusDirect: 1
+    m_PVRFilteringGaussRadiusIndirect: 5
+    m_PVRFilteringGaussRadiusAO: 2
+    m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+    m_PVRFilteringAtrousPositionSigmaIndirect: 2
+    m_PVRFilteringAtrousPositionSigmaAO: 1
+    m_ExportTrainingData: 0
+    m_TrainingDataDestination: TrainingData
+    m_LightProbeSampleCountMultiplier: 4
+  m_LightingDataAsset: {fileID: 0}
+  m_LightingSettings: {fileID: 0}
+--- !u!196 &4
+NavMeshSettings:
+  serializedVersion: 2
+  m_ObjectHideFlags: 0
+  m_BuildSettings:
+    serializedVersion: 3
+    agentTypeID: 0
+    agentRadius: 0.5
+    agentHeight: 2
+    agentSlope: 45
+    agentClimb: 0.4
+    ledgeDropHeight: 0
+    maxJumpAcrossDistance: 0
+    minRegionArea: 2
+    manualCellSize: 0
+    cellSize: 0.16666667
+    manualTileSize: 0
+    tileSize: 256
+    buildHeightMesh: 0
+    maxJobWorkers: 0
+    preserveTilesOutsideBounds: 0
+    debug:
+      m_Flags: 0
+  m_NavMeshData: {fileID: 0}
+--- !u!1 &67681887
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 67681888}
+  - component: {fileID: 67681890}
+  - component: {fileID: 67681889}
+  m_Layer: 5
+  m_Name: Text (TMP)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &67681888
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 67681887}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 1996377111}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &67681889
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 67681887}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_text: Delete last trackable
+  m_isRightToLeft: 0
+  m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+  m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+  m_fontSharedMaterials: []
+  m_fontMaterial: {fileID: 0}
+  m_fontMaterials: []
+  m_fontColor32:
+    serializedVersion: 2
+    rgba: 4281479730
+  m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_enableVertexGradient: 0
+  m_colorMode: 3
+  m_fontColorGradient:
+    topLeft: {r: 1, g: 1, b: 1, a: 1}
+    topRight: {r: 1, g: 1, b: 1, a: 1}
+    bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+    bottomRight: {r: 1, g: 1, b: 1, a: 1}
+  m_fontColorGradientPreset: {fileID: 0}
+  m_spriteAsset: {fileID: 0}
+  m_tintAllSprites: 0
+  m_StyleSheet: {fileID: 0}
+  m_TextStyleHashCode: -1183493901
+  m_overrideHtmlColors: 0
+  m_faceColor:
+    serializedVersion: 2
+    rgba: 4294967295
+  m_fontSize: 36
+  m_fontSizeBase: 36
+  m_fontWeight: 400
+  m_enableAutoSizing: 0
+  m_fontSizeMin: 0
+  m_fontSizeMax: 0
+  m_fontStyle: 0
+  m_HorizontalAlignment: 2
+  m_VerticalAlignment: 512
+  m_textAlignment: 65535
+  m_characterSpacing: 0
+  m_wordSpacing: 0
+  m_lineSpacing: 0
+  m_lineSpacingMax: 0
+  m_paragraphSpacing: 0
+  m_charWidthMaxAdj: 0
+  m_enableWordWrapping: 0
+  m_wordWrappingRatios: 0.4
+  m_overflowMode: 0
+  m_linkedTextComponent: {fileID: 0}
+  parentLinkedComponent: {fileID: 0}
+  m_enableKerning: 0
+  m_enableExtraPadding: 0
+  checkPaddingRequired: 0
+  m_isRichText: 1
+  m_parseCtrlCharacters: 1
+  m_isOrthographic: 1
+  m_isCullingEnabled: 0
+  m_horizontalMapping: 0
+  m_verticalMapping: 0
+  m_uvLineOffset: 0
+  m_geometrySortingOrder: 0
+  m_IsTextObjectScaleStatic: 0
+  m_VertexBufferAutoSizeReduction: 0
+  m_useMaxVisibleDescender: 1
+  m_pageToDisplay: 1
+  m_margin: {x: 0, y: 0, z: 0, w: 0}
+  m_isUsingLegacyAnimationComponent: 0
+  m_isVolumetricText: 0
+  m_hasFontAssetChanged: 0
+  m_baseMaterial: {fileID: 0}
+  m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!222 &67681890
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 67681887}
+  m_CullTransparentMesh: 1
+--- !u!1 &395487864
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 395487865}
+  - component: {fileID: 395487867}
+  - component: {fileID: 395487866}
+  m_Layer: 5
+  m_Name: Panel
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &395487865
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 395487864}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children:
+  - {fileID: 1973593796}
+  m_Father: {fileID: 491226576}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 1000}
+  m_Pivot: {x: 0, y: 1}
+--- !u!114 &395487866
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 395487864}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 0.392}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 0.25
+--- !u!222 &395487867
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 395487864}
+  m_CullTransparentMesh: 1
+--- !u!1 &440844000
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 440844001}
+  - component: {fileID: 440844003}
+  - component: {fileID: 440844002}
+  m_Layer: 5
+  m_Name: Text (TMP)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &440844001
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 440844000}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 517791555}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &440844002
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 440844000}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_text: Create trackable (will be the last)
+  m_isRightToLeft: 0
+  m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+  m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+  m_fontSharedMaterials: []
+  m_fontMaterial: {fileID: 0}
+  m_fontMaterials: []
+  m_fontColor32:
+    serializedVersion: 2
+    rgba: 4281479730
+  m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_enableVertexGradient: 0
+  m_colorMode: 3
+  m_fontColorGradient:
+    topLeft: {r: 1, g: 1, b: 1, a: 1}
+    topRight: {r: 1, g: 1, b: 1, a: 1}
+    bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+    bottomRight: {r: 1, g: 1, b: 1, a: 1}
+  m_fontColorGradientPreset: {fileID: 0}
+  m_spriteAsset: {fileID: 0}
+  m_tintAllSprites: 0
+  m_StyleSheet: {fileID: 0}
+  m_TextStyleHashCode: -1183493901
+  m_overrideHtmlColors: 0
+  m_faceColor:
+    serializedVersion: 2
+    rgba: 4294967295
+  m_fontSize: 36
+  m_fontSizeBase: 36
+  m_fontWeight: 400
+  m_enableAutoSizing: 0
+  m_fontSizeMin: 0
+  m_fontSizeMax: 0
+  m_fontStyle: 0
+  m_HorizontalAlignment: 2
+  m_VerticalAlignment: 512
+  m_textAlignment: 65535
+  m_characterSpacing: 0
+  m_wordSpacing: 0
+  m_lineSpacing: 0
+  m_lineSpacingMax: 0
+  m_paragraphSpacing: 0
+  m_charWidthMaxAdj: 0
+  m_enableWordWrapping: 0
+  m_wordWrappingRatios: 0.4
+  m_overflowMode: 0
+  m_linkedTextComponent: {fileID: 0}
+  parentLinkedComponent: {fileID: 0}
+  m_enableKerning: 0
+  m_enableExtraPadding: 0
+  checkPaddingRequired: 0
+  m_isRichText: 1
+  m_parseCtrlCharacters: 1
+  m_isOrthographic: 1
+  m_isCullingEnabled: 0
+  m_horizontalMapping: 0
+  m_verticalMapping: 0
+  m_uvLineOffset: 0
+  m_geometrySortingOrder: 0
+  m_IsTextObjectScaleStatic: 0
+  m_VertexBufferAutoSizeReduction: 0
+  m_useMaxVisibleDescender: 1
+  m_pageToDisplay: 1
+  m_margin: {x: 0, y: 0, z: 0, w: 0}
+  m_isUsingLegacyAnimationComponent: 0
+  m_isVolumetricText: 0
+  m_hasFontAssetChanged: 0
+  m_baseMaterial: {fileID: 0}
+  m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!222 &440844003
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 440844000}
+  m_CullTransparentMesh: 1
+--- !u!1 &485599437
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 485599438}
+  - component: {fileID: 485599441}
+  - component: {fileID: 485599440}
+  - component: {fileID: 485599439}
+  m_Layer: 5
+  m_Name: Button Ping
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &485599438
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 485599437}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 1
+  m_Children:
+  - {fileID: 2095380538}
+  m_Father: {fileID: 491226576}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 80}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &485599439
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 485599437}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_WrapAround: 0
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+    m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+    m_ColorMultiplier: 1
+    m_FadeDuration: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_SelectedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_SelectedTrigger: Selected
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 485599440}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls:
+      - m_Target: {fileID: 2123268211}
+        m_TargetAssemblyTypeName: OpenAPITest, Assembly-CSharp
+        m_MethodName: OnButtonClick_TestPing
+        m_Mode: 1
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+--- !u!114 &485599440
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 485599437}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 0.25
+--- !u!222 &485599441
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 485599437}
+  m_CullTransparentMesh: 1
+--- !u!1 &491226575
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 491226576}
+  - component: {fileID: 491226577}
+  m_Layer: 5
+  m_Name: Buttons
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &491226576
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 491226575}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 1
+  m_Children:
+  - {fileID: 1270536909}
+  - {fileID: 1809658684}
+  - {fileID: 485599438}
+  - {fileID: 492157028}
+  - {fileID: 925389934}
+  - {fileID: 517791555}
+  - {fileID: 1534925207}
+  - {fileID: 1996377111}
+  - {fileID: 1144814802}
+  - {fileID: 395487865}
+  m_Father: {fileID: 846631106}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 32, y: -200}
+  m_SizeDelta: {x: -64, y: 400}
+  m_Pivot: {x: 0, y: 1}
+--- !u!114 &491226577
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 491226575}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding:
+    m_Left: 0
+    m_Right: 0
+    m_Top: 0
+    m_Bottom: 0
+  m_ChildAlignment: 1
+  m_Spacing: 0
+  m_ChildForceExpandWidth: 1
+  m_ChildForceExpandHeight: 0
+  m_ChildControlWidth: 1
+  m_ChildControlHeight: 0
+  m_ChildScaleWidth: 0
+  m_ChildScaleHeight: 0
+  m_ReverseArrangement: 0
+--- !u!1 &492157027
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 492157028}
+  - component: {fileID: 492157031}
+  - component: {fileID: 492157030}
+  - component: {fileID: 492157029}
+  m_Layer: 5
+  m_Name: Button List of trackables
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &492157028
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 492157027}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 1
+  m_Children:
+  - {fileID: 768727574}
+  m_Father: {fileID: 491226576}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 80}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &492157029
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 492157027}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_WrapAround: 0
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+    m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+    m_ColorMultiplier: 1
+    m_FadeDuration: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_SelectedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_SelectedTrigger: Selected
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 492157030}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls:
+      - m_Target: {fileID: 2123268211}
+        m_TargetAssemblyTypeName: OpenAPITest, Assembly-CSharp
+        m_MethodName: OnButtonClick_GetAllTrackables
+        m_Mode: 1
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+--- !u!114 &492157030
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 492157027}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 0.25
+--- !u!222 &492157031
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 492157027}
+  m_CullTransparentMesh: 1
+--- !u!1 &517791554
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 517791555}
+  - component: {fileID: 517791558}
+  - component: {fileID: 517791557}
+  - component: {fileID: 517791556}
+  m_Layer: 5
+  m_Name: Button Create trackable
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &517791555
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 517791554}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 1
+  m_Children:
+  - {fileID: 440844001}
+  m_Father: {fileID: 491226576}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 80}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &517791556
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 517791554}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_WrapAround: 0
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+    m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+    m_ColorMultiplier: 1
+    m_FadeDuration: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_SelectedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_SelectedTrigger: Selected
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 517791557}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls:
+      - m_Target: {fileID: 2123268211}
+        m_TargetAssemblyTypeName: OpenAPITest, Assembly-CSharp
+        m_MethodName: OnButtonClick_CreateTrackable
+        m_Mode: 1
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+--- !u!114 &517791557
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 517791554}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 0.25
+--- !u!222 &517791558
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 517791554}
+  m_CullTransparentMesh: 1
+--- !u!1 &768727573
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 768727574}
+  - component: {fileID: 768727576}
+  - component: {fileID: 768727575}
+  m_Layer: 5
+  m_Name: Text (TMP)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &768727574
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 768727573}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 492157028}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &768727575
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 768727573}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_text: Request trackables
+  m_isRightToLeft: 0
+  m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+  m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+  m_fontSharedMaterials: []
+  m_fontMaterial: {fileID: 0}
+  m_fontMaterials: []
+  m_fontColor32:
+    serializedVersion: 2
+    rgba: 4281479730
+  m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_enableVertexGradient: 0
+  m_colorMode: 3
+  m_fontColorGradient:
+    topLeft: {r: 1, g: 1, b: 1, a: 1}
+    topRight: {r: 1, g: 1, b: 1, a: 1}
+    bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+    bottomRight: {r: 1, g: 1, b: 1, a: 1}
+  m_fontColorGradientPreset: {fileID: 0}
+  m_spriteAsset: {fileID: 0}
+  m_tintAllSprites: 0
+  m_StyleSheet: {fileID: 0}
+  m_TextStyleHashCode: -1183493901
+  m_overrideHtmlColors: 0
+  m_faceColor:
+    serializedVersion: 2
+    rgba: 4294967295
+  m_fontSize: 36
+  m_fontSizeBase: 36
+  m_fontWeight: 400
+  m_enableAutoSizing: 0
+  m_fontSizeMin: 0
+  m_fontSizeMax: 0
+  m_fontStyle: 0
+  m_HorizontalAlignment: 2
+  m_VerticalAlignment: 512
+  m_textAlignment: 65535
+  m_characterSpacing: 0
+  m_wordSpacing: 0
+  m_lineSpacing: 0
+  m_lineSpacingMax: 0
+  m_paragraphSpacing: 0
+  m_charWidthMaxAdj: 0
+  m_enableWordWrapping: 0
+  m_wordWrappingRatios: 0.4
+  m_overflowMode: 0
+  m_linkedTextComponent: {fileID: 0}
+  parentLinkedComponent: {fileID: 0}
+  m_enableKerning: 0
+  m_enableExtraPadding: 0
+  checkPaddingRequired: 0
+  m_isRichText: 1
+  m_parseCtrlCharacters: 1
+  m_isOrthographic: 1
+  m_isCullingEnabled: 0
+  m_horizontalMapping: 0
+  m_verticalMapping: 0
+  m_uvLineOffset: 0
+  m_geometrySortingOrder: 0
+  m_IsTextObjectScaleStatic: 0
+  m_VertexBufferAutoSizeReduction: 0
+  m_useMaxVisibleDescender: 1
+  m_pageToDisplay: 1
+  m_margin: {x: 0, y: 0, z: 0, w: 0}
+  m_isUsingLegacyAnimationComponent: 0
+  m_isVolumetricText: 0
+  m_hasFontAssetChanged: 0
+  m_baseMaterial: {fileID: 0}
+  m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!222 &768727576
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 768727573}
+  m_CullTransparentMesh: 1
+--- !u!1 &846631102
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 846631106}
+  - component: {fileID: 846631105}
+  - component: {fileID: 846631104}
+  - component: {fileID: 846631103}
+  m_Layer: 5
+  m_Name: Canvas
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &846631103
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 846631102}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_IgnoreReversedGraphics: 1
+  m_BlockingObjects: 0
+  m_BlockingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+--- !u!114 &846631104
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 846631102}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_UiScaleMode: 0
+  m_ReferencePixelsPerUnit: 100
+  m_ScaleFactor: 1
+  m_ReferenceResolution: {x: 800, y: 600}
+  m_ScreenMatchMode: 0
+  m_MatchWidthOrHeight: 0
+  m_PhysicalUnit: 3
+  m_FallbackScreenDPI: 96
+  m_DefaultSpriteDPI: 96
+  m_DynamicPixelsPerUnit: 1
+  m_PresetInfoIsWorld: 0
+--- !u!223 &846631105
+Canvas:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 846631102}
+  m_Enabled: 1
+  serializedVersion: 3
+  m_RenderMode: 0
+  m_Camera: {fileID: 0}
+  m_PlaneDistance: 100
+  m_PixelPerfect: 0
+  m_ReceivesEvents: 1
+  m_OverrideSorting: 0
+  m_OverridePixelPerfect: 0
+  m_SortingBucketNormalizedSize: 0
+  m_VertexColorAlwaysGammaSpace: 0
+  m_AdditionalShaderChannelsFlag: 25
+  m_UpdateRectTransformForStandalone: 0
+  m_SortingLayerID: 0
+  m_SortingOrder: 0
+  m_TargetDisplay: 0
+--- !u!224 &846631106
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 846631102}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 0, y: 0, z: 0}
+  m_ConstrainProportionsScale: 0
+  m_Children:
+  - {fileID: 491226576}
+  m_Father: {fileID: 0}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0, y: 0}
+--- !u!1 &925389933
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 925389934}
+  - component: {fileID: 925389937}
+  - component: {fileID: 925389936}
+  - component: {fileID: 925389935}
+  m_Layer: 5
+  m_Name: Button Last trackable
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &925389934
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 925389933}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 1
+  m_Children:
+  - {fileID: 1064828075}
+  m_Father: {fileID: 491226576}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 80}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &925389935
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 925389933}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_WrapAround: 0
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+    m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+    m_ColorMultiplier: 1
+    m_FadeDuration: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_SelectedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_SelectedTrigger: Selected
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 925389936}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls:
+      - m_Target: {fileID: 2123268211}
+        m_TargetAssemblyTypeName: OpenAPITest, Assembly-CSharp
+        m_MethodName: OnButtonClick_GetLastTrackable
+        m_Mode: 1
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+--- !u!114 &925389936
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 925389933}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 0.25
+--- !u!222 &925389937
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 925389933}
+  m_CullTransparentMesh: 1
+--- !u!1 &1064828074
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1064828075}
+  - component: {fileID: 1064828077}
+  - component: {fileID: 1064828076}
+  m_Layer: 5
+  m_Name: Text (TMP)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1064828075
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1064828074}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 925389934}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1064828076
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1064828074}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_text: Request one trackable (last one)
+  m_isRightToLeft: 0
+  m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+  m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+  m_fontSharedMaterials: []
+  m_fontMaterial: {fileID: 0}
+  m_fontMaterials: []
+  m_fontColor32:
+    serializedVersion: 2
+    rgba: 4281479730
+  m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_enableVertexGradient: 0
+  m_colorMode: 3
+  m_fontColorGradient:
+    topLeft: {r: 1, g: 1, b: 1, a: 1}
+    topRight: {r: 1, g: 1, b: 1, a: 1}
+    bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+    bottomRight: {r: 1, g: 1, b: 1, a: 1}
+  m_fontColorGradientPreset: {fileID: 0}
+  m_spriteAsset: {fileID: 0}
+  m_tintAllSprites: 0
+  m_StyleSheet: {fileID: 0}
+  m_TextStyleHashCode: -1183493901
+  m_overrideHtmlColors: 0
+  m_faceColor:
+    serializedVersion: 2
+    rgba: 4294967295
+  m_fontSize: 36
+  m_fontSizeBase: 36
+  m_fontWeight: 400
+  m_enableAutoSizing: 0
+  m_fontSizeMin: 0
+  m_fontSizeMax: 0
+  m_fontStyle: 0
+  m_HorizontalAlignment: 2
+  m_VerticalAlignment: 512
+  m_textAlignment: 65535
+  m_characterSpacing: 0
+  m_wordSpacing: 0
+  m_lineSpacing: 0
+  m_lineSpacingMax: 0
+  m_paragraphSpacing: 0
+  m_charWidthMaxAdj: 0
+  m_enableWordWrapping: 0
+  m_wordWrappingRatios: 0.4
+  m_overflowMode: 0
+  m_linkedTextComponent: {fileID: 0}
+  parentLinkedComponent: {fileID: 0}
+  m_enableKerning: 0
+  m_enableExtraPadding: 0
+  checkPaddingRequired: 0
+  m_isRichText: 1
+  m_parseCtrlCharacters: 1
+  m_isOrthographic: 1
+  m_isCullingEnabled: 0
+  m_horizontalMapping: 0
+  m_verticalMapping: 0
+  m_uvLineOffset: 0
+  m_geometrySortingOrder: 0
+  m_IsTextObjectScaleStatic: 0
+  m_VertexBufferAutoSizeReduction: 0
+  m_useMaxVisibleDescender: 1
+  m_pageToDisplay: 1
+  m_margin: {x: 0, y: 0, z: 0, w: 0}
+  m_isUsingLegacyAnimationComponent: 0
+  m_isVolumetricText: 0
+  m_hasFontAssetChanged: 0
+  m_baseMaterial: {fileID: 0}
+  m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!222 &1064828077
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1064828074}
+  m_CullTransparentMesh: 1
+--- !u!1 &1144814801
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1144814802}
+  - component: {fileID: 1144814804}
+  - component: {fileID: 1144814803}
+  m_Layer: 5
+  m_Name: Label
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1144814802
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1144814801}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 491226576}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 100}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1144814803
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1144814801}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_text: 'Response:'
+  m_isRightToLeft: 0
+  m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+  m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+  m_fontSharedMaterials: []
+  m_fontMaterial: {fileID: 0}
+  m_fontMaterials: []
+  m_fontColor32:
+    serializedVersion: 2
+    rgba: 4294967295
+  m_fontColor: {r: 1, g: 1, b: 1, a: 1}
+  m_enableVertexGradient: 0
+  m_colorMode: 3
+  m_fontColorGradient:
+    topLeft: {r: 1, g: 1, b: 1, a: 1}
+    topRight: {r: 1, g: 1, b: 1, a: 1}
+    bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+    bottomRight: {r: 1, g: 1, b: 1, a: 1}
+  m_fontColorGradientPreset: {fileID: 0}
+  m_spriteAsset: {fileID: 0}
+  m_tintAllSprites: 0
+  m_StyleSheet: {fileID: 0}
+  m_TextStyleHashCode: -1183493901
+  m_overrideHtmlColors: 0
+  m_faceColor:
+    serializedVersion: 2
+    rgba: 4294967295
+  m_fontSize: 36
+  m_fontSizeBase: 36
+  m_fontWeight: 400
+  m_enableAutoSizing: 0
+  m_fontSizeMin: 18
+  m_fontSizeMax: 72
+  m_fontStyle: 4
+  m_HorizontalAlignment: 1
+  m_VerticalAlignment: 512
+  m_textAlignment: 65535
+  m_characterSpacing: 0
+  m_wordSpacing: 0
+  m_lineSpacing: 0
+  m_lineSpacingMax: 0
+  m_paragraphSpacing: 0
+  m_charWidthMaxAdj: 0
+  m_enableWordWrapping: 1
+  m_wordWrappingRatios: 0.4
+  m_overflowMode: 0
+  m_linkedTextComponent: {fileID: 0}
+  parentLinkedComponent: {fileID: 0}
+  m_enableKerning: 1
+  m_enableExtraPadding: 0
+  checkPaddingRequired: 0
+  m_isRichText: 1
+  m_parseCtrlCharacters: 1
+  m_isOrthographic: 1
+  m_isCullingEnabled: 0
+  m_horizontalMapping: 0
+  m_verticalMapping: 0
+  m_uvLineOffset: 0
+  m_geometrySortingOrder: 0
+  m_IsTextObjectScaleStatic: 0
+  m_VertexBufferAutoSizeReduction: 0
+  m_useMaxVisibleDescender: 1
+  m_pageToDisplay: 1
+  m_margin: {x: 0, y: 0, z: 0, w: 0}
+  m_isUsingLegacyAnimationComponent: 0
+  m_isVolumetricText: 0
+  m_hasFontAssetChanged: 0
+  m_baseMaterial: {fileID: 0}
+  m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!222 &1144814804
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1144814801}
+  m_CullTransparentMesh: 1
+--- !u!1 &1270536908
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1270536909}
+  - component: {fileID: 1270536911}
+  - component: {fileID: 1270536910}
+  m_Layer: 5
+  m_Name: Server
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1270536909
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1270536908}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 491226576}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 100}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1270536910
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1270536908}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_text: 'ARF Server: -'
+  m_isRightToLeft: 0
+  m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+  m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+  m_fontSharedMaterials: []
+  m_fontMaterial: {fileID: 0}
+  m_fontMaterials: []
+  m_fontColor32:
+    serializedVersion: 2
+    rgba: 4294967295
+  m_fontColor: {r: 1, g: 1, b: 1, a: 1}
+  m_enableVertexGradient: 0
+  m_colorMode: 3
+  m_fontColorGradient:
+    topLeft: {r: 1, g: 1, b: 1, a: 1}
+    topRight: {r: 1, g: 1, b: 1, a: 1}
+    bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+    bottomRight: {r: 1, g: 1, b: 1, a: 1}
+  m_fontColorGradientPreset: {fileID: 0}
+  m_spriteAsset: {fileID: 0}
+  m_tintAllSprites: 0
+  m_StyleSheet: {fileID: 0}
+  m_TextStyleHashCode: -1183493901
+  m_overrideHtmlColors: 0
+  m_faceColor:
+    serializedVersion: 2
+    rgba: 4294967295
+  m_fontSize: 36
+  m_fontSizeBase: 36
+  m_fontWeight: 400
+  m_enableAutoSizing: 0
+  m_fontSizeMin: 18
+  m_fontSizeMax: 72
+  m_fontStyle: 1
+  m_HorizontalAlignment: 1
+  m_VerticalAlignment: 512
+  m_textAlignment: 65535
+  m_characterSpacing: 0
+  m_wordSpacing: 0
+  m_lineSpacing: 0
+  m_lineSpacingMax: 0
+  m_paragraphSpacing: 0
+  m_charWidthMaxAdj: 0
+  m_enableWordWrapping: 1
+  m_wordWrappingRatios: 0.4
+  m_overflowMode: 0
+  m_linkedTextComponent: {fileID: 0}
+  parentLinkedComponent: {fileID: 0}
+  m_enableKerning: 1
+  m_enableExtraPadding: 0
+  checkPaddingRequired: 0
+  m_isRichText: 1
+  m_parseCtrlCharacters: 1
+  m_isOrthographic: 1
+  m_isCullingEnabled: 0
+  m_horizontalMapping: 0
+  m_verticalMapping: 0
+  m_uvLineOffset: 0
+  m_geometrySortingOrder: 0
+  m_IsTextObjectScaleStatic: 0
+  m_VertexBufferAutoSizeReduction: 0
+  m_useMaxVisibleDescender: 1
+  m_pageToDisplay: 1
+  m_margin: {x: 0, y: 0, z: 0, w: 0}
+  m_isUsingLegacyAnimationComponent: 0
+  m_isVolumetricText: 0
+  m_hasFontAssetChanged: 0
+  m_baseMaterial: {fileID: 0}
+  m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!222 &1270536911
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1270536908}
+  m_CullTransparentMesh: 1
+--- !u!1 &1534925206
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1534925207}
+  - component: {fileID: 1534925210}
+  - component: {fileID: 1534925209}
+  - component: {fileID: 1534925208}
+  m_Layer: 5
+  m_Name: Button Update trackable
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1534925207
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1534925206}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 1
+  m_Children:
+  - {fileID: 1864481863}
+  m_Father: {fileID: 491226576}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 80}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1534925208
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1534925206}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_WrapAround: 0
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+    m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+    m_ColorMultiplier: 1
+    m_FadeDuration: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_SelectedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_SelectedTrigger: Selected
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 1534925209}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls:
+      - m_Target: {fileID: 2123268211}
+        m_TargetAssemblyTypeName: OpenAPITest, Assembly-CSharp
+        m_MethodName: OnButtonClick_UpdateLastTrackable
+        m_Mode: 1
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+--- !u!114 &1534925209
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1534925206}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 0.25
+--- !u!222 &1534925210
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1534925206}
+  m_CullTransparentMesh: 1
+--- !u!1 &1809658683
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1809658684}
+  - component: {fileID: 1809658686}
+  - component: {fileID: 1809658685}
+  m_Layer: 5
+  m_Name: Title
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1809658684
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1809658683}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 491226576}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 100}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1809658685
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1809658683}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_text: 'Select a REST request:'
+  m_isRightToLeft: 0
+  m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+  m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+  m_fontSharedMaterials: []
+  m_fontMaterial: {fileID: 0}
+  m_fontMaterials: []
+  m_fontColor32:
+    serializedVersion: 2
+    rgba: 4294967295
+  m_fontColor: {r: 1, g: 1, b: 1, a: 1}
+  m_enableVertexGradient: 0
+  m_colorMode: 3
+  m_fontColorGradient:
+    topLeft: {r: 1, g: 1, b: 1, a: 1}
+    topRight: {r: 1, g: 1, b: 1, a: 1}
+    bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+    bottomRight: {r: 1, g: 1, b: 1, a: 1}
+  m_fontColorGradientPreset: {fileID: 0}
+  m_spriteAsset: {fileID: 0}
+  m_tintAllSprites: 0
+  m_StyleSheet: {fileID: 0}
+  m_TextStyleHashCode: -1183493901
+  m_overrideHtmlColors: 0
+  m_faceColor:
+    serializedVersion: 2
+    rgba: 4294967295
+  m_fontSize: 36
+  m_fontSizeBase: 36
+  m_fontWeight: 400
+  m_enableAutoSizing: 0
+  m_fontSizeMin: 18
+  m_fontSizeMax: 72
+  m_fontStyle: 4
+  m_HorizontalAlignment: 1
+  m_VerticalAlignment: 512
+  m_textAlignment: 65535
+  m_characterSpacing: 0
+  m_wordSpacing: 0
+  m_lineSpacing: 0
+  m_lineSpacingMax: 0
+  m_paragraphSpacing: 0
+  m_charWidthMaxAdj: 0
+  m_enableWordWrapping: 1
+  m_wordWrappingRatios: 0.4
+  m_overflowMode: 0
+  m_linkedTextComponent: {fileID: 0}
+  parentLinkedComponent: {fileID: 0}
+  m_enableKerning: 1
+  m_enableExtraPadding: 0
+  checkPaddingRequired: 0
+  m_isRichText: 1
+  m_parseCtrlCharacters: 1
+  m_isOrthographic: 1
+  m_isCullingEnabled: 0
+  m_horizontalMapping: 0
+  m_verticalMapping: 0
+  m_uvLineOffset: 0
+  m_geometrySortingOrder: 0
+  m_IsTextObjectScaleStatic: 0
+  m_VertexBufferAutoSizeReduction: 0
+  m_useMaxVisibleDescender: 1
+  m_pageToDisplay: 1
+  m_margin: {x: 0, y: 0, z: 0, w: 0}
+  m_isUsingLegacyAnimationComponent: 0
+  m_isVolumetricText: 0
+  m_hasFontAssetChanged: 0
+  m_baseMaterial: {fileID: 0}
+  m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!222 &1809658686
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1809658683}
+  m_CullTransparentMesh: 1
+--- !u!1 &1864481862
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1864481863}
+  - component: {fileID: 1864481865}
+  - component: {fileID: 1864481864}
+  m_Layer: 5
+  m_Name: Text (TMP)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1864481863
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1864481862}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 1534925207}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1864481864
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1864481862}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_text: Update last trackable
+  m_isRightToLeft: 0
+  m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+  m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+  m_fontSharedMaterials: []
+  m_fontMaterial: {fileID: 0}
+  m_fontMaterials: []
+  m_fontColor32:
+    serializedVersion: 2
+    rgba: 4281479730
+  m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_enableVertexGradient: 0
+  m_colorMode: 3
+  m_fontColorGradient:
+    topLeft: {r: 1, g: 1, b: 1, a: 1}
+    topRight: {r: 1, g: 1, b: 1, a: 1}
+    bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+    bottomRight: {r: 1, g: 1, b: 1, a: 1}
+  m_fontColorGradientPreset: {fileID: 0}
+  m_spriteAsset: {fileID: 0}
+  m_tintAllSprites: 0
+  m_StyleSheet: {fileID: 0}
+  m_TextStyleHashCode: -1183493901
+  m_overrideHtmlColors: 0
+  m_faceColor:
+    serializedVersion: 2
+    rgba: 4294967295
+  m_fontSize: 36
+  m_fontSizeBase: 36
+  m_fontWeight: 400
+  m_enableAutoSizing: 0
+  m_fontSizeMin: 0
+  m_fontSizeMax: 0
+  m_fontStyle: 0
+  m_HorizontalAlignment: 2
+  m_VerticalAlignment: 512
+  m_textAlignment: 65535
+  m_characterSpacing: 0
+  m_wordSpacing: 0
+  m_lineSpacing: 0
+  m_lineSpacingMax: 0
+  m_paragraphSpacing: 0
+  m_charWidthMaxAdj: 0
+  m_enableWordWrapping: 0
+  m_wordWrappingRatios: 0.4
+  m_overflowMode: 0
+  m_linkedTextComponent: {fileID: 0}
+  parentLinkedComponent: {fileID: 0}
+  m_enableKerning: 0
+  m_enableExtraPadding: 0
+  checkPaddingRequired: 0
+  m_isRichText: 1
+  m_parseCtrlCharacters: 1
+  m_isOrthographic: 1
+  m_isCullingEnabled: 0
+  m_horizontalMapping: 0
+  m_verticalMapping: 0
+  m_uvLineOffset: 0
+  m_geometrySortingOrder: 0
+  m_IsTextObjectScaleStatic: 0
+  m_VertexBufferAutoSizeReduction: 0
+  m_useMaxVisibleDescender: 1
+  m_pageToDisplay: 1
+  m_margin: {x: 0, y: 0, z: 0, w: 0}
+  m_isUsingLegacyAnimationComponent: 0
+  m_isVolumetricText: 0
+  m_hasFontAssetChanged: 0
+  m_baseMaterial: {fileID: 0}
+  m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!222 &1864481865
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1864481862}
+  m_CullTransparentMesh: 1
+--- !u!1 &1900725046
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1900725049}
+  - component: {fileID: 1900725048}
+  - component: {fileID: 1900725047}
+  m_Layer: 0
+  m_Name: Main Camera
+  m_TagString: MainCamera
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!81 &1900725047
+AudioListener:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1900725046}
+  m_Enabled: 1
+--- !u!20 &1900725048
+Camera:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1900725046}
+  m_Enabled: 1
+  serializedVersion: 2
+  m_ClearFlags: 1
+  m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
+  m_projectionMatrixMode: 1
+  m_GateFitMode: 2
+  m_FOVAxisMode: 0
+  m_Iso: 200
+  m_ShutterSpeed: 0.005
+  m_Aperture: 16
+  m_FocusDistance: 10
+  m_FocalLength: 50
+  m_BladeCount: 5
+  m_Curvature: {x: 2, y: 11}
+  m_BarrelClipping: 0.25
+  m_Anamorphism: 0
+  m_SensorSize: {x: 36, y: 24}
+  m_LensShift: {x: 0, y: 0}
+  m_NormalizedViewPortRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+  near clip plane: 0.3
+  far clip plane: 1000
+  field of view: 60
+  orthographic: 0
+  orthographic size: 5
+  m_Depth: -1
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+  m_RenderingPath: -1
+  m_TargetTexture: {fileID: 0}
+  m_TargetDisplay: 0
+  m_TargetEye: 3
+  m_HDR: 1
+  m_AllowMSAA: 1
+  m_AllowDynamicResolution: 0
+  m_ForceIntoRT: 0
+  m_OcclusionCulling: 1
+  m_StereoConvergence: 10
+  m_StereoSeparation: 0.022
+--- !u!4 &1900725049
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1900725046}
+  serializedVersion: 2
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 1, z: -10}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1900725526
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1900725528}
+  - component: {fileID: 1900725527}
+  m_Layer: 0
+  m_Name: Directional Light
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!108 &1900725527
+Light:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1900725526}
+  m_Enabled: 1
+  serializedVersion: 10
+  m_Type: 1
+  m_Shape: 0
+  m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
+  m_Intensity: 1
+  m_Range: 10
+  m_SpotAngle: 30
+  m_InnerSpotAngle: 21.80208
+  m_CookieSize: 10
+  m_Shadows:
+    m_Type: 2
+    m_Resolution: -1
+    m_CustomResolution: -1
+    m_Strength: 1
+    m_Bias: 0.05
+    m_NormalBias: 0.4
+    m_NearPlane: 0.2
+    m_CullingMatrixOverride:
+      e00: 1
+      e01: 0
+      e02: 0
+      e03: 0
+      e10: 0
+      e11: 1
+      e12: 0
+      e13: 0
+      e20: 0
+      e21: 0
+      e22: 1
+      e23: 0
+      e30: 0
+      e31: 0
+      e32: 0
+      e33: 1
+    m_UseCullingMatrixOverride: 0
+  m_Cookie: {fileID: 0}
+  m_DrawHalo: 0
+  m_Flare: {fileID: 0}
+  m_RenderMode: 0
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+  m_RenderingLayerMask: 1
+  m_Lightmapping: 4
+  m_LightShadowCasterMode: 0
+  m_AreaSize: {x: 1, y: 1}
+  m_BounceIntensity: 1
+  m_ColorTemperature: 6570
+  m_UseColorTemperature: 0
+  m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
+  m_UseBoundingSphereOverride: 0
+  m_UseViewFrustumForShadowCasterCull: 1
+  m_ShadowRadius: 0
+  m_ShadowAngle: 0
+--- !u!4 &1900725528
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1900725526}
+  serializedVersion: 2
+  m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
+  m_LocalPosition: {x: 0, y: 3, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
+--- !u!1 &1973593795
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1973593796}
+  - component: {fileID: 1973593798}
+  - component: {fileID: 1973593797}
+  m_Layer: 5
+  m_Name: Output
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1973593796
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1973593795}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 1
+  m_Children: []
+  m_Father: {fileID: 395487865}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: -32, y: -32}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1973593797
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1973593795}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_text: '-'
+  m_isRightToLeft: 0
+  m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+  m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+  m_fontSharedMaterials: []
+  m_fontMaterial: {fileID: 0}
+  m_fontMaterials: []
+  m_fontColor32:
+    serializedVersion: 2
+    rgba: 4278190080
+  m_fontColor: {r: 0, g: 0, b: 0, a: 1}
+  m_enableVertexGradient: 0
+  m_colorMode: 3
+  m_fontColorGradient:
+    topLeft: {r: 1, g: 1, b: 1, a: 1}
+    topRight: {r: 1, g: 1, b: 1, a: 1}
+    bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+    bottomRight: {r: 1, g: 1, b: 1, a: 1}
+  m_fontColorGradientPreset: {fileID: 0}
+  m_spriteAsset: {fileID: 0}
+  m_tintAllSprites: 0
+  m_StyleSheet: {fileID: 0}
+  m_TextStyleHashCode: -1183493901
+  m_overrideHtmlColors: 0
+  m_faceColor:
+    serializedVersion: 2
+    rgba: 4294967295
+  m_fontSize: 36
+  m_fontSizeBase: 36
+  m_fontWeight: 400
+  m_enableAutoSizing: 0
+  m_fontSizeMin: 18
+  m_fontSizeMax: 72
+  m_fontStyle: 0
+  m_HorizontalAlignment: 1
+  m_VerticalAlignment: 256
+  m_textAlignment: 65535
+  m_characterSpacing: 0
+  m_wordSpacing: 0
+  m_lineSpacing: 0
+  m_lineSpacingMax: 0
+  m_paragraphSpacing: 0
+  m_charWidthMaxAdj: 0
+  m_enableWordWrapping: 1
+  m_wordWrappingRatios: 0.4
+  m_overflowMode: 0
+  m_linkedTextComponent: {fileID: 0}
+  parentLinkedComponent: {fileID: 0}
+  m_enableKerning: 1
+  m_enableExtraPadding: 0
+  checkPaddingRequired: 0
+  m_isRichText: 1
+  m_parseCtrlCharacters: 1
+  m_isOrthographic: 1
+  m_isCullingEnabled: 0
+  m_horizontalMapping: 0
+  m_verticalMapping: 0
+  m_uvLineOffset: 0
+  m_geometrySortingOrder: 0
+  m_IsTextObjectScaleStatic: 0
+  m_VertexBufferAutoSizeReduction: 0
+  m_useMaxVisibleDescender: 1
+  m_pageToDisplay: 1
+  m_margin: {x: 0, y: 0, z: 0, w: 0}
+  m_isUsingLegacyAnimationComponent: 0
+  m_isVolumetricText: 0
+  m_hasFontAssetChanged: 0
+  m_baseMaterial: {fileID: 0}
+  m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!222 &1973593798
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1973593795}
+  m_CullTransparentMesh: 1
+--- !u!1 &1996377110
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1996377111}
+  - component: {fileID: 1996377114}
+  - component: {fileID: 1996377113}
+  - component: {fileID: 1996377112}
+  m_Layer: 5
+  m_Name: Button Delete trackable
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1996377111
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1996377110}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 1
+  m_Children:
+  - {fileID: 67681888}
+  m_Father: {fileID: 491226576}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 80}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1996377112
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1996377110}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_WrapAround: 0
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+    m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+    m_ColorMultiplier: 1
+    m_FadeDuration: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_SelectedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_SelectedTrigger: Selected
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 1996377113}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls:
+      - m_Target: {fileID: 2123268211}
+        m_TargetAssemblyTypeName: OpenAPITest, Assembly-CSharp
+        m_MethodName: OnButtonClick_DeleteLastTrackable
+        m_Mode: 1
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+--- !u!114 &1996377113
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1996377110}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 0.25
+--- !u!222 &1996377114
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1996377110}
+  m_CullTransparentMesh: 1
+--- !u!1 &2040736466
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 2040736469}
+  - component: {fileID: 2040736468}
+  - component: {fileID: 2040736467}
+  m_Layer: 0
+  m_Name: EventSystem
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &2040736467
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2040736466}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_SendPointerHoverToParent: 1
+  m_HorizontalAxis: Horizontal
+  m_VerticalAxis: Vertical
+  m_SubmitButton: Submit
+  m_CancelButton: Cancel
+  m_InputActionsPerSecond: 10
+  m_RepeatDelay: 0.5
+  m_ForceModuleActive: 0
+--- !u!114 &2040736468
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2040736466}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_FirstSelected: {fileID: 0}
+  m_sendNavigationEvents: 1
+  m_DragThreshold: 10
+--- !u!4 &2040736469
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2040736466}
+  serializedVersion: 2
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &2095380537
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 2095380538}
+  - component: {fileID: 2095380540}
+  - component: {fileID: 2095380539}
+  m_Layer: 5
+  m_Name: Text (TMP)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &2095380538
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2095380537}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 485599438}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &2095380539
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2095380537}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_text: Ping
+  m_isRightToLeft: 0
+  m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+  m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+  m_fontSharedMaterials: []
+  m_fontMaterial: {fileID: 0}
+  m_fontMaterials: []
+  m_fontColor32:
+    serializedVersion: 2
+    rgba: 4281479730
+  m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_enableVertexGradient: 0
+  m_colorMode: 3
+  m_fontColorGradient:
+    topLeft: {r: 1, g: 1, b: 1, a: 1}
+    topRight: {r: 1, g: 1, b: 1, a: 1}
+    bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+    bottomRight: {r: 1, g: 1, b: 1, a: 1}
+  m_fontColorGradientPreset: {fileID: 0}
+  m_spriteAsset: {fileID: 0}
+  m_tintAllSprites: 0
+  m_StyleSheet: {fileID: 0}
+  m_TextStyleHashCode: -1183493901
+  m_overrideHtmlColors: 0
+  m_faceColor:
+    serializedVersion: 2
+    rgba: 4294967295
+  m_fontSize: 36
+  m_fontSizeBase: 36
+  m_fontWeight: 400
+  m_enableAutoSizing: 0
+  m_fontSizeMin: 0
+  m_fontSizeMax: 0
+  m_fontStyle: 0
+  m_HorizontalAlignment: 2
+  m_VerticalAlignment: 512
+  m_textAlignment: 65535
+  m_characterSpacing: 0
+  m_wordSpacing: 0
+  m_lineSpacing: 0
+  m_lineSpacingMax: 0
+  m_paragraphSpacing: 0
+  m_charWidthMaxAdj: 0
+  m_enableWordWrapping: 0
+  m_wordWrappingRatios: 0.4
+  m_overflowMode: 0
+  m_linkedTextComponent: {fileID: 0}
+  parentLinkedComponent: {fileID: 0}
+  m_enableKerning: 0
+  m_enableExtraPadding: 0
+  checkPaddingRequired: 0
+  m_isRichText: 1
+  m_parseCtrlCharacters: 1
+  m_isOrthographic: 1
+  m_isCullingEnabled: 0
+  m_horizontalMapping: 0
+  m_verticalMapping: 0
+  m_uvLineOffset: 0
+  m_geometrySortingOrder: 0
+  m_IsTextObjectScaleStatic: 0
+  m_VertexBufferAutoSizeReduction: 0
+  m_useMaxVisibleDescender: 1
+  m_pageToDisplay: 1
+  m_margin: {x: 0, y: 0, z: 0, w: 0}
+  m_isUsingLegacyAnimationComponent: 0
+  m_isVolumetricText: 0
+  m_hasFontAssetChanged: 0
+  m_baseMaterial: {fileID: 0}
+  m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!222 &2095380540
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2095380537}
+  m_CullTransparentMesh: 1
+--- !u!1 &2123268210
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 2123268212}
+  - component: {fileID: 2123268211}
+  m_Layer: 0
+  m_Name: OpenAPI Test
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &2123268211
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2123268210}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 8d8b78014fb03e94c90db2fa1a2fde7b, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  server: {fileID: 11400000, guid: e58ba3b536eb26a4d899273c538c88e7, type: 2}
+  servername: {fileID: 1270536910}
+  output: {fileID: 1973593797}
+--- !u!4 &2123268212
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2123268210}
+  serializedVersion: 2
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 611.94275, y: 1032.1666, z: -1.7015415}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1660057539 &9223372036854775807
+SceneRoots:
+  m_ObjectHideFlags: 0
+  m_Roots:
+  - {fileID: 1900725049}
+  - {fileID: 1900725528}
+  - {fileID: 2040736469}
+  - {fileID: 2123268212}
+  - {fileID: 846631106}
diff --git a/Assets/Scenes/test.unity.meta b/Runtime/Scenes/Package Test.unity.meta
similarity index 100%
rename from Assets/Scenes/test.unity.meta
rename to Runtime/Scenes/Package Test.unity.meta
diff --git a/Assets/Scriptables.meta b/Runtime/Scriptables.meta
similarity index 100%
rename from Assets/Scriptables.meta
rename to Runtime/Scriptables.meta
diff --git a/Assets/Scriptables/WorldStorageServer.cs b/Runtime/Scriptables/WorldStorageServer.cs
similarity index 93%
rename from Assets/Scriptables/WorldStorageServer.cs
rename to Runtime/Scriptables/WorldStorageServer.cs
index ce305b17a3306d8d6ab94420640a428fa4a3e7a5..8b09622c9f69c1303323b762b3f273b7badd7d00 100644
--- a/Assets/Scriptables/WorldStorageServer.cs
+++ b/Runtime/Scriptables/WorldStorageServer.cs
@@ -34,6 +34,6 @@ namespace ETSI.ARF.WorldStorage
         [Space(8)]
         [SerializeField] public WorldStorageUser currentUser = null;
 
-        public string URI => basePath + ":" + port.ToString();
+        public string URI => port == 0 ? basePath : basePath + ":" + port.ToString();
     }
 }
\ No newline at end of file
diff --git a/Assets/Scriptables/WorldStorageServer.cs.meta b/Runtime/Scriptables/WorldStorageServer.cs.meta
similarity index 100%
rename from Assets/Scriptables/WorldStorageServer.cs.meta
rename to Runtime/Scriptables/WorldStorageServer.cs.meta
diff --git a/Assets/Scriptables/WorldStorageUser.cs b/Runtime/Scriptables/WorldStorageUser.cs
similarity index 100%
rename from Assets/Scriptables/WorldStorageUser.cs
rename to Runtime/Scriptables/WorldStorageUser.cs
diff --git a/Assets/Scriptables/WorldStorageUser.cs.meta b/Runtime/Scriptables/WorldStorageUser.cs.meta
similarity index 100%
rename from Assets/Scriptables/WorldStorageUser.cs.meta
rename to Runtime/Scriptables/WorldStorageUser.cs.meta
diff --git a/Assets/Runtime.meta b/Runtime/Scripts.meta
similarity index 100%
rename from Assets/Runtime.meta
rename to Runtime/Scripts.meta
diff --git a/Logs.meta b/Runtime/Scripts/OpenAPI.meta
similarity index 77%
rename from Logs.meta
rename to Runtime/Scripts/OpenAPI.meta
index c31a9f1b662b7e9e025454c2aab580f2b8384727..78baa8b5739e9df7dc1998082d79d7934d13eefb 100644
--- a/Logs.meta
+++ b/Runtime/Scripts/OpenAPI.meta
@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 9a8ab6909a6fb8e4e90f4f1da5dd9f80
+guid: ab559568a816d2249859f15aab5beaf5
 folderAsset: yes
 DefaultImporter:
   externalObjects: {}
diff --git a/Runtime/Scripts/OpenAPI/DataModels.cs b/Runtime/Scripts/OpenAPI/DataModels.cs
new file mode 100644
index 0000000000000000000000000000000000000000..d017018f2a55c03d3380daaf4354d6c8d5d1a32e
--- /dev/null
+++ b/Runtime/Scripts/OpenAPI/DataModels.cs
@@ -0,0 +1,41 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace ETSI.ARF.OpenAPI.WorldStorage
+{
+    public interface IModel
+    {
+        public System.Guid UUID { get; set; }
+    }
+
+    //
+    // Implement here some constructors
+    //
+    public partial class Trackable : IModel
+    {
+        public Trackable(string name)
+        {
+            UUID = Guid.NewGuid();
+            Name = name;
+        }
+    }
+
+    public partial class WorldAnchor : IModel
+    {
+        public WorldAnchor(string name)
+        {
+            UUID = Guid.NewGuid();
+            Name = name;
+        }
+    }
+
+    public partial class WorldLink : IModel
+    {
+        public WorldLink()
+        {
+            UUID = Guid.NewGuid();
+        }
+    }
+}
\ No newline at end of file
diff --git a/Runtime/Scripts/OpenAPI/DataModels.cs.meta b/Runtime/Scripts/OpenAPI/DataModels.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..9c09d378305dd7e6825b638c9a741a3d822a1bc6
--- /dev/null
+++ b/Runtime/Scripts/OpenAPI/DataModels.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 01be611ab05b75b42a3b176770fe33ae
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Packages.meta b/Runtime/Scripts/OpenAPI/Generated.meta
similarity index 77%
rename from Packages.meta
rename to Runtime/Scripts/OpenAPI/Generated.meta
index 0dec714da396a1feebfb9a831e296c3455e3eaf5..05f59fc49d49f362c9e23b0e36024b4ae54d5674 100644
--- a/Packages.meta
+++ b/Runtime/Scripts/OpenAPI/Generated.meta
@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 3225bc0367298c045889b1ae6e8891e9
+guid: 0b55aeff11c61a34e9fbaaeaeb1c9efc
 folderAsset: yes
 DefaultImporter:
   externalObjects: {}
diff --git a/Runtime/Scripts/OpenAPI/Generated/WorldStorageOpenAPI.cs b/Runtime/Scripts/OpenAPI/Generated/WorldStorageOpenAPI.cs
new file mode 100644
index 0000000000000000000000000000000000000000..a61b2ae2fe85ebdba436fac4c3dfb7cafaf0152a
--- /dev/null
+++ b/Runtime/Scripts/OpenAPI/Generated/WorldStorageOpenAPI.cs
@@ -0,0 +1,3039 @@
+//----------------------
+// <auto-generated>
+//     Generated using the NSwag toolchain v14.0.7.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0)) (http://NSwag.org)
+// </auto-generated>
+//----------------------
+
+#pragma warning disable 108 // Disable "CS0108 '{derivedDto}.ToJson()' hides inherited member '{dtoBase}.ToJson()'. Use the new keyword if hiding was intended."
+#pragma warning disable 114 // Disable "CS0114 '{derivedDto}.RaisePropertyChanged(String)' hides inherited member 'dtoBase.RaisePropertyChanged(String)'. To make the current member override that implementation, add the override keyword. Otherwise add the new keyword."
+#pragma warning disable 472 // Disable "CS0472 The result of the expression is always 'false' since a value of type 'Int32' is never equal to 'null' of type 'Int32?'
+#pragma warning disable 612 // Disable "CS0612 '...' is obsolete"
+#pragma warning disable 1573 // Disable "CS1573 Parameter '...' has no matching param tag in the XML comment for ...
+#pragma warning disable 1591 // Disable "CS1591 Missing XML comment for publicly visible type or member ..."
+#pragma warning disable 8073 // Disable "CS8073 The result of the expression is always 'false' since a value of type 'T' is never equal to 'null' of type 'T?'"
+#pragma warning disable 3016 // Disable "CS3016 Arrays as attribute arguments is not CLS-compliant"
+#pragma warning disable 8603 // Disable "CS8603 Possible null reference return"
+#pragma warning disable 8604 // Disable "CS8604 Possible null reference argument for parameter"
+#pragma warning disable 8625 // Disable "CS8625 Cannot convert null literal to non-nullable reference type"
+#pragma warning disable CS8765 // Nullability of type of parameter doesn't match overridden member (possibly because of nullability attributes).
+
+namespace ETSI.ARF.OpenAPI.WorldStorage
+{
+    using System = global::System;
+
+    [System.CodeDom.Compiler.GeneratedCode("NSwag", "14.0.7.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")]
+    public partial class WorldStorageClient 
+    {
+        private ETSI.ARF.OpenAPI.IHttpClient _httpClient;
+        private static System.Lazy<Newtonsoft.Json.JsonSerializerSettings> _settings = new System.Lazy<Newtonsoft.Json.JsonSerializerSettings>(CreateSerializerSettings, true);
+
+    #pragma warning disable CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider declaring as nullable.
+        public WorldStorageClient(ETSI.ARF.OpenAPI.IHttpClient httpClient)
+    #pragma warning restore CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider declaring as nullable.
+        {
+            _httpClient = httpClient;
+        }
+
+        private static Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
+        {
+            var settings = new Newtonsoft.Json.JsonSerializerSettings();
+            UpdateJsonSerializerSettings(settings);
+            return settings;
+        }
+
+        protected Newtonsoft.Json.JsonSerializerSettings JsonSerializerSettings { get { return _settings.Value; } }
+
+        static partial void UpdateJsonSerializerSettings(Newtonsoft.Json.JsonSerializerSettings settings);
+
+        partial void PrepareRequest(ETSI.ARF.OpenAPI.IHttpClient client, System.Net.Http.HttpRequestMessage request, string url);
+        partial void PrepareRequest(ETSI.ARF.OpenAPI.IHttpClient client, System.Net.Http.HttpRequestMessage request, System.Text.StringBuilder urlBuilder);
+        partial void ProcessResponse(ETSI.ARF.OpenAPI.IHttpClient client, System.Net.Http.HttpResponseMessage response);
+
+        /// <summary>
+        /// Test the server availability.
+        /// </summary>
+        /// <returns>Ok, returns a string message.</returns>
+        /// <exception cref="ApiException">A server side error occurred.</exception>
+        public virtual System.Threading.Tasks.Task<string> GetPingAsync()
+        {
+            return GetPingAsync(System.Threading.CancellationToken.None);
+        }
+
+        /// <summary>
+        /// Test the server availability.
+        /// </summary>
+        /// <returns>Ok, returns a string message.</returns>
+        /// <exception cref="ApiException">A server side error occurred.</exception>
+        public virtual string GetPing()
+        {
+            return System.Threading.Tasks.Task.Run(async () => await GetPingAsync(System.Threading.CancellationToken.None)).GetAwaiter().GetResult();
+        }
+
+        /// <param name="cancellationToken">A cancellation token that can be used by other objects or threads to receive notice of cancellation.</param>
+        /// <summary>
+        /// Test the server availability.
+        /// </summary>
+        /// <returns>Ok, returns a string message.</returns>
+        /// <exception cref="ApiException">A server side error occurred.</exception>
+        public virtual async System.Threading.Tasks.Task<string> GetPingAsync(System.Threading.CancellationToken cancellationToken)
+        {
+            var client_ = _httpClient;
+            var disposeClient_ = false;
+            try
+            {
+                using (var request_ = new System.Net.Http.HttpRequestMessage())
+                {
+                    request_.Method = new System.Net.Http.HttpMethod("GET");
+                    request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("text/plain"));
+
+                    var urlBuilder_ = new System.Text.StringBuilder();
+                
+                    // Operation Path: "ping"
+                    urlBuilder_.Append("ping");
+
+                    PrepareRequest(client_, request_, urlBuilder_);
+
+                    var url_ = urlBuilder_.ToString();
+                    request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute);
+
+                    PrepareRequest(client_, request_, url_);
+
+                    var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false);
+                    var disposeResponse_ = true;
+                    try
+                    {
+                        var headers_ = new System.Collections.Generic.Dictionary<string, System.Collections.Generic.IEnumerable<string>>();
+                        foreach (var item_ in response_.Headers)
+                            headers_[item_.Key] = item_.Value;
+                        if (response_.Content != null && response_.Content.Headers != null)
+                        {
+                            foreach (var item_ in response_.Content.Headers)
+                                headers_[item_.Key] = item_.Value;
+                        }
+
+                        ProcessResponse(client_, response_);
+
+                        var status_ = (int)response_.StatusCode;
+                        if (status_ == 200)
+                        {
+                            var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+                            var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+                            return result_;
+                        }
+                        else
+                        {
+                            var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+                            throw new ApiException("The HTTP status code of the response was not expected (" + status_ + ").", status_, responseData_, headers_, null);
+                        }
+                    }
+                    finally
+                    {
+                        if (disposeResponse_)
+                            response_.Dispose();
+                    }
+                }
+            }
+            finally
+            {
+                if (disposeClient_)
+                    client_.Dispose();
+            }
+        }
+
+        /// <summary>
+        /// Get the state of the server.
+        /// </summary>
+        /// <returns>OK, world storage server ready.</returns>
+        /// <exception cref="ApiException">A server side error occurred.</exception>
+        public virtual System.Threading.Tasks.Task<string> GetAdminAsync()
+        {
+            return GetAdminAsync(System.Threading.CancellationToken.None);
+        }
+
+        /// <summary>
+        /// Get the state of the server.
+        /// </summary>
+        /// <returns>OK, world storage server ready.</returns>
+        /// <exception cref="ApiException">A server side error occurred.</exception>
+        public virtual string GetAdmin()
+        {
+            return System.Threading.Tasks.Task.Run(async () => await GetAdminAsync(System.Threading.CancellationToken.None)).GetAwaiter().GetResult();
+        }
+
+        /// <param name="cancellationToken">A cancellation token that can be used by other objects or threads to receive notice of cancellation.</param>
+        /// <summary>
+        /// Get the state of the server.
+        /// </summary>
+        /// <returns>OK, world storage server ready.</returns>
+        /// <exception cref="ApiException">A server side error occurred.</exception>
+        public virtual async System.Threading.Tasks.Task<string> GetAdminAsync(System.Threading.CancellationToken cancellationToken)
+        {
+            var client_ = _httpClient;
+            var disposeClient_ = false;
+            try
+            {
+                using (var request_ = new System.Net.Http.HttpRequestMessage())
+                {
+                    request_.Method = new System.Net.Http.HttpMethod("GET");
+                    request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("text/plain"));
+
+                    var urlBuilder_ = new System.Text.StringBuilder();
+                
+                    // Operation Path: "admin"
+                    urlBuilder_.Append("admin");
+
+                    PrepareRequest(client_, request_, urlBuilder_);
+
+                    var url_ = urlBuilder_.ToString();
+                    request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute);
+
+                    PrepareRequest(client_, request_, url_);
+
+                    var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false);
+                    var disposeResponse_ = true;
+                    try
+                    {
+                        var headers_ = new System.Collections.Generic.Dictionary<string, System.Collections.Generic.IEnumerable<string>>();
+                        foreach (var item_ in response_.Headers)
+                            headers_[item_.Key] = item_.Value;
+                        if (response_.Content != null && response_.Content.Headers != null)
+                        {
+                            foreach (var item_ in response_.Content.Headers)
+                                headers_[item_.Key] = item_.Value;
+                        }
+
+                        ProcessResponse(client_, response_);
+
+                        var status_ = (int)response_.StatusCode;
+                        if (status_ == 200)
+                        {
+                            var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+                            var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+                            return result_;
+                        }
+                        else
+                        {
+                            var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+                            throw new ApiException("The HTTP status code of the response was not expected (" + status_ + ").", status_, responseData_, headers_, null);
+                        }
+                    }
+                    finally
+                    {
+                        if (disposeResponse_)
+                            response_.Dispose();
+                    }
+                }
+            }
+            finally
+            {
+                if (disposeClient_)
+                    client_.Dispose();
+            }
+        }
+
+        /// <summary>
+        /// Get the version of the ARF API.
+        /// </summary>
+        /// <returns>Current version.</returns>
+        /// <exception cref="ApiException">A server side error occurred.</exception>
+        public virtual System.Threading.Tasks.Task<string> GetVersionAsync()
+        {
+            return GetVersionAsync(System.Threading.CancellationToken.None);
+        }
+
+        /// <summary>
+        /// Get the version of the ARF API.
+        /// </summary>
+        /// <returns>Current version.</returns>
+        /// <exception cref="ApiException">A server side error occurred.</exception>
+        public virtual string GetVersion()
+        {
+            return System.Threading.Tasks.Task.Run(async () => await GetVersionAsync(System.Threading.CancellationToken.None)).GetAwaiter().GetResult();
+        }
+
+        /// <param name="cancellationToken">A cancellation token that can be used by other objects or threads to receive notice of cancellation.</param>
+        /// <summary>
+        /// Get the version of the ARF API.
+        /// </summary>
+        /// <returns>Current version.</returns>
+        /// <exception cref="ApiException">A server side error occurred.</exception>
+        public virtual async System.Threading.Tasks.Task<string> GetVersionAsync(System.Threading.CancellationToken cancellationToken)
+        {
+            var client_ = _httpClient;
+            var disposeClient_ = false;
+            try
+            {
+                using (var request_ = new System.Net.Http.HttpRequestMessage())
+                {
+                    request_.Method = new System.Net.Http.HttpMethod("GET");
+                    request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("text/plain"));
+
+                    var urlBuilder_ = new System.Text.StringBuilder();
+                
+                    // Operation Path: "version"
+                    urlBuilder_.Append("version");
+
+                    PrepareRequest(client_, request_, urlBuilder_);
+
+                    var url_ = urlBuilder_.ToString();
+                    request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute);
+
+                    PrepareRequest(client_, request_, url_);
+
+                    var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false);
+                    var disposeResponse_ = true;
+                    try
+                    {
+                        var headers_ = new System.Collections.Generic.Dictionary<string, System.Collections.Generic.IEnumerable<string>>();
+                        foreach (var item_ in response_.Headers)
+                            headers_[item_.Key] = item_.Value;
+                        if (response_.Content != null && response_.Content.Headers != null)
+                        {
+                            foreach (var item_ in response_.Content.Headers)
+                                headers_[item_.Key] = item_.Value;
+                        }
+
+                        ProcessResponse(client_, response_);
+
+                        var status_ = (int)response_.StatusCode;
+                        if (status_ == 200)
+                        {
+                            var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+                            var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+                            return result_;
+                        }
+                        else
+                        {
+                            var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+                            throw new ApiException("The HTTP status code of the response was not expected (" + status_ + ").", status_, responseData_, headers_, null);
+                        }
+                    }
+                    finally
+                    {
+                        if (disposeResponse_)
+                            response_.Dispose();
+                    }
+                }
+            }
+            finally
+            {
+                if (disposeClient_)
+                    client_.Dispose();
+            }
+        }
+
+        /// <summary>
+        /// Operation to retrieve all the relocalization information of one or severals WorldAnchors or Trackables.
+        /// </summary>
+        /// <param name="uuids">List of pairs consisting of UUIDs of requested World Anchors  or Trackables and a mode representing the context of the requested information</param>
+        /// <param name="capabilities">the list of all trackables and his encoding structure associated representing the supported data of the User</param>
+        /// <returns>Successful operation.</returns>
+        /// <exception cref="ApiException">A server side error occurred.</exception>
+        public virtual System.Threading.Tasks.Task<Response> GetRelocalizationInformationAsync(string token, System.Collections.Generic.IEnumerable<Anonymous> uuids, System.Collections.Generic.IEnumerable<Capability> capabilities)
+        {
+            return GetRelocalizationInformationAsync(token, uuids, capabilities, System.Threading.CancellationToken.None);
+        }
+
+        /// <summary>
+        /// Operation to retrieve all the relocalization information of one or severals WorldAnchors or Trackables.
+        /// </summary>
+        /// <param name="uuids">List of pairs consisting of UUIDs of requested World Anchors  or Trackables and a mode representing the context of the requested information</param>
+        /// <param name="capabilities">the list of all trackables and his encoding structure associated representing the supported data of the User</param>
+        /// <returns>Successful operation.</returns>
+        /// <exception cref="ApiException">A server side error occurred.</exception>
+        public virtual Response GetRelocalizationInformation(string token, System.Collections.Generic.IEnumerable<Anonymous> uuids, System.Collections.Generic.IEnumerable<Capability> capabilities)
+        {
+            return System.Threading.Tasks.Task.Run(async () => await GetRelocalizationInformationAsync(token, uuids, capabilities, System.Threading.CancellationToken.None)).GetAwaiter().GetResult();
+        }
+
+        /// <param name="cancellationToken">A cancellation token that can be used by other objects or threads to receive notice of cancellation.</param>
+        /// <summary>
+        /// Operation to retrieve all the relocalization information of one or severals WorldAnchors or Trackables.
+        /// </summary>
+        /// <param name="uuids">List of pairs consisting of UUIDs of requested World Anchors  or Trackables and a mode representing the context of the requested information</param>
+        /// <param name="capabilities">the list of all trackables and his encoding structure associated representing the supported data of the User</param>
+        /// <returns>Successful operation.</returns>
+        /// <exception cref="ApiException">A server side error occurred.</exception>
+        public virtual async System.Threading.Tasks.Task<Response> GetRelocalizationInformationAsync(string token, System.Collections.Generic.IEnumerable<Anonymous> uuids, System.Collections.Generic.IEnumerable<Capability> capabilities, System.Threading.CancellationToken cancellationToken)
+        {
+            if (uuids == null)
+                throw new System.ArgumentNullException("uuids");
+
+            if (capabilities == null)
+                throw new System.ArgumentNullException("capabilities");
+
+            var client_ = _httpClient;
+            var disposeClient_ = false;
+            try
+            {
+                using (var request_ = new System.Net.Http.HttpRequestMessage())
+                {
+
+                    if (token != null)
+                        request_.Headers.TryAddWithoutValidation("token", ConvertToString(token, System.Globalization.CultureInfo.InvariantCulture));
+                    request_.Method = new System.Net.Http.HttpMethod("GET");
+                    request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json"));
+
+                    var urlBuilder_ = new System.Text.StringBuilder();
+                
+                    // Operation Path: "relocalizationInformation"
+                    urlBuilder_.Append("relocalizationInformation");
+                    urlBuilder_.Append('?');
+                    foreach (var item_ in uuids) { urlBuilder_.Append(System.Uri.EscapeDataString("uuids")).Append('=').Append(System.Uri.EscapeDataString(ConvertToString(item_, System.Globalization.CultureInfo.InvariantCulture))).Append('&'); }
+                    foreach (var item_ in capabilities) { urlBuilder_.Append(System.Uri.EscapeDataString("capabilities")).Append('=').Append(System.Uri.EscapeDataString(ConvertToString(item_, System.Globalization.CultureInfo.InvariantCulture))).Append('&'); }
+                    urlBuilder_.Length--;
+
+                    PrepareRequest(client_, request_, urlBuilder_);
+
+                    var url_ = urlBuilder_.ToString();
+                    request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute);
+
+                    PrepareRequest(client_, request_, url_);
+
+                    var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false);
+                    var disposeResponse_ = true;
+                    try
+                    {
+                        var headers_ = new System.Collections.Generic.Dictionary<string, System.Collections.Generic.IEnumerable<string>>();
+                        foreach (var item_ in response_.Headers)
+                            headers_[item_.Key] = item_.Value;
+                        if (response_.Content != null && response_.Content.Headers != null)
+                        {
+                            foreach (var item_ in response_.Content.Headers)
+                                headers_[item_.Key] = item_.Value;
+                        }
+
+                        ProcessResponse(client_, response_);
+
+                        var status_ = (int)response_.StatusCode;
+                        if (status_ == 200)
+                        {
+                            var objectResponse_ = await ReadObjectResponseAsync<Response>(response_, headers_, cancellationToken).ConfigureAwait(false);
+                            if (objectResponse_.Object == null)
+                            {
+                                throw new ApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
+                            }
+                            return objectResponse_.Object;
+                        }
+                        else
+                        if (status_ == 400)
+                        {
+                            var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+                            var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+                            throw new ApiException<string>("Invalid UUID supplied.", status_, responseData_, headers_, result_, null);
+                        }
+                        else
+                        if (status_ == 404)
+                        {
+                            var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+                            var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+                            throw new ApiException<string>("Not found, could not find UUID in database.", status_, responseData_, headers_, result_, null);
+                        }
+                        else
+                        {
+                            var objectResponse_ = await ReadObjectResponseAsync<Error>(response_, headers_, cancellationToken).ConfigureAwait(false);
+                            if (objectResponse_.Object == null)
+                            {
+                                throw new ApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
+                            }
+                            throw new ApiException<Error>("Unexpected error.", status_, objectResponse_.Text, headers_, objectResponse_.Object, null);
+                        }
+                    }
+                    finally
+                    {
+                        if (disposeResponse_)
+                            response_.Dispose();
+                    }
+                }
+            }
+            finally
+            {
+                if (disposeClient_)
+                    client_.Dispose();
+            }
+        }
+
+        /// <summary>
+        /// Create a Trackable.
+        /// </summary>
+        /// <remarks>
+        /// Create a new Trackable from a json object containing all the required information and add it to the world storage. &lt;br&gt;As a result you will get the ID of the newly created Trackable.
+        /// </remarks>
+        /// <param name="body">The Trackable to be added to the world storage.</param>
+        /// <returns>OK, return the UUID of the Trackable defined by the world storage.</returns>
+        /// <exception cref="ApiException">A server side error occurred.</exception>
+        public virtual System.Threading.Tasks.Task<string> AddTrackableAsync(string token, Trackable body)
+        {
+            return AddTrackableAsync(token, body, System.Threading.CancellationToken.None);
+        }
+
+        /// <summary>
+        /// Create a Trackable.
+        /// </summary>
+        /// <remarks>
+        /// Create a new Trackable from a json object containing all the required information and add it to the world storage. &lt;br&gt;As a result you will get the ID of the newly created Trackable.
+        /// </remarks>
+        /// <param name="body">The Trackable to be added to the world storage.</param>
+        /// <returns>OK, return the UUID of the Trackable defined by the world storage.</returns>
+        /// <exception cref="ApiException">A server side error occurred.</exception>
+        public virtual string AddTrackable(string token, Trackable body)
+        {
+            return System.Threading.Tasks.Task.Run(async () => await AddTrackableAsync(token, body, System.Threading.CancellationToken.None)).GetAwaiter().GetResult();
+        }
+
+        /// <param name="cancellationToken">A cancellation token that can be used by other objects or threads to receive notice of cancellation.</param>
+        /// <summary>
+        /// Create a Trackable.
+        /// </summary>
+        /// <remarks>
+        /// Create a new Trackable from a json object containing all the required information and add it to the world storage. &lt;br&gt;As a result you will get the ID of the newly created Trackable.
+        /// </remarks>
+        /// <param name="body">The Trackable to be added to the world storage.</param>
+        /// <returns>OK, return the UUID of the Trackable defined by the world storage.</returns>
+        /// <exception cref="ApiException">A server side error occurred.</exception>
+        public virtual async System.Threading.Tasks.Task<string> AddTrackableAsync(string token, Trackable body, System.Threading.CancellationToken cancellationToken)
+        {
+            if (body == null)
+                throw new System.ArgumentNullException("body");
+
+            var client_ = _httpClient;
+            var disposeClient_ = false;
+            try
+            {
+                using (var request_ = new System.Net.Http.HttpRequestMessage())
+                {
+
+                    if (token != null)
+                        request_.Headers.TryAddWithoutValidation("token", ConvertToString(token, System.Globalization.CultureInfo.InvariantCulture));
+                    var json_ = Newtonsoft.Json.JsonConvert.SerializeObject(body, _settings.Value);
+                    var content_ = new System.Net.Http.StringContent(json_);
+                    content_.Headers.ContentType = System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json");
+                    request_.Content = content_;
+                    request_.Method = new System.Net.Http.HttpMethod("POST");
+                    request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("text/plain"));
+
+                    var urlBuilder_ = new System.Text.StringBuilder();
+                
+                    // Operation Path: "trackables"
+                    urlBuilder_.Append("trackables");
+
+                    PrepareRequest(client_, request_, urlBuilder_);
+
+                    var url_ = urlBuilder_.ToString();
+                    request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute);
+
+                    PrepareRequest(client_, request_, url_);
+
+                    var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false);
+                    var disposeResponse_ = true;
+                    try
+                    {
+                        var headers_ = new System.Collections.Generic.Dictionary<string, System.Collections.Generic.IEnumerable<string>>();
+                        foreach (var item_ in response_.Headers)
+                            headers_[item_.Key] = item_.Value;
+                        if (response_.Content != null && response_.Content.Headers != null)
+                        {
+                            foreach (var item_ in response_.Content.Headers)
+                                headers_[item_.Key] = item_.Value;
+                        }
+
+                        ProcessResponse(client_, response_);
+
+                        var status_ = (int)response_.StatusCode;
+                        if (status_ == 200)
+                        {
+                            var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+                            var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+                            return result_;
+                        }
+                        else
+                        if (status_ == 201)
+                        {
+                            var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+                            var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+                            return result_;
+                        }
+                        else
+                        if (status_ == 400)
+                        {
+                            var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+                            var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+                            throw new ApiException<string>("Bad request.", status_, responseData_, headers_, result_, null);
+                        }
+                        else
+                        if (status_ == 409)
+                        {
+                            var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+                            var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+                            throw new ApiException<string>("Invalid UUID, id must be a Nil value.", status_, responseData_, headers_, result_, null);
+                        }
+                        else
+                        {
+                            var objectResponse_ = await ReadObjectResponseAsync<Error>(response_, headers_, cancellationToken).ConfigureAwait(false);
+                            if (objectResponse_.Object == null)
+                            {
+                                throw new ApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
+                            }
+                            throw new ApiException<Error>("Unexpected error.", status_, objectResponse_.Text, headers_, objectResponse_.Object, null);
+                        }
+                    }
+                    finally
+                    {
+                        if (disposeResponse_)
+                            response_.Dispose();
+                    }
+                }
+            }
+            finally
+            {
+                if (disposeClient_)
+                    client_.Dispose();
+            }
+        }
+
+        /// <summary>
+        /// Modify a Trackable.
+        /// </summary>
+        /// <remarks>
+        /// Modify an existing Trackable given a json object containing all the required information. &lt;br&gt; **Please note that ID of the object is required in the JSON**
+        /// </remarks>
+        /// <param name="body">The Trackable to be modified in the world storage.</param>
+        /// <returns>OK, return the UUID of the modified Trackable.</returns>
+        /// <exception cref="ApiException">A server side error occurred.</exception>
+        public virtual System.Threading.Tasks.Task<string> ModifyTrackableAsync(string token, Trackable body)
+        {
+            return ModifyTrackableAsync(token, body, System.Threading.CancellationToken.None);
+        }
+
+        /// <summary>
+        /// Modify a Trackable.
+        /// </summary>
+        /// <remarks>
+        /// Modify an existing Trackable given a json object containing all the required information. &lt;br&gt; **Please note that ID of the object is required in the JSON**
+        /// </remarks>
+        /// <param name="body">The Trackable to be modified in the world storage.</param>
+        /// <returns>OK, return the UUID of the modified Trackable.</returns>
+        /// <exception cref="ApiException">A server side error occurred.</exception>
+        public virtual string ModifyTrackable(string token, Trackable body)
+        {
+            return System.Threading.Tasks.Task.Run(async () => await ModifyTrackableAsync(token, body, System.Threading.CancellationToken.None)).GetAwaiter().GetResult();
+        }
+
+        /// <param name="cancellationToken">A cancellation token that can be used by other objects or threads to receive notice of cancellation.</param>
+        /// <summary>
+        /// Modify a Trackable.
+        /// </summary>
+        /// <remarks>
+        /// Modify an existing Trackable given a json object containing all the required information. &lt;br&gt; **Please note that ID of the object is required in the JSON**
+        /// </remarks>
+        /// <param name="body">The Trackable to be modified in the world storage.</param>
+        /// <returns>OK, return the UUID of the modified Trackable.</returns>
+        /// <exception cref="ApiException">A server side error occurred.</exception>
+        public virtual async System.Threading.Tasks.Task<string> ModifyTrackableAsync(string token, Trackable body, System.Threading.CancellationToken cancellationToken)
+        {
+            if (body == null)
+                throw new System.ArgumentNullException("body");
+
+            var client_ = _httpClient;
+            var disposeClient_ = false;
+            try
+            {
+                using (var request_ = new System.Net.Http.HttpRequestMessage())
+                {
+
+                    if (token != null)
+                        request_.Headers.TryAddWithoutValidation("token", ConvertToString(token, System.Globalization.CultureInfo.InvariantCulture));
+                    var json_ = Newtonsoft.Json.JsonConvert.SerializeObject(body, _settings.Value);
+                    var content_ = new System.Net.Http.StringContent(json_);
+                    content_.Headers.ContentType = System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json");
+                    request_.Content = content_;
+                    request_.Method = new System.Net.Http.HttpMethod("PUT");
+                    request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("text/plain"));
+
+                    var urlBuilder_ = new System.Text.StringBuilder();
+                
+                    // Operation Path: "trackables"
+                    urlBuilder_.Append("trackables");
+
+                    PrepareRequest(client_, request_, urlBuilder_);
+
+                    var url_ = urlBuilder_.ToString();
+                    request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute);
+
+                    PrepareRequest(client_, request_, url_);
+
+                    var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false);
+                    var disposeResponse_ = true;
+                    try
+                    {
+                        var headers_ = new System.Collections.Generic.Dictionary<string, System.Collections.Generic.IEnumerable<string>>();
+                        foreach (var item_ in response_.Headers)
+                            headers_[item_.Key] = item_.Value;
+                        if (response_.Content != null && response_.Content.Headers != null)
+                        {
+                            foreach (var item_ in response_.Content.Headers)
+                                headers_[item_.Key] = item_.Value;
+                        }
+
+                        ProcessResponse(client_, response_);
+
+                        var status_ = (int)response_.StatusCode;
+                        if (status_ == 200)
+                        {
+                            var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+                            var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+                            return result_;
+                        }
+                        else
+                        if (status_ == 400)
+                        {
+                            var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+                            var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+                            throw new ApiException<string>("Bad request.", status_, responseData_, headers_, result_, null);
+                        }
+                        else
+                        if (status_ == 404)
+                        {
+                            var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+                            var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+                            throw new ApiException<string>("Not found, could not find UUID in database.", status_, responseData_, headers_, result_, null);
+                        }
+                        else
+                        {
+                            var objectResponse_ = await ReadObjectResponseAsync<Error>(response_, headers_, cancellationToken).ConfigureAwait(false);
+                            if (objectResponse_.Object == null)
+                            {
+                                throw new ApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
+                            }
+                            throw new ApiException<Error>("Unexpected error.", status_, objectResponse_.Text, headers_, objectResponse_.Object, null);
+                        }
+                    }
+                    finally
+                    {
+                        if (disposeResponse_)
+                            response_.Dispose();
+                    }
+                }
+            }
+            finally
+            {
+                if (disposeClient_)
+                    client_.Dispose();
+            }
+        }
+
+        /// <summary>
+        /// Return all the Trackables.
+        /// </summary>
+        /// <remarks>
+        /// Get all the Trackables currently being stored in the world storage.
+        /// </remarks>
+        /// <returns>OK, return all the Trackables defined by the world storage.</returns>
+        /// <exception cref="ApiException">A server side error occurred.</exception>
+        public virtual System.Threading.Tasks.Task<System.Collections.Generic.List<Trackable>> GetTrackablesAsync(string token)
+        {
+            return GetTrackablesAsync(token, System.Threading.CancellationToken.None);
+        }
+
+        /// <summary>
+        /// Return all the Trackables.
+        /// </summary>
+        /// <remarks>
+        /// Get all the Trackables currently being stored in the world storage.
+        /// </remarks>
+        /// <returns>OK, return all the Trackables defined by the world storage.</returns>
+        /// <exception cref="ApiException">A server side error occurred.</exception>
+        public virtual System.Collections.Generic.List<Trackable> GetTrackables(string token)
+        {
+            return System.Threading.Tasks.Task.Run(async () => await GetTrackablesAsync(token, System.Threading.CancellationToken.None)).GetAwaiter().GetResult();
+        }
+
+        /// <param name="cancellationToken">A cancellation token that can be used by other objects or threads to receive notice of cancellation.</param>
+        /// <summary>
+        /// Return all the Trackables.
+        /// </summary>
+        /// <remarks>
+        /// Get all the Trackables currently being stored in the world storage.
+        /// </remarks>
+        /// <returns>OK, return all the Trackables defined by the world storage.</returns>
+        /// <exception cref="ApiException">A server side error occurred.</exception>
+        public virtual async System.Threading.Tasks.Task<System.Collections.Generic.List<Trackable>> GetTrackablesAsync(string token, System.Threading.CancellationToken cancellationToken)
+        {
+            var client_ = _httpClient;
+            var disposeClient_ = false;
+            try
+            {
+                using (var request_ = new System.Net.Http.HttpRequestMessage())
+                {
+
+                    if (token != null)
+                        request_.Headers.TryAddWithoutValidation("token", ConvertToString(token, System.Globalization.CultureInfo.InvariantCulture));
+                    request_.Method = new System.Net.Http.HttpMethod("GET");
+                    request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json"));
+
+                    var urlBuilder_ = new System.Text.StringBuilder();
+                
+                    // Operation Path: "trackables"
+                    urlBuilder_.Append("trackables");
+
+                    PrepareRequest(client_, request_, urlBuilder_);
+
+                    var url_ = urlBuilder_.ToString();
+                    request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute);
+
+                    PrepareRequest(client_, request_, url_);
+
+                    var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false);
+                    var disposeResponse_ = true;
+                    try
+                    {
+                        var headers_ = new System.Collections.Generic.Dictionary<string, System.Collections.Generic.IEnumerable<string>>();
+                        foreach (var item_ in response_.Headers)
+                            headers_[item_.Key] = item_.Value;
+                        if (response_.Content != null && response_.Content.Headers != null)
+                        {
+                            foreach (var item_ in response_.Content.Headers)
+                                headers_[item_.Key] = item_.Value;
+                        }
+
+                        ProcessResponse(client_, response_);
+
+                        var status_ = (int)response_.StatusCode;
+                        if (status_ == 200)
+                        {
+                            var objectResponse_ = await ReadObjectResponseAsync<System.Collections.Generic.List<Trackable>>(response_, headers_, cancellationToken).ConfigureAwait(false);
+                            if (objectResponse_.Object == null)
+                            {
+                                throw new ApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
+                            }
+                            return objectResponse_.Object;
+                        }
+                        else
+                        if (status_ == 201)
+                        {
+                            var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+                            var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+                            throw new ApiException<string>("Null response.", status_, responseData_, headers_, result_, null);
+                        }
+                        else
+                        {
+                            var objectResponse_ = await ReadObjectResponseAsync<Error>(response_, headers_, cancellationToken).ConfigureAwait(false);
+                            if (objectResponse_.Object == null)
+                            {
+                                throw new ApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
+                            }
+                            throw new ApiException<Error>("Unexpected error.", status_, objectResponse_.Text, headers_, objectResponse_.Object, null);
+                        }
+                    }
+                    finally
+                    {
+                        if (disposeResponse_)
+                            response_.Dispose();
+                    }
+                }
+            }
+            finally
+            {
+                if (disposeClient_)
+                    client_.Dispose();
+            }
+        }
+
+        /// <summary>
+        /// Find a Trackable by its UUID.
+        /// </summary>
+        /// <remarks>
+        /// Get a single Trackable stored in the world storage from its ID.
+        /// </remarks>
+        /// <param name="trackableUUID">UUID of the Trackable to retrieve.</param>
+        /// <returns>Successful operation.</returns>
+        /// <exception cref="ApiException">A server side error occurred.</exception>
+        public virtual System.Threading.Tasks.Task<Trackable> GetTrackableByIdAsync(string token, System.Guid trackableUUID)
+        {
+            return GetTrackableByIdAsync(token, trackableUUID, System.Threading.CancellationToken.None);
+        }
+
+        /// <summary>
+        /// Find a Trackable by its UUID.
+        /// </summary>
+        /// <remarks>
+        /// Get a single Trackable stored in the world storage from its ID.
+        /// </remarks>
+        /// <param name="trackableUUID">UUID of the Trackable to retrieve.</param>
+        /// <returns>Successful operation.</returns>
+        /// <exception cref="ApiException">A server side error occurred.</exception>
+        public virtual Trackable GetTrackableById(string token, System.Guid trackableUUID)
+        {
+            return System.Threading.Tasks.Task.Run(async () => await GetTrackableByIdAsync(token, trackableUUID, System.Threading.CancellationToken.None)).GetAwaiter().GetResult();
+        }
+
+        /// <param name="cancellationToken">A cancellation token that can be used by other objects or threads to receive notice of cancellation.</param>
+        /// <summary>
+        /// Find a Trackable by its UUID.
+        /// </summary>
+        /// <remarks>
+        /// Get a single Trackable stored in the world storage from its ID.
+        /// </remarks>
+        /// <param name="trackableUUID">UUID of the Trackable to retrieve.</param>
+        /// <returns>Successful operation.</returns>
+        /// <exception cref="ApiException">A server side error occurred.</exception>
+        public virtual async System.Threading.Tasks.Task<Trackable> GetTrackableByIdAsync(string token, System.Guid trackableUUID, System.Threading.CancellationToken cancellationToken)
+        {
+            if (trackableUUID == null)
+                throw new System.ArgumentNullException("trackableUUID");
+
+            var client_ = _httpClient;
+            var disposeClient_ = false;
+            try
+            {
+                using (var request_ = new System.Net.Http.HttpRequestMessage())
+                {
+
+                    if (token != null)
+                        request_.Headers.TryAddWithoutValidation("token", ConvertToString(token, System.Globalization.CultureInfo.InvariantCulture));
+                    request_.Method = new System.Net.Http.HttpMethod("GET");
+                    request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json"));
+
+                    var urlBuilder_ = new System.Text.StringBuilder();
+                
+                    // Operation Path: "trackables/{trackableUUID}"
+                    urlBuilder_.Append("trackables/");
+                    urlBuilder_.Append(System.Uri.EscapeDataString(ConvertToString(trackableUUID, System.Globalization.CultureInfo.InvariantCulture)));
+
+                    PrepareRequest(client_, request_, urlBuilder_);
+
+                    var url_ = urlBuilder_.ToString();
+                    request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute);
+
+                    PrepareRequest(client_, request_, url_);
+
+                    var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false);
+                    var disposeResponse_ = true;
+                    try
+                    {
+                        var headers_ = new System.Collections.Generic.Dictionary<string, System.Collections.Generic.IEnumerable<string>>();
+                        foreach (var item_ in response_.Headers)
+                            headers_[item_.Key] = item_.Value;
+                        if (response_.Content != null && response_.Content.Headers != null)
+                        {
+                            foreach (var item_ in response_.Content.Headers)
+                                headers_[item_.Key] = item_.Value;
+                        }
+
+                        ProcessResponse(client_, response_);
+
+                        var status_ = (int)response_.StatusCode;
+                        if (status_ == 200)
+                        {
+                            var objectResponse_ = await ReadObjectResponseAsync<Trackable>(response_, headers_, cancellationToken).ConfigureAwait(false);
+                            if (objectResponse_.Object == null)
+                            {
+                                throw new ApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
+                            }
+                            return objectResponse_.Object;
+                        }
+                        else
+                        if (status_ == 400)
+                        {
+                            var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+                            var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+                            throw new ApiException<string>("Invalid UUID supplied.", status_, responseData_, headers_, result_, null);
+                        }
+                        else
+                        if (status_ == 404)
+                        {
+                            var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+                            var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+                            throw new ApiException<string>("Not found, could not find UUID in database.", status_, responseData_, headers_, result_, null);
+                        }
+                        else
+                        {
+                            var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+                            throw new ApiException("The HTTP status code of the response was not expected (" + status_ + ").", status_, responseData_, headers_, null);
+                        }
+                    }
+                    finally
+                    {
+                        if (disposeResponse_)
+                            response_.Dispose();
+                    }
+                }
+            }
+            finally
+            {
+                if (disposeClient_)
+                    client_.Dispose();
+            }
+        }
+
+        /// <summary>
+        /// Delete a Trackable.
+        /// </summary>
+        /// <remarks>
+        /// Delete a single Trackable stored in the world storage from its ID.
+        /// </remarks>
+        /// <param name="trackableUUID">Trackable UUID to delete.</param>
+        /// <returns>OK, delete successful.</returns>
+        /// <exception cref="ApiException">A server side error occurred.</exception>
+        public virtual System.Threading.Tasks.Task<string> DeleteTrackableAsync(string token, System.Guid trackableUUID)
+        {
+            return DeleteTrackableAsync(token, trackableUUID, System.Threading.CancellationToken.None);
+        }
+
+        /// <summary>
+        /// Delete a Trackable.
+        /// </summary>
+        /// <remarks>
+        /// Delete a single Trackable stored in the world storage from its ID.
+        /// </remarks>
+        /// <param name="trackableUUID">Trackable UUID to delete.</param>
+        /// <returns>OK, delete successful.</returns>
+        /// <exception cref="ApiException">A server side error occurred.</exception>
+        public virtual string DeleteTrackable(string token, System.Guid trackableUUID)
+        {
+            return System.Threading.Tasks.Task.Run(async () => await DeleteTrackableAsync(token, trackableUUID, System.Threading.CancellationToken.None)).GetAwaiter().GetResult();
+        }
+
+        /// <param name="cancellationToken">A cancellation token that can be used by other objects or threads to receive notice of cancellation.</param>
+        /// <summary>
+        /// Delete a Trackable.
+        /// </summary>
+        /// <remarks>
+        /// Delete a single Trackable stored in the world storage from its ID.
+        /// </remarks>
+        /// <param name="trackableUUID">Trackable UUID to delete.</param>
+        /// <returns>OK, delete successful.</returns>
+        /// <exception cref="ApiException">A server side error occurred.</exception>
+        public virtual async System.Threading.Tasks.Task<string> DeleteTrackableAsync(string token, System.Guid trackableUUID, System.Threading.CancellationToken cancellationToken)
+        {
+            if (trackableUUID == null)
+                throw new System.ArgumentNullException("trackableUUID");
+
+            var client_ = _httpClient;
+            var disposeClient_ = false;
+            try
+            {
+                using (var request_ = new System.Net.Http.HttpRequestMessage())
+                {
+
+                    if (token != null)
+                        request_.Headers.TryAddWithoutValidation("token", ConvertToString(token, System.Globalization.CultureInfo.InvariantCulture));
+                    request_.Method = new System.Net.Http.HttpMethod("DELETE");
+                    request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("text/plain"));
+
+                    var urlBuilder_ = new System.Text.StringBuilder();
+                
+                    // Operation Path: "trackables/{trackableUUID}"
+                    urlBuilder_.Append("trackables/");
+                    urlBuilder_.Append(System.Uri.EscapeDataString(ConvertToString(trackableUUID, System.Globalization.CultureInfo.InvariantCulture)));
+
+                    PrepareRequest(client_, request_, urlBuilder_);
+
+                    var url_ = urlBuilder_.ToString();
+                    request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute);
+
+                    PrepareRequest(client_, request_, url_);
+
+                    var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false);
+                    var disposeResponse_ = true;
+                    try
+                    {
+                        var headers_ = new System.Collections.Generic.Dictionary<string, System.Collections.Generic.IEnumerable<string>>();
+                        foreach (var item_ in response_.Headers)
+                            headers_[item_.Key] = item_.Value;
+                        if (response_.Content != null && response_.Content.Headers != null)
+                        {
+                            foreach (var item_ in response_.Content.Headers)
+                                headers_[item_.Key] = item_.Value;
+                        }
+
+                        ProcessResponse(client_, response_);
+
+                        var status_ = (int)response_.StatusCode;
+                        if (status_ == 200)
+                        {
+                            var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+                            var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+                            return result_;
+                        }
+                        else
+                        if (status_ == 400)
+                        {
+                            var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+                            var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+                            throw new ApiException<string>("Invalid UUID supplied.", status_, responseData_, headers_, result_, null);
+                        }
+                        else
+                        if (status_ == 404)
+                        {
+                            var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+                            var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+                            throw new ApiException<string>("Not found, could not find UUID in database.", status_, responseData_, headers_, result_, null);
+                        }
+                        else
+                        {
+                            var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+                            throw new ApiException("The HTTP status code of the response was not expected (" + status_ + ").", status_, responseData_, headers_, null);
+                        }
+                    }
+                    finally
+                    {
+                        if (disposeResponse_)
+                            response_.Dispose();
+                    }
+                }
+            }
+            finally
+            {
+                if (disposeClient_)
+                    client_.Dispose();
+            }
+        }
+
+        /// <summary>
+        /// Create a World Anchor.
+        /// </summary>
+        /// <remarks>
+        /// Create a new World Anchor from a json object containing all the required information and add it to the world storage. &lt;br&gt;As a result you will get the ID of the newly created World Anchor.
+        /// </remarks>
+        /// <param name="body">The World Anchor to be added to the world storage.</param>
+        /// <returns>OK, return the UUID of the World Anchor defined by the world storage.</returns>
+        /// <exception cref="ApiException">A server side error occurred.</exception>
+        public virtual System.Threading.Tasks.Task<string> AddWorldAnchorAsync(string token, WorldAnchor body)
+        {
+            return AddWorldAnchorAsync(token, body, System.Threading.CancellationToken.None);
+        }
+
+        /// <summary>
+        /// Create a World Anchor.
+        /// </summary>
+        /// <remarks>
+        /// Create a new World Anchor from a json object containing all the required information and add it to the world storage. &lt;br&gt;As a result you will get the ID of the newly created World Anchor.
+        /// </remarks>
+        /// <param name="body">The World Anchor to be added to the world storage.</param>
+        /// <returns>OK, return the UUID of the World Anchor defined by the world storage.</returns>
+        /// <exception cref="ApiException">A server side error occurred.</exception>
+        public virtual string AddWorldAnchor(string token, WorldAnchor body)
+        {
+            return System.Threading.Tasks.Task.Run(async () => await AddWorldAnchorAsync(token, body, System.Threading.CancellationToken.None)).GetAwaiter().GetResult();
+        }
+
+        /// <param name="cancellationToken">A cancellation token that can be used by other objects or threads to receive notice of cancellation.</param>
+        /// <summary>
+        /// Create a World Anchor.
+        /// </summary>
+        /// <remarks>
+        /// Create a new World Anchor from a json object containing all the required information and add it to the world storage. &lt;br&gt;As a result you will get the ID of the newly created World Anchor.
+        /// </remarks>
+        /// <param name="body">The World Anchor to be added to the world storage.</param>
+        /// <returns>OK, return the UUID of the World Anchor defined by the world storage.</returns>
+        /// <exception cref="ApiException">A server side error occurred.</exception>
+        public virtual async System.Threading.Tasks.Task<string> AddWorldAnchorAsync(string token, WorldAnchor body, System.Threading.CancellationToken cancellationToken)
+        {
+            if (body == null)
+                throw new System.ArgumentNullException("body");
+
+            var client_ = _httpClient;
+            var disposeClient_ = false;
+            try
+            {
+                using (var request_ = new System.Net.Http.HttpRequestMessage())
+                {
+
+                    if (token != null)
+                        request_.Headers.TryAddWithoutValidation("token", ConvertToString(token, System.Globalization.CultureInfo.InvariantCulture));
+                    var json_ = Newtonsoft.Json.JsonConvert.SerializeObject(body, _settings.Value);
+                    var content_ = new System.Net.Http.StringContent(json_);
+                    content_.Headers.ContentType = System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json");
+                    request_.Content = content_;
+                    request_.Method = new System.Net.Http.HttpMethod("POST");
+                    request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("text/plain"));
+
+                    var urlBuilder_ = new System.Text.StringBuilder();
+                
+                    // Operation Path: "worldAnchors"
+                    urlBuilder_.Append("worldAnchors");
+
+                    PrepareRequest(client_, request_, urlBuilder_);
+
+                    var url_ = urlBuilder_.ToString();
+                    request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute);
+
+                    PrepareRequest(client_, request_, url_);
+
+                    var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false);
+                    var disposeResponse_ = true;
+                    try
+                    {
+                        var headers_ = new System.Collections.Generic.Dictionary<string, System.Collections.Generic.IEnumerable<string>>();
+                        foreach (var item_ in response_.Headers)
+                            headers_[item_.Key] = item_.Value;
+                        if (response_.Content != null && response_.Content.Headers != null)
+                        {
+                            foreach (var item_ in response_.Content.Headers)
+                                headers_[item_.Key] = item_.Value;
+                        }
+
+                        ProcessResponse(client_, response_);
+
+                        var status_ = (int)response_.StatusCode;
+                        if (status_ == 200)
+                        {
+                            var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+                            var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+                            return result_;
+                        }
+                        else
+                        if (status_ == 201)
+                        {
+                            var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+                            var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+                            return result_;
+                        }
+                        else
+                        if (status_ == 400)
+                        {
+                            var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+                            var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+                            throw new ApiException<string>("Bad request.", status_, responseData_, headers_, result_, null);
+                        }
+                        else
+                        if (status_ == 409)
+                        {
+                            var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+                            var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+                            throw new ApiException<string>("Invalid UUID, id must be a Nil value.", status_, responseData_, headers_, result_, null);
+                        }
+                        else
+                        {
+                            var objectResponse_ = await ReadObjectResponseAsync<Error>(response_, headers_, cancellationToken).ConfigureAwait(false);
+                            if (objectResponse_.Object == null)
+                            {
+                                throw new ApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
+                            }
+                            throw new ApiException<Error>("Unexpected error.", status_, objectResponse_.Text, headers_, objectResponse_.Object, null);
+                        }
+                    }
+                    finally
+                    {
+                        if (disposeResponse_)
+                            response_.Dispose();
+                    }
+                }
+            }
+            finally
+            {
+                if (disposeClient_)
+                    client_.Dispose();
+            }
+        }
+
+        /// <summary>
+        /// Modify a World Anchor.
+        /// </summary>
+        /// <remarks>
+        /// Modify an existing World Anchor given a json object containing all the required information. &lt;br&gt; **Please note that ID of the object is required in the JSON**
+        /// </remarks>
+        /// <param name="body">The World Anchor to be modified in the world storage.</param>
+        /// <returns>OK, return the UUID of the modified World Anchor.</returns>
+        /// <exception cref="ApiException">A server side error occurred.</exception>
+        public virtual System.Threading.Tasks.Task<string> ModifyWorldAnchorAsync(string token, WorldAnchor body)
+        {
+            return ModifyWorldAnchorAsync(token, body, System.Threading.CancellationToken.None);
+        }
+
+        /// <summary>
+        /// Modify a World Anchor.
+        /// </summary>
+        /// <remarks>
+        /// Modify an existing World Anchor given a json object containing all the required information. &lt;br&gt; **Please note that ID of the object is required in the JSON**
+        /// </remarks>
+        /// <param name="body">The World Anchor to be modified in the world storage.</param>
+        /// <returns>OK, return the UUID of the modified World Anchor.</returns>
+        /// <exception cref="ApiException">A server side error occurred.</exception>
+        public virtual string ModifyWorldAnchor(string token, WorldAnchor body)
+        {
+            return System.Threading.Tasks.Task.Run(async () => await ModifyWorldAnchorAsync(token, body, System.Threading.CancellationToken.None)).GetAwaiter().GetResult();
+        }
+
+        /// <param name="cancellationToken">A cancellation token that can be used by other objects or threads to receive notice of cancellation.</param>
+        /// <summary>
+        /// Modify a World Anchor.
+        /// </summary>
+        /// <remarks>
+        /// Modify an existing World Anchor given a json object containing all the required information. &lt;br&gt; **Please note that ID of the object is required in the JSON**
+        /// </remarks>
+        /// <param name="body">The World Anchor to be modified in the world storage.</param>
+        /// <returns>OK, return the UUID of the modified World Anchor.</returns>
+        /// <exception cref="ApiException">A server side error occurred.</exception>
+        public virtual async System.Threading.Tasks.Task<string> ModifyWorldAnchorAsync(string token, WorldAnchor body, System.Threading.CancellationToken cancellationToken)
+        {
+            if (body == null)
+                throw new System.ArgumentNullException("body");
+
+            var client_ = _httpClient;
+            var disposeClient_ = false;
+            try
+            {
+                using (var request_ = new System.Net.Http.HttpRequestMessage())
+                {
+
+                    if (token != null)
+                        request_.Headers.TryAddWithoutValidation("token", ConvertToString(token, System.Globalization.CultureInfo.InvariantCulture));
+                    var json_ = Newtonsoft.Json.JsonConvert.SerializeObject(body, _settings.Value);
+                    var content_ = new System.Net.Http.StringContent(json_);
+                    content_.Headers.ContentType = System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json");
+                    request_.Content = content_;
+                    request_.Method = new System.Net.Http.HttpMethod("PUT");
+                    request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("text/plain"));
+
+                    var urlBuilder_ = new System.Text.StringBuilder();
+                
+                    // Operation Path: "worldAnchors"
+                    urlBuilder_.Append("worldAnchors");
+
+                    PrepareRequest(client_, request_, urlBuilder_);
+
+                    var url_ = urlBuilder_.ToString();
+                    request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute);
+
+                    PrepareRequest(client_, request_, url_);
+
+                    var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false);
+                    var disposeResponse_ = true;
+                    try
+                    {
+                        var headers_ = new System.Collections.Generic.Dictionary<string, System.Collections.Generic.IEnumerable<string>>();
+                        foreach (var item_ in response_.Headers)
+                            headers_[item_.Key] = item_.Value;
+                        if (response_.Content != null && response_.Content.Headers != null)
+                        {
+                            foreach (var item_ in response_.Content.Headers)
+                                headers_[item_.Key] = item_.Value;
+                        }
+
+                        ProcessResponse(client_, response_);
+
+                        var status_ = (int)response_.StatusCode;
+                        if (status_ == 200)
+                        {
+                            var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+                            var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+                            return result_;
+                        }
+                        else
+                        if (status_ == 400)
+                        {
+                            var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+                            var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+                            throw new ApiException<string>("Bad request.", status_, responseData_, headers_, result_, null);
+                        }
+                        else
+                        if (status_ == 404)
+                        {
+                            var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+                            var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+                            throw new ApiException<string>("Not found, could not find UUID in database.", status_, responseData_, headers_, result_, null);
+                        }
+                        else
+                        {
+                            var objectResponse_ = await ReadObjectResponseAsync<Error>(response_, headers_, cancellationToken).ConfigureAwait(false);
+                            if (objectResponse_.Object == null)
+                            {
+                                throw new ApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
+                            }
+                            throw new ApiException<Error>("Unexpected error.", status_, objectResponse_.Text, headers_, objectResponse_.Object, null);
+                        }
+                    }
+                    finally
+                    {
+                        if (disposeResponse_)
+                            response_.Dispose();
+                    }
+                }
+            }
+            finally
+            {
+                if (disposeClient_)
+                    client_.Dispose();
+            }
+        }
+
+        /// <summary>
+        /// Return all the World Anchors.
+        /// </summary>
+        /// <remarks>
+        /// Get all the World Anchors currently being stored in the world storage.
+        /// </remarks>
+        /// <returns>OK, return all the World Anchors defined by the world storage.</returns>
+        /// <exception cref="ApiException">A server side error occurred.</exception>
+        public virtual System.Threading.Tasks.Task<System.Collections.Generic.List<WorldAnchor>> GetWorldAnchorsAsync(string token)
+        {
+            return GetWorldAnchorsAsync(token, System.Threading.CancellationToken.None);
+        }
+
+        /// <summary>
+        /// Return all the World Anchors.
+        /// </summary>
+        /// <remarks>
+        /// Get all the World Anchors currently being stored in the world storage.
+        /// </remarks>
+        /// <returns>OK, return all the World Anchors defined by the world storage.</returns>
+        /// <exception cref="ApiException">A server side error occurred.</exception>
+        public virtual System.Collections.Generic.List<WorldAnchor> GetWorldAnchors(string token)
+        {
+            return System.Threading.Tasks.Task.Run(async () => await GetWorldAnchorsAsync(token, System.Threading.CancellationToken.None)).GetAwaiter().GetResult();
+        }
+
+        /// <param name="cancellationToken">A cancellation token that can be used by other objects or threads to receive notice of cancellation.</param>
+        /// <summary>
+        /// Return all the World Anchors.
+        /// </summary>
+        /// <remarks>
+        /// Get all the World Anchors currently being stored in the world storage.
+        /// </remarks>
+        /// <returns>OK, return all the World Anchors defined by the world storage.</returns>
+        /// <exception cref="ApiException">A server side error occurred.</exception>
+        public virtual async System.Threading.Tasks.Task<System.Collections.Generic.List<WorldAnchor>> GetWorldAnchorsAsync(string token, System.Threading.CancellationToken cancellationToken)
+        {
+            var client_ = _httpClient;
+            var disposeClient_ = false;
+            try
+            {
+                using (var request_ = new System.Net.Http.HttpRequestMessage())
+                {
+
+                    if (token != null)
+                        request_.Headers.TryAddWithoutValidation("token", ConvertToString(token, System.Globalization.CultureInfo.InvariantCulture));
+                    request_.Method = new System.Net.Http.HttpMethod("GET");
+                    request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json"));
+
+                    var urlBuilder_ = new System.Text.StringBuilder();
+                
+                    // Operation Path: "worldAnchors"
+                    urlBuilder_.Append("worldAnchors");
+
+                    PrepareRequest(client_, request_, urlBuilder_);
+
+                    var url_ = urlBuilder_.ToString();
+                    request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute);
+
+                    PrepareRequest(client_, request_, url_);
+
+                    var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false);
+                    var disposeResponse_ = true;
+                    try
+                    {
+                        var headers_ = new System.Collections.Generic.Dictionary<string, System.Collections.Generic.IEnumerable<string>>();
+                        foreach (var item_ in response_.Headers)
+                            headers_[item_.Key] = item_.Value;
+                        if (response_.Content != null && response_.Content.Headers != null)
+                        {
+                            foreach (var item_ in response_.Content.Headers)
+                                headers_[item_.Key] = item_.Value;
+                        }
+
+                        ProcessResponse(client_, response_);
+
+                        var status_ = (int)response_.StatusCode;
+                        if (status_ == 200)
+                        {
+                            var objectResponse_ = await ReadObjectResponseAsync<System.Collections.Generic.List<WorldAnchor>>(response_, headers_, cancellationToken).ConfigureAwait(false);
+                            if (objectResponse_.Object == null)
+                            {
+                                throw new ApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
+                            }
+                            return objectResponse_.Object;
+                        }
+                        else
+                        if (status_ == 201)
+                        {
+                            var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+                            var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+                            throw new ApiException<string>("Null response.", status_, responseData_, headers_, result_, null);
+                        }
+                        else
+                        {
+                            var objectResponse_ = await ReadObjectResponseAsync<Error>(response_, headers_, cancellationToken).ConfigureAwait(false);
+                            if (objectResponse_.Object == null)
+                            {
+                                throw new ApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
+                            }
+                            throw new ApiException<Error>("Unexpected error.", status_, objectResponse_.Text, headers_, objectResponse_.Object, null);
+                        }
+                    }
+                    finally
+                    {
+                        if (disposeResponse_)
+                            response_.Dispose();
+                    }
+                }
+            }
+            finally
+            {
+                if (disposeClient_)
+                    client_.Dispose();
+            }
+        }
+
+        /// <summary>
+        /// Find a World Anchor by its UUID.
+        /// </summary>
+        /// <remarks>
+        /// Get a single World Anchor stored in the world storage from its ID.
+        /// </remarks>
+        /// <param name="worldAnchorUUID">UUID of the World Anchor to retrieve.</param>
+        /// <returns>Successful operation.</returns>
+        /// <exception cref="ApiException">A server side error occurred.</exception>
+        public virtual System.Threading.Tasks.Task<WorldAnchor> GetWorldAnchorByIdAsync(string token, System.Guid worldAnchorUUID)
+        {
+            return GetWorldAnchorByIdAsync(token, worldAnchorUUID, System.Threading.CancellationToken.None);
+        }
+
+        /// <summary>
+        /// Find a World Anchor by its UUID.
+        /// </summary>
+        /// <remarks>
+        /// Get a single World Anchor stored in the world storage from its ID.
+        /// </remarks>
+        /// <param name="worldAnchorUUID">UUID of the World Anchor to retrieve.</param>
+        /// <returns>Successful operation.</returns>
+        /// <exception cref="ApiException">A server side error occurred.</exception>
+        public virtual WorldAnchor GetWorldAnchorById(string token, System.Guid worldAnchorUUID)
+        {
+            return System.Threading.Tasks.Task.Run(async () => await GetWorldAnchorByIdAsync(token, worldAnchorUUID, System.Threading.CancellationToken.None)).GetAwaiter().GetResult();
+        }
+
+        /// <param name="cancellationToken">A cancellation token that can be used by other objects or threads to receive notice of cancellation.</param>
+        /// <summary>
+        /// Find a World Anchor by its UUID.
+        /// </summary>
+        /// <remarks>
+        /// Get a single World Anchor stored in the world storage from its ID.
+        /// </remarks>
+        /// <param name="worldAnchorUUID">UUID of the World Anchor to retrieve.</param>
+        /// <returns>Successful operation.</returns>
+        /// <exception cref="ApiException">A server side error occurred.</exception>
+        public virtual async System.Threading.Tasks.Task<WorldAnchor> GetWorldAnchorByIdAsync(string token, System.Guid worldAnchorUUID, System.Threading.CancellationToken cancellationToken)
+        {
+            if (worldAnchorUUID == null)
+                throw new System.ArgumentNullException("worldAnchorUUID");
+
+            var client_ = _httpClient;
+            var disposeClient_ = false;
+            try
+            {
+                using (var request_ = new System.Net.Http.HttpRequestMessage())
+                {
+
+                    if (token != null)
+                        request_.Headers.TryAddWithoutValidation("token", ConvertToString(token, System.Globalization.CultureInfo.InvariantCulture));
+                    request_.Method = new System.Net.Http.HttpMethod("GET");
+                    request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json"));
+
+                    var urlBuilder_ = new System.Text.StringBuilder();
+                
+                    // Operation Path: "worldAnchors/{worldAnchorUUID}"
+                    urlBuilder_.Append("worldAnchors/");
+                    urlBuilder_.Append(System.Uri.EscapeDataString(ConvertToString(worldAnchorUUID, System.Globalization.CultureInfo.InvariantCulture)));
+
+                    PrepareRequest(client_, request_, urlBuilder_);
+
+                    var url_ = urlBuilder_.ToString();
+                    request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute);
+
+                    PrepareRequest(client_, request_, url_);
+
+                    var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false);
+                    var disposeResponse_ = true;
+                    try
+                    {
+                        var headers_ = new System.Collections.Generic.Dictionary<string, System.Collections.Generic.IEnumerable<string>>();
+                        foreach (var item_ in response_.Headers)
+                            headers_[item_.Key] = item_.Value;
+                        if (response_.Content != null && response_.Content.Headers != null)
+                        {
+                            foreach (var item_ in response_.Content.Headers)
+                                headers_[item_.Key] = item_.Value;
+                        }
+
+                        ProcessResponse(client_, response_);
+
+                        var status_ = (int)response_.StatusCode;
+                        if (status_ == 200)
+                        {
+                            var objectResponse_ = await ReadObjectResponseAsync<WorldAnchor>(response_, headers_, cancellationToken).ConfigureAwait(false);
+                            if (objectResponse_.Object == null)
+                            {
+                                throw new ApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
+                            }
+                            return objectResponse_.Object;
+                        }
+                        else
+                        if (status_ == 400)
+                        {
+                            var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+                            var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+                            throw new ApiException<string>("Invalid UUID supplied.", status_, responseData_, headers_, result_, null);
+                        }
+                        else
+                        if (status_ == 404)
+                        {
+                            var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+                            var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+                            throw new ApiException<string>("Not found, could not find UUID in database.", status_, responseData_, headers_, result_, null);
+                        }
+                        else
+                        {
+                            var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+                            throw new ApiException("The HTTP status code of the response was not expected (" + status_ + ").", status_, responseData_, headers_, null);
+                        }
+                    }
+                    finally
+                    {
+                        if (disposeResponse_)
+                            response_.Dispose();
+                    }
+                }
+            }
+            finally
+            {
+                if (disposeClient_)
+                    client_.Dispose();
+            }
+        }
+
+        /// <summary>
+        /// Delete a World Anchor.
+        /// </summary>
+        /// <remarks>
+        /// Delete a single World Anchor stored in the world storage from its ID.
+        /// </remarks>
+        /// <param name="worldAnchorUUID">World Anchor UUID to delete.</param>
+        /// <returns>OK, delete successful.</returns>
+        /// <exception cref="ApiException">A server side error occurred.</exception>
+        public virtual System.Threading.Tasks.Task<string> DeleteWorldAnchorAsync(string token, System.Guid worldAnchorUUID)
+        {
+            return DeleteWorldAnchorAsync(token, worldAnchorUUID, System.Threading.CancellationToken.None);
+        }
+
+        /// <summary>
+        /// Delete a World Anchor.
+        /// </summary>
+        /// <remarks>
+        /// Delete a single World Anchor stored in the world storage from its ID.
+        /// </remarks>
+        /// <param name="worldAnchorUUID">World Anchor UUID to delete.</param>
+        /// <returns>OK, delete successful.</returns>
+        /// <exception cref="ApiException">A server side error occurred.</exception>
+        public virtual string DeleteWorldAnchor(string token, System.Guid worldAnchorUUID)
+        {
+            return System.Threading.Tasks.Task.Run(async () => await DeleteWorldAnchorAsync(token, worldAnchorUUID, System.Threading.CancellationToken.None)).GetAwaiter().GetResult();
+        }
+
+        /// <param name="cancellationToken">A cancellation token that can be used by other objects or threads to receive notice of cancellation.</param>
+        /// <summary>
+        /// Delete a World Anchor.
+        /// </summary>
+        /// <remarks>
+        /// Delete a single World Anchor stored in the world storage from its ID.
+        /// </remarks>
+        /// <param name="worldAnchorUUID">World Anchor UUID to delete.</param>
+        /// <returns>OK, delete successful.</returns>
+        /// <exception cref="ApiException">A server side error occurred.</exception>
+        public virtual async System.Threading.Tasks.Task<string> DeleteWorldAnchorAsync(string token, System.Guid worldAnchorUUID, System.Threading.CancellationToken cancellationToken)
+        {
+            if (worldAnchorUUID == null)
+                throw new System.ArgumentNullException("worldAnchorUUID");
+
+            var client_ = _httpClient;
+            var disposeClient_ = false;
+            try
+            {
+                using (var request_ = new System.Net.Http.HttpRequestMessage())
+                {
+
+                    if (token != null)
+                        request_.Headers.TryAddWithoutValidation("token", ConvertToString(token, System.Globalization.CultureInfo.InvariantCulture));
+                    request_.Method = new System.Net.Http.HttpMethod("DELETE");
+                    request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("text/plain"));
+
+                    var urlBuilder_ = new System.Text.StringBuilder();
+                
+                    // Operation Path: "worldAnchors/{worldAnchorUUID}"
+                    urlBuilder_.Append("worldAnchors/");
+                    urlBuilder_.Append(System.Uri.EscapeDataString(ConvertToString(worldAnchorUUID, System.Globalization.CultureInfo.InvariantCulture)));
+
+                    PrepareRequest(client_, request_, urlBuilder_);
+
+                    var url_ = urlBuilder_.ToString();
+                    request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute);
+
+                    PrepareRequest(client_, request_, url_);
+
+                    var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false);
+                    var disposeResponse_ = true;
+                    try
+                    {
+                        var headers_ = new System.Collections.Generic.Dictionary<string, System.Collections.Generic.IEnumerable<string>>();
+                        foreach (var item_ in response_.Headers)
+                            headers_[item_.Key] = item_.Value;
+                        if (response_.Content != null && response_.Content.Headers != null)
+                        {
+                            foreach (var item_ in response_.Content.Headers)
+                                headers_[item_.Key] = item_.Value;
+                        }
+
+                        ProcessResponse(client_, response_);
+
+                        var status_ = (int)response_.StatusCode;
+                        if (status_ == 200)
+                        {
+                            var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+                            var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+                            return result_;
+                        }
+                        else
+                        if (status_ == 400)
+                        {
+                            var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+                            var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+                            throw new ApiException<string>("Invalid UUID supplied.", status_, responseData_, headers_, result_, null);
+                        }
+                        else
+                        if (status_ == 404)
+                        {
+                            var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+                            var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+                            throw new ApiException<string>("Not found, could not find UUID in database.", status_, responseData_, headers_, result_, null);
+                        }
+                        else
+                        {
+                            var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+                            throw new ApiException("The HTTP status code of the response was not expected (" + status_ + ").", status_, responseData_, headers_, null);
+                        }
+                    }
+                    finally
+                    {
+                        if (disposeResponse_)
+                            response_.Dispose();
+                    }
+                }
+            }
+            finally
+            {
+                if (disposeClient_)
+                    client_.Dispose();
+            }
+        }
+
+        /// <summary>
+        /// Create a World Link between elements (world anchors and/or trackables).
+        /// </summary>
+        /// <remarks>
+        /// Create a new World Link from a json object containing all the required information and add it to the world storage. &lt;br&gt;As a result you will get the ID of the newly created World Link.
+        /// </remarks>
+        /// <param name="body">The link to be added to the world storage.</param>
+        /// <returns>OK, return the UUID of the World Link defined by the world storage.</returns>
+        /// <exception cref="ApiException">A server side error occurred.</exception>
+        public virtual System.Threading.Tasks.Task<string> AddWorldLinkAsync(string token, WorldLink body)
+        {
+            return AddWorldLinkAsync(token, body, System.Threading.CancellationToken.None);
+        }
+
+        /// <summary>
+        /// Create a World Link between elements (world anchors and/or trackables).
+        /// </summary>
+        /// <remarks>
+        /// Create a new World Link from a json object containing all the required information and add it to the world storage. &lt;br&gt;As a result you will get the ID of the newly created World Link.
+        /// </remarks>
+        /// <param name="body">The link to be added to the world storage.</param>
+        /// <returns>OK, return the UUID of the World Link defined by the world storage.</returns>
+        /// <exception cref="ApiException">A server side error occurred.</exception>
+        public virtual string AddWorldLink(string token, WorldLink body)
+        {
+            return System.Threading.Tasks.Task.Run(async () => await AddWorldLinkAsync(token, body, System.Threading.CancellationToken.None)).GetAwaiter().GetResult();
+        }
+
+        /// <param name="cancellationToken">A cancellation token that can be used by other objects or threads to receive notice of cancellation.</param>
+        /// <summary>
+        /// Create a World Link between elements (world anchors and/or trackables).
+        /// </summary>
+        /// <remarks>
+        /// Create a new World Link from a json object containing all the required information and add it to the world storage. &lt;br&gt;As a result you will get the ID of the newly created World Link.
+        /// </remarks>
+        /// <param name="body">The link to be added to the world storage.</param>
+        /// <returns>OK, return the UUID of the World Link defined by the world storage.</returns>
+        /// <exception cref="ApiException">A server side error occurred.</exception>
+        public virtual async System.Threading.Tasks.Task<string> AddWorldLinkAsync(string token, WorldLink body, System.Threading.CancellationToken cancellationToken)
+        {
+            if (body == null)
+                throw new System.ArgumentNullException("body");
+
+            var client_ = _httpClient;
+            var disposeClient_ = false;
+            try
+            {
+                using (var request_ = new System.Net.Http.HttpRequestMessage())
+                {
+
+                    if (token != null)
+                        request_.Headers.TryAddWithoutValidation("token", ConvertToString(token, System.Globalization.CultureInfo.InvariantCulture));
+                    var json_ = Newtonsoft.Json.JsonConvert.SerializeObject(body, _settings.Value);
+                    var content_ = new System.Net.Http.StringContent(json_);
+                    content_.Headers.ContentType = System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json");
+                    request_.Content = content_;
+                    request_.Method = new System.Net.Http.HttpMethod("POST");
+                    request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("text/plain"));
+
+                    var urlBuilder_ = new System.Text.StringBuilder();
+                
+                    // Operation Path: "worldLinks"
+                    urlBuilder_.Append("worldLinks");
+
+                    PrepareRequest(client_, request_, urlBuilder_);
+
+                    var url_ = urlBuilder_.ToString();
+                    request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute);
+
+                    PrepareRequest(client_, request_, url_);
+
+                    var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false);
+                    var disposeResponse_ = true;
+                    try
+                    {
+                        var headers_ = new System.Collections.Generic.Dictionary<string, System.Collections.Generic.IEnumerable<string>>();
+                        foreach (var item_ in response_.Headers)
+                            headers_[item_.Key] = item_.Value;
+                        if (response_.Content != null && response_.Content.Headers != null)
+                        {
+                            foreach (var item_ in response_.Content.Headers)
+                                headers_[item_.Key] = item_.Value;
+                        }
+
+                        ProcessResponse(client_, response_);
+
+                        var status_ = (int)response_.StatusCode;
+                        if (status_ == 200)
+                        {
+                            var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+                            var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+                            return result_;
+                        }
+                        else
+                        if (status_ == 201)
+                        {
+                            var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+                            var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+                            return result_;
+                        }
+                        else
+                        if (status_ == 400)
+                        {
+                            var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+                            var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+                            throw new ApiException<string>("Bad request.", status_, responseData_, headers_, result_, null);
+                        }
+                        else
+                        if (status_ == 409)
+                        {
+                            var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+                            var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+                            throw new ApiException<string>("Invalid UUID, id must be a Nil value.", status_, responseData_, headers_, result_, null);
+                        }
+                        else
+                        {
+                            var objectResponse_ = await ReadObjectResponseAsync<Error>(response_, headers_, cancellationToken).ConfigureAwait(false);
+                            if (objectResponse_.Object == null)
+                            {
+                                throw new ApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
+                            }
+                            throw new ApiException<Error>("Unexpected error.", status_, objectResponse_.Text, headers_, objectResponse_.Object, null);
+                        }
+                    }
+                    finally
+                    {
+                        if (disposeResponse_)
+                            response_.Dispose();
+                    }
+                }
+            }
+            finally
+            {
+                if (disposeClient_)
+                    client_.Dispose();
+            }
+        }
+
+        /// <summary>
+        /// Modify a World Link.
+        /// </summary>
+        /// <remarks>
+        /// Modify an existing World Link given a json object containing all the required information. &lt;br&gt; **Please note that ID of the object is required in the JSON**
+        /// </remarks>
+        /// <param name="body">The World Link to be modified in the world storage.</param>
+        /// <returns>OK, return the UUID of the modified World Link.</returns>
+        /// <exception cref="ApiException">A server side error occurred.</exception>
+        public virtual System.Threading.Tasks.Task<string> ModifyWorldLinkAsync(string token, WorldLink body)
+        {
+            return ModifyWorldLinkAsync(token, body, System.Threading.CancellationToken.None);
+        }
+
+        /// <summary>
+        /// Modify a World Link.
+        /// </summary>
+        /// <remarks>
+        /// Modify an existing World Link given a json object containing all the required information. &lt;br&gt; **Please note that ID of the object is required in the JSON**
+        /// </remarks>
+        /// <param name="body">The World Link to be modified in the world storage.</param>
+        /// <returns>OK, return the UUID of the modified World Link.</returns>
+        /// <exception cref="ApiException">A server side error occurred.</exception>
+        public virtual string ModifyWorldLink(string token, WorldLink body)
+        {
+            return System.Threading.Tasks.Task.Run(async () => await ModifyWorldLinkAsync(token, body, System.Threading.CancellationToken.None)).GetAwaiter().GetResult();
+        }
+
+        /// <param name="cancellationToken">A cancellation token that can be used by other objects or threads to receive notice of cancellation.</param>
+        /// <summary>
+        /// Modify a World Link.
+        /// </summary>
+        /// <remarks>
+        /// Modify an existing World Link given a json object containing all the required information. &lt;br&gt; **Please note that ID of the object is required in the JSON**
+        /// </remarks>
+        /// <param name="body">The World Link to be modified in the world storage.</param>
+        /// <returns>OK, return the UUID of the modified World Link.</returns>
+        /// <exception cref="ApiException">A server side error occurred.</exception>
+        public virtual async System.Threading.Tasks.Task<string> ModifyWorldLinkAsync(string token, WorldLink body, System.Threading.CancellationToken cancellationToken)
+        {
+            if (body == null)
+                throw new System.ArgumentNullException("body");
+
+            var client_ = _httpClient;
+            var disposeClient_ = false;
+            try
+            {
+                using (var request_ = new System.Net.Http.HttpRequestMessage())
+                {
+
+                    if (token != null)
+                        request_.Headers.TryAddWithoutValidation("token", ConvertToString(token, System.Globalization.CultureInfo.InvariantCulture));
+                    var json_ = Newtonsoft.Json.JsonConvert.SerializeObject(body, _settings.Value);
+                    var content_ = new System.Net.Http.StringContent(json_);
+                    content_.Headers.ContentType = System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json");
+                    request_.Content = content_;
+                    request_.Method = new System.Net.Http.HttpMethod("PUT");
+                    request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("text/plain"));
+
+                    var urlBuilder_ = new System.Text.StringBuilder();
+                
+                    // Operation Path: "worldLinks"
+                    urlBuilder_.Append("worldLinks");
+
+                    PrepareRequest(client_, request_, urlBuilder_);
+
+                    var url_ = urlBuilder_.ToString();
+                    request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute);
+
+                    PrepareRequest(client_, request_, url_);
+
+                    var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false);
+                    var disposeResponse_ = true;
+                    try
+                    {
+                        var headers_ = new System.Collections.Generic.Dictionary<string, System.Collections.Generic.IEnumerable<string>>();
+                        foreach (var item_ in response_.Headers)
+                            headers_[item_.Key] = item_.Value;
+                        if (response_.Content != null && response_.Content.Headers != null)
+                        {
+                            foreach (var item_ in response_.Content.Headers)
+                                headers_[item_.Key] = item_.Value;
+                        }
+
+                        ProcessResponse(client_, response_);
+
+                        var status_ = (int)response_.StatusCode;
+                        if (status_ == 200)
+                        {
+                            var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+                            var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+                            return result_;
+                        }
+                        else
+                        if (status_ == 400)
+                        {
+                            var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+                            var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+                            throw new ApiException<string>("Bad request.", status_, responseData_, headers_, result_, null);
+                        }
+                        else
+                        if (status_ == 404)
+                        {
+                            var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+                            var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+                            throw new ApiException<string>("Not found, could not find UUID in database.", status_, responseData_, headers_, result_, null);
+                        }
+                        else
+                        {
+                            var objectResponse_ = await ReadObjectResponseAsync<Error>(response_, headers_, cancellationToken).ConfigureAwait(false);
+                            if (objectResponse_.Object == null)
+                            {
+                                throw new ApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
+                            }
+                            throw new ApiException<Error>("Unexpected error.", status_, objectResponse_.Text, headers_, objectResponse_.Object, null);
+                        }
+                    }
+                    finally
+                    {
+                        if (disposeResponse_)
+                            response_.Dispose();
+                    }
+                }
+            }
+            finally
+            {
+                if (disposeClient_)
+                    client_.Dispose();
+            }
+        }
+
+        /// <summary>
+        /// Return all World Links.
+        /// </summary>
+        /// <remarks>
+        /// Get all the World Links currently being stored in the world storage.
+        /// </remarks>
+        /// <returns>OK return all the World Links defined by the world storage.</returns>
+        /// <exception cref="ApiException">A server side error occurred.</exception>
+        public virtual System.Threading.Tasks.Task<System.Collections.Generic.List<WorldLink>> GetWorldLinksAsync(string token)
+        {
+            return GetWorldLinksAsync(token, System.Threading.CancellationToken.None);
+        }
+
+        /// <summary>
+        /// Return all World Links.
+        /// </summary>
+        /// <remarks>
+        /// Get all the World Links currently being stored in the world storage.
+        /// </remarks>
+        /// <returns>OK return all the World Links defined by the world storage.</returns>
+        /// <exception cref="ApiException">A server side error occurred.</exception>
+        public virtual System.Collections.Generic.List<WorldLink> GetWorldLinks(string token)
+        {
+            return System.Threading.Tasks.Task.Run(async () => await GetWorldLinksAsync(token, System.Threading.CancellationToken.None)).GetAwaiter().GetResult();
+        }
+
+        /// <param name="cancellationToken">A cancellation token that can be used by other objects or threads to receive notice of cancellation.</param>
+        /// <summary>
+        /// Return all World Links.
+        /// </summary>
+        /// <remarks>
+        /// Get all the World Links currently being stored in the world storage.
+        /// </remarks>
+        /// <returns>OK return all the World Links defined by the world storage.</returns>
+        /// <exception cref="ApiException">A server side error occurred.</exception>
+        public virtual async System.Threading.Tasks.Task<System.Collections.Generic.List<WorldLink>> GetWorldLinksAsync(string token, System.Threading.CancellationToken cancellationToken)
+        {
+            var client_ = _httpClient;
+            var disposeClient_ = false;
+            try
+            {
+                using (var request_ = new System.Net.Http.HttpRequestMessage())
+                {
+
+                    if (token != null)
+                        request_.Headers.TryAddWithoutValidation("token", ConvertToString(token, System.Globalization.CultureInfo.InvariantCulture));
+                    request_.Method = new System.Net.Http.HttpMethod("GET");
+                    request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json"));
+
+                    var urlBuilder_ = new System.Text.StringBuilder();
+                
+                    // Operation Path: "worldLinks"
+                    urlBuilder_.Append("worldLinks");
+
+                    PrepareRequest(client_, request_, urlBuilder_);
+
+                    var url_ = urlBuilder_.ToString();
+                    request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute);
+
+                    PrepareRequest(client_, request_, url_);
+
+                    var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false);
+                    var disposeResponse_ = true;
+                    try
+                    {
+                        var headers_ = new System.Collections.Generic.Dictionary<string, System.Collections.Generic.IEnumerable<string>>();
+                        foreach (var item_ in response_.Headers)
+                            headers_[item_.Key] = item_.Value;
+                        if (response_.Content != null && response_.Content.Headers != null)
+                        {
+                            foreach (var item_ in response_.Content.Headers)
+                                headers_[item_.Key] = item_.Value;
+                        }
+
+                        ProcessResponse(client_, response_);
+
+                        var status_ = (int)response_.StatusCode;
+                        if (status_ == 200)
+                        {
+                            var objectResponse_ = await ReadObjectResponseAsync<System.Collections.Generic.List<WorldLink>>(response_, headers_, cancellationToken).ConfigureAwait(false);
+                            if (objectResponse_.Object == null)
+                            {
+                                throw new ApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
+                            }
+                            return objectResponse_.Object;
+                        }
+                        else
+                        if (status_ == 201)
+                        {
+                            var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+                            var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+                            throw new ApiException<string>("Null response.", status_, responseData_, headers_, result_, null);
+                        }
+                        else
+                        {
+                            var objectResponse_ = await ReadObjectResponseAsync<Error>(response_, headers_, cancellationToken).ConfigureAwait(false);
+                            if (objectResponse_.Object == null)
+                            {
+                                throw new ApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
+                            }
+                            throw new ApiException<Error>("Unexpected error.", status_, objectResponse_.Text, headers_, objectResponse_.Object, null);
+                        }
+                    }
+                    finally
+                    {
+                        if (disposeResponse_)
+                            response_.Dispose();
+                    }
+                }
+            }
+            finally
+            {
+                if (disposeClient_)
+                    client_.Dispose();
+            }
+        }
+
+        /// <summary>
+        /// Find a World Link by its UUID.
+        /// </summary>
+        /// <remarks>
+        /// Get a single World Link stored in the world storage from its ID.
+        /// </remarks>
+        /// <param name="worldLinkUUID">UUID of the World Link to retrieve.</param>
+        /// <returns>Successful operation.</returns>
+        /// <exception cref="ApiException">A server side error occurred.</exception>
+        public virtual System.Threading.Tasks.Task<WorldLink> GetWorldLinkByIdAsync(string token, System.Guid worldLinkUUID)
+        {
+            return GetWorldLinkByIdAsync(token, worldLinkUUID, System.Threading.CancellationToken.None);
+        }
+
+        /// <summary>
+        /// Find a World Link by its UUID.
+        /// </summary>
+        /// <remarks>
+        /// Get a single World Link stored in the world storage from its ID.
+        /// </remarks>
+        /// <param name="worldLinkUUID">UUID of the World Link to retrieve.</param>
+        /// <returns>Successful operation.</returns>
+        /// <exception cref="ApiException">A server side error occurred.</exception>
+        public virtual WorldLink GetWorldLinkById(string token, System.Guid worldLinkUUID)
+        {
+            return System.Threading.Tasks.Task.Run(async () => await GetWorldLinkByIdAsync(token, worldLinkUUID, System.Threading.CancellationToken.None)).GetAwaiter().GetResult();
+        }
+
+        /// <param name="cancellationToken">A cancellation token that can be used by other objects or threads to receive notice of cancellation.</param>
+        /// <summary>
+        /// Find a World Link by its UUID.
+        /// </summary>
+        /// <remarks>
+        /// Get a single World Link stored in the world storage from its ID.
+        /// </remarks>
+        /// <param name="worldLinkUUID">UUID of the World Link to retrieve.</param>
+        /// <returns>Successful operation.</returns>
+        /// <exception cref="ApiException">A server side error occurred.</exception>
+        public virtual async System.Threading.Tasks.Task<WorldLink> GetWorldLinkByIdAsync(string token, System.Guid worldLinkUUID, System.Threading.CancellationToken cancellationToken)
+        {
+            if (worldLinkUUID == null)
+                throw new System.ArgumentNullException("worldLinkUUID");
+
+            var client_ = _httpClient;
+            var disposeClient_ = false;
+            try
+            {
+                using (var request_ = new System.Net.Http.HttpRequestMessage())
+                {
+
+                    if (token != null)
+                        request_.Headers.TryAddWithoutValidation("token", ConvertToString(token, System.Globalization.CultureInfo.InvariantCulture));
+                    request_.Method = new System.Net.Http.HttpMethod("GET");
+                    request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json"));
+
+                    var urlBuilder_ = new System.Text.StringBuilder();
+                
+                    // Operation Path: "worldLinks/{worldLinkUUID}"
+                    urlBuilder_.Append("worldLinks/");
+                    urlBuilder_.Append(System.Uri.EscapeDataString(ConvertToString(worldLinkUUID, System.Globalization.CultureInfo.InvariantCulture)));
+
+                    PrepareRequest(client_, request_, urlBuilder_);
+
+                    var url_ = urlBuilder_.ToString();
+                    request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute);
+
+                    PrepareRequest(client_, request_, url_);
+
+                    var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false);
+                    var disposeResponse_ = true;
+                    try
+                    {
+                        var headers_ = new System.Collections.Generic.Dictionary<string, System.Collections.Generic.IEnumerable<string>>();
+                        foreach (var item_ in response_.Headers)
+                            headers_[item_.Key] = item_.Value;
+                        if (response_.Content != null && response_.Content.Headers != null)
+                        {
+                            foreach (var item_ in response_.Content.Headers)
+                                headers_[item_.Key] = item_.Value;
+                        }
+
+                        ProcessResponse(client_, response_);
+
+                        var status_ = (int)response_.StatusCode;
+                        if (status_ == 200)
+                        {
+                            var objectResponse_ = await ReadObjectResponseAsync<WorldLink>(response_, headers_, cancellationToken).ConfigureAwait(false);
+                            if (objectResponse_.Object == null)
+                            {
+                                throw new ApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
+                            }
+                            return objectResponse_.Object;
+                        }
+                        else
+                        if (status_ == 400)
+                        {
+                            var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+                            var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+                            throw new ApiException<string>("Invalid UUID supplied.", status_, responseData_, headers_, result_, null);
+                        }
+                        else
+                        if (status_ == 404)
+                        {
+                            var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+                            var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+                            throw new ApiException<string>("Not found, could not find UUID in database.", status_, responseData_, headers_, result_, null);
+                        }
+                        else
+                        {
+                            var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+                            throw new ApiException("The HTTP status code of the response was not expected (" + status_ + ").", status_, responseData_, headers_, null);
+                        }
+                    }
+                    finally
+                    {
+                        if (disposeResponse_)
+                            response_.Dispose();
+                    }
+                }
+            }
+            finally
+            {
+                if (disposeClient_)
+                    client_.Dispose();
+            }
+        }
+
+        /// <summary>
+        /// Delete a World Link.
+        /// </summary>
+        /// <remarks>
+        /// Delete a single World Link stored in the world storage from its ID.
+        /// </remarks>
+        /// <param name="worldLinkUUID">World Link id to delete.</param>
+        /// <returns>OK, delete successful.</returns>
+        /// <exception cref="ApiException">A server side error occurred.</exception>
+        public virtual System.Threading.Tasks.Task<string> DeleteWorldLinkAsync(string token, System.Guid worldLinkUUID)
+        {
+            return DeleteWorldLinkAsync(token, worldLinkUUID, System.Threading.CancellationToken.None);
+        }
+
+        /// <summary>
+        /// Delete a World Link.
+        /// </summary>
+        /// <remarks>
+        /// Delete a single World Link stored in the world storage from its ID.
+        /// </remarks>
+        /// <param name="worldLinkUUID">World Link id to delete.</param>
+        /// <returns>OK, delete successful.</returns>
+        /// <exception cref="ApiException">A server side error occurred.</exception>
+        public virtual string DeleteWorldLink(string token, System.Guid worldLinkUUID)
+        {
+            return System.Threading.Tasks.Task.Run(async () => await DeleteWorldLinkAsync(token, worldLinkUUID, System.Threading.CancellationToken.None)).GetAwaiter().GetResult();
+        }
+
+        /// <param name="cancellationToken">A cancellation token that can be used by other objects or threads to receive notice of cancellation.</param>
+        /// <summary>
+        /// Delete a World Link.
+        /// </summary>
+        /// <remarks>
+        /// Delete a single World Link stored in the world storage from its ID.
+        /// </remarks>
+        /// <param name="worldLinkUUID">World Link id to delete.</param>
+        /// <returns>OK, delete successful.</returns>
+        /// <exception cref="ApiException">A server side error occurred.</exception>
+        public virtual async System.Threading.Tasks.Task<string> DeleteWorldLinkAsync(string token, System.Guid worldLinkUUID, System.Threading.CancellationToken cancellationToken)
+        {
+            if (worldLinkUUID == null)
+                throw new System.ArgumentNullException("worldLinkUUID");
+
+            var client_ = _httpClient;
+            var disposeClient_ = false;
+            try
+            {
+                using (var request_ = new System.Net.Http.HttpRequestMessage())
+                {
+
+                    if (token != null)
+                        request_.Headers.TryAddWithoutValidation("token", ConvertToString(token, System.Globalization.CultureInfo.InvariantCulture));
+                    request_.Method = new System.Net.Http.HttpMethod("DELETE");
+                    request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("text/plain"));
+
+                    var urlBuilder_ = new System.Text.StringBuilder();
+                
+                    // Operation Path: "worldLinks/{worldLinkUUID}"
+                    urlBuilder_.Append("worldLinks/");
+                    urlBuilder_.Append(System.Uri.EscapeDataString(ConvertToString(worldLinkUUID, System.Globalization.CultureInfo.InvariantCulture)));
+
+                    PrepareRequest(client_, request_, urlBuilder_);
+
+                    var url_ = urlBuilder_.ToString();
+                    request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute);
+
+                    PrepareRequest(client_, request_, url_);
+
+                    var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false);
+                    var disposeResponse_ = true;
+                    try
+                    {
+                        var headers_ = new System.Collections.Generic.Dictionary<string, System.Collections.Generic.IEnumerable<string>>();
+                        foreach (var item_ in response_.Headers)
+                            headers_[item_.Key] = item_.Value;
+                        if (response_.Content != null && response_.Content.Headers != null)
+                        {
+                            foreach (var item_ in response_.Content.Headers)
+                                headers_[item_.Key] = item_.Value;
+                        }
+
+                        ProcessResponse(client_, response_);
+
+                        var status_ = (int)response_.StatusCode;
+                        if (status_ == 200)
+                        {
+                            var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+                            var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+                            return result_;
+                        }
+                        else
+                        if (status_ == 400)
+                        {
+                            var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+                            var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+                            throw new ApiException<string>("Invalid UUID supplied.", status_, responseData_, headers_, result_, null);
+                        }
+                        else
+                        if (status_ == 404)
+                        {
+                            var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+                            var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+                            throw new ApiException<string>("Not found, could not find UUID in database.", status_, responseData_, headers_, result_, null);
+                        }
+                        else
+                        {
+                            var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+                            throw new ApiException("The HTTP status code of the response was not expected (" + status_ + ").", status_, responseData_, headers_, null);
+                        }
+                    }
+                    finally
+                    {
+                        if (disposeResponse_)
+                            response_.Dispose();
+                    }
+                }
+            }
+            finally
+            {
+                if (disposeClient_)
+                    client_.Dispose();
+            }
+        }
+
+        protected struct ObjectResponseResult<T>
+        {
+            public ObjectResponseResult(T responseObject, string responseText)
+            {
+                this.Object = responseObject;
+                this.Text = responseText;
+            }
+
+            public T Object { get; }
+
+            public string Text { get; }
+        }
+
+        public bool ReadResponseAsString { get; set; }
+
+        protected virtual async System.Threading.Tasks.Task<ObjectResponseResult<T>> ReadObjectResponseAsync<T>(System.Net.Http.HttpResponseMessage response, System.Collections.Generic.IReadOnlyDictionary<string, System.Collections.Generic.IEnumerable<string>> headers, System.Threading.CancellationToken cancellationToken)
+        {
+            if (response == null || response.Content == null)
+            {
+                return new ObjectResponseResult<T>(default(T), string.Empty);
+            }
+
+            if (ReadResponseAsString)
+            {
+                var responseText = await response.Content.ReadAsStringAsync().ConfigureAwait(false);
+                try
+                {
+                    var typedBody = Newtonsoft.Json.JsonConvert.DeserializeObject<T>(responseText, JsonSerializerSettings);
+                    return new ObjectResponseResult<T>(typedBody, responseText);
+                }
+                catch (Newtonsoft.Json.JsonException exception)
+                {
+                    var message = "Could not deserialize the response body string as " + typeof(T).FullName + ".";
+                    throw new ApiException(message, (int)response.StatusCode, responseText, headers, exception);
+                }
+            }
+            else
+            {
+                try
+                {
+                    using (var responseStream = await response.Content.ReadAsStreamAsync().ConfigureAwait(false))
+                    using (var streamReader = new System.IO.StreamReader(responseStream))
+                    using (var jsonTextReader = new Newtonsoft.Json.JsonTextReader(streamReader))
+                    {
+                        var serializer = Newtonsoft.Json.JsonSerializer.Create(JsonSerializerSettings);
+                        var typedBody = serializer.Deserialize<T>(jsonTextReader);
+                        return new ObjectResponseResult<T>(typedBody, string.Empty);
+                    }
+                }
+                catch (Newtonsoft.Json.JsonException exception)
+                {
+                    var message = "Could not deserialize the response body stream as " + typeof(T).FullName + ".";
+                    throw new ApiException(message, (int)response.StatusCode, string.Empty, headers, exception);
+                }
+            }
+        }
+
+        private string ConvertToString(object value, System.Globalization.CultureInfo cultureInfo)
+        {
+            if (value == null)
+            {
+                return "";
+            }
+
+            if (value is System.Enum)
+            {
+                var name = System.Enum.GetName(value.GetType(), value);
+                if (name != null)
+                {
+                    var field = System.Reflection.IntrospectionExtensions.GetTypeInfo(value.GetType()).GetDeclaredField(name);
+                    if (field != null)
+                    {
+                        var attribute = System.Reflection.CustomAttributeExtensions.GetCustomAttribute(field, typeof(System.Runtime.Serialization.EnumMemberAttribute)) 
+                            as System.Runtime.Serialization.EnumMemberAttribute;
+                        if (attribute != null)
+                        {
+                            return attribute.Value != null ? attribute.Value : name;
+                        }
+                    }
+
+                    var converted = System.Convert.ToString(System.Convert.ChangeType(value, System.Enum.GetUnderlyingType(value.GetType()), cultureInfo));
+                    return converted == null ? string.Empty : converted;
+                }
+            }
+            else if (value is bool) 
+            {
+                return System.Convert.ToString((bool)value, cultureInfo).ToLowerInvariant();
+            }
+            else if (value is byte[])
+            {
+                return System.Convert.ToBase64String((byte[]) value);
+            }
+            else if (value is string[])
+            {
+                return string.Join(",", (string[])value);
+            }
+            else if (value.GetType().IsArray)
+            {
+                var valueArray = (System.Array)value;
+                var valueTextArray = new string[valueArray.Length];
+                for (var i = 0; i < valueArray.Length; i++)
+                {
+                    valueTextArray[i] = ConvertToString(valueArray.GetValue(i), cultureInfo);
+                }
+                return string.Join(",", valueTextArray);
+            }
+
+            var result = System.Convert.ToString(value, cultureInfo);
+            return result == null ? "" : result;
+        }
+    }
+
+    /// <summary>
+    /// An element representing all information needed in relation with a Trackable or a WorldAnchor.
+    /// </summary>
+    [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.0.7.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")]
+    public partial class RelocalizationInformation
+    {
+        /// <summary>
+        /// The UUID of the original WorldAnchor or the Trackable requested.
+        /// </summary>
+        [Newtonsoft.Json.JsonProperty("requestUUID", Required = Newtonsoft.Json.Required.DisallowNull, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
+        public System.Guid RequestUUID { get; set; }
+
+        [Newtonsoft.Json.JsonProperty("requestType", Required = Newtonsoft.Json.Required.DisallowNull, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
+        [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))]
+        public TypeWorldStorage RequestType { get; set; }
+
+        /// <summary>
+        /// an array with trackables and their transforms linking them to the requestUUID element.
+        /// </summary>
+        [Newtonsoft.Json.JsonProperty("relocObjects", Required = Newtonsoft.Json.Required.DisallowNull, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
+        public System.Collections.Generic.ICollection<RelocObjects> RelocObjects { get; set; }
+
+        private System.Collections.Generic.IDictionary<string, object> _additionalProperties;
+
+        [Newtonsoft.Json.JsonExtensionData]
+        public System.Collections.Generic.IDictionary<string, object> AdditionalProperties
+        {
+            get { return _additionalProperties ?? (_additionalProperties = new System.Collections.Generic.Dictionary<string, object>()); }
+            set { _additionalProperties = value; }
+        }
+
+    }
+
+    /// <summary>
+    /// An element representing a Trackable object in the real world.
+    /// </summary>
+    [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.0.7.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")]
+    public partial class Trackable
+    {
+        /// <summary>
+        /// An Universally Unique IDentifier identifying the Trackable (RFC 4122).
+        /// </summary>
+        [Newtonsoft.Json.JsonProperty("UUID", Required = Newtonsoft.Json.Required.DisallowNull, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
+        public System.Guid UUID { get; set; }
+
+        /// <summary>
+        /// A human readable name for the Trackable.
+        /// </summary>
+        [Newtonsoft.Json.JsonProperty("name", Required = Newtonsoft.Json.Required.Always)]
+        public string Name { get; set; }
+
+        /// <summary>
+        /// An Universally Unique IDentifier identifying the creator of the Trackable (a person, a team or a company).
+        /// </summary>
+        [Newtonsoft.Json.JsonProperty("creatorUUID", Required = Newtonsoft.Json.Required.Always)]
+        public System.Guid CreatorUUID { get; set; }
+
+        [Newtonsoft.Json.JsonProperty("trackableType", Required = Newtonsoft.Json.Required.Always)]
+        [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))]
+        public TrackableType TrackableType { get; set; }
+
+        [Newtonsoft.Json.JsonProperty("trackableEncodingInformation", Required = Newtonsoft.Json.Required.Always)]
+        public EncodingInformationStructure TrackableEncodingInformation { get; set; }
+
+        /// <summary>
+        /// The data provided to create the Trackable in a specific format handled by the world storage service.
+        /// </summary>
+        [Newtonsoft.Json.JsonProperty("trackablePayload", Required = Newtonsoft.Json.Required.Always)]
+        public byte[] TrackablePayload { get; set; }
+
+        [Newtonsoft.Json.JsonProperty("localCRS", Required = Newtonsoft.Json.Required.Always)]
+        public Transform3D LocalCRS { get; set; } = new Transform3D();
+
+        [Newtonsoft.Json.JsonProperty("unit", Required = Newtonsoft.Json.Required.Always)]
+        [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))]
+        public UnitSystem Unit { get; set; }
+
+        [Newtonsoft.Json.JsonProperty("trackableSize", Required = Newtonsoft.Json.Required.Always)]
+        public Size TrackableSize { get; set; } = new Size();
+
+        [Newtonsoft.Json.JsonProperty("keyvalueTags", Required = Newtonsoft.Json.Required.Always)]
+        public KeyvalueTagList KeyvalueTags { get; set; } = new KeyvalueTagList();
+
+        [Newtonsoft.Json.JsonProperty("confidence", Required = Newtonsoft.Json.Required.DisallowNull, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
+        public double Confidence { get; set; }
+
+        private System.Collections.Generic.IDictionary<string, object> _additionalProperties;
+
+        [Newtonsoft.Json.JsonExtensionData]
+        public System.Collections.Generic.IDictionary<string, object> AdditionalProperties
+        {
+            get { return _additionalProperties ?? (_additionalProperties = new System.Collections.Generic.Dictionary<string, object>()); }
+            set { _additionalProperties = value; }
+        }
+
+    }
+
+    /// <summary>
+    /// An element describing a pose in the world graph.
+    /// </summary>
+    [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.0.7.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")]
+    public partial class WorldAnchor
+    {
+        /// <summary>
+        /// An Universally Unique IDentifier identifying the World Anchor (RFC 4122).
+        /// </summary>
+        [Newtonsoft.Json.JsonProperty("UUID", Required = Newtonsoft.Json.Required.DisallowNull, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
+        public System.Guid UUID { get; set; }
+
+        /// <summary>
+        /// A human readable name for the World Anchor.
+        /// </summary>
+        [Newtonsoft.Json.JsonProperty("name", Required = Newtonsoft.Json.Required.Always)]
+        public string Name { get; set; }
+
+        /// <summary>
+        /// An Universally Unique IDentifier identifying the creator of the World Anchor.
+        /// </summary>
+        [Newtonsoft.Json.JsonProperty("creatorUUID", Required = Newtonsoft.Json.Required.Always)]
+        public System.Guid CreatorUUID { get; set; }
+
+        [Newtonsoft.Json.JsonProperty("localCRS", Required = Newtonsoft.Json.Required.Always)]
+        public Transform3D LocalCRS { get; set; } = new Transform3D();
+
+        [Newtonsoft.Json.JsonProperty("unit", Required = Newtonsoft.Json.Required.Always)]
+        [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))]
+        public UnitSystem Unit { get; set; }
+
+        [Newtonsoft.Json.JsonProperty("worldAnchorSize", Required = Newtonsoft.Json.Required.Always)]
+        public Size WorldAnchorSize { get; set; } = new Size();
+
+        [Newtonsoft.Json.JsonProperty("keyvalueTags", Required = Newtonsoft.Json.Required.Always)]
+        public KeyvalueTagList KeyvalueTags { get; set; } = new KeyvalueTagList();
+
+        private System.Collections.Generic.IDictionary<string, object> _additionalProperties;
+
+        [Newtonsoft.Json.JsonExtensionData]
+        public System.Collections.Generic.IDictionary<string, object> AdditionalProperties
+        {
+            get { return _additionalProperties ?? (_additionalProperties = new System.Collections.Generic.Dictionary<string, object>()); }
+            set { _additionalProperties = value; }
+        }
+
+    }
+
+    /// <summary>
+    /// An object holding the info of a transform between two elements.
+    /// </summary>
+    [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.0.7.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")]
+    public partial class WorldLink
+    {
+        /// <summary>
+        /// An Universally Unique IDentifier identifying the World Link (RFC 4122).
+        /// </summary>
+        [Newtonsoft.Json.JsonProperty("UUID", Required = Newtonsoft.Json.Required.DisallowNull, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
+        public System.Guid UUID { get; set; }
+
+        /// <summary>
+        /// An Universally Unique IDentifier identifying the creator of the World Link.
+        /// </summary>
+        [Newtonsoft.Json.JsonProperty("creatorUUID", Required = Newtonsoft.Json.Required.Always)]
+        public System.Guid CreatorUUID { get; set; }
+
+        /// <summary>
+        /// An Universally Unique IDentifier identifying a World Anchor or Trackable.
+        /// </summary>
+        [Newtonsoft.Json.JsonProperty("UUIDFrom", Required = Newtonsoft.Json.Required.Always)]
+        public System.Guid UUIDFrom { get; set; }
+
+        /// <summary>
+        /// An Universally Unique IDentifier identifying a World Anchor or Trackable.
+        /// </summary>
+        [Newtonsoft.Json.JsonProperty("UUIDTo", Required = Newtonsoft.Json.Required.Always)]
+        public System.Guid UUIDTo { get; set; }
+
+        [Newtonsoft.Json.JsonProperty("typeFrom", Required = Newtonsoft.Json.Required.Always)]
+        [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))]
+        public TypeWorldStorage TypeFrom { get; set; }
+
+        [Newtonsoft.Json.JsonProperty("typeTo", Required = Newtonsoft.Json.Required.Always)]
+        [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))]
+        public TypeWorldStorage TypeTo { get; set; }
+
+        [Newtonsoft.Json.JsonProperty("transform", Required = Newtonsoft.Json.Required.Always)]
+        public Transform3D Transform { get; set; } = new Transform3D();
+
+        [Newtonsoft.Json.JsonProperty("unit", Required = Newtonsoft.Json.Required.Always)]
+        [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))]
+        public UnitSystem Unit { get; set; }
+
+        [Newtonsoft.Json.JsonProperty("keyvalueTags", Required = Newtonsoft.Json.Required.Always)]
+        public KeyvalueTagList KeyvalueTags { get; set; } = new KeyvalueTagList();
+
+        private System.Collections.Generic.IDictionary<string, object> _additionalProperties;
+
+        [Newtonsoft.Json.JsonExtensionData]
+        public System.Collections.Generic.IDictionary<string, object> AdditionalProperties
+        {
+            get { return _additionalProperties ?? (_additionalProperties = new System.Collections.Generic.Dictionary<string, object>()); }
+            set { _additionalProperties = value; }
+        }
+
+    }
+
+    /// <summary>
+    /// List of additional parameters to be stored with the object.
+    /// </summary>
+    [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.0.7.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")]
+    public partial class KeyvalueTagList : System.Collections.Generic.Dictionary<string, System.Collections.ObjectModel.Collection<string>>
+    {
+
+    }
+
+    /// <summary>
+    /// An object representing a supported capability of the World Analysis and its associated metadata
+    /// </summary>
+    [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.0.7.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")]
+    public partial class Capability
+    {
+        [Newtonsoft.Json.JsonProperty("trackableType", Required = Newtonsoft.Json.Required.DisallowNull, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
+        [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))]
+        public TrackableType TrackableType { get; set; }
+
+        [Newtonsoft.Json.JsonProperty("encodingInformation", Required = Newtonsoft.Json.Required.DisallowNull, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
+        public EncodingInformationStructure EncodingInformation { get; set; }
+
+        /// <summary>
+        /// Number of frames per second the tracking of this type of trackable is performed by the World Analysis
+        /// </summary>
+        [Newtonsoft.Json.JsonProperty("framerate", Required = Newtonsoft.Json.Required.DisallowNull, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
+        public double Framerate { get; set; }
+
+        /// <summary>
+        /// Mean tracking latency in milliseconds for this type of trackable
+        /// </summary>
+        [Newtonsoft.Json.JsonProperty("latency", Required = Newtonsoft.Json.Required.DisallowNull, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
+        public double Latency { get; set; }
+
+        /// <summary>
+        /// Accuracy score for the detection of this type of Trackable by the World Analysis
+        /// </summary>
+        [Newtonsoft.Json.JsonProperty("accuracy", Required = Newtonsoft.Json.Required.DisallowNull, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
+        public double Accuracy { get; set; }
+
+        private System.Collections.Generic.IDictionary<string, object> _additionalProperties;
+
+        [Newtonsoft.Json.JsonExtensionData]
+        public System.Collections.Generic.IDictionary<string, object> AdditionalProperties
+        {
+            get { return _additionalProperties ?? (_additionalProperties = new System.Collections.Generic.Dictionary<string, object>()); }
+            set { _additionalProperties = value; }
+        }
+
+    }
+
+    /// <summary>
+    /// An object holding the info of a Trackable`'`s encoding information `:` the data format and the version.
+    /// </summary>
+    [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.0.7.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")]
+    public partial class EncodingInformationStructure
+    {
+        /// <summary>
+        /// Identifier of the target framework.
+        /// </summary>
+        [Newtonsoft.Json.JsonProperty("dataFormat", Required = Newtonsoft.Json.Required.Always)]
+        [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))]
+        public EncodingInformationStructureDataFormat DataFormat { get; set; }
+
+        /// <summary>
+        /// The version of the format
+        /// </summary>
+        [Newtonsoft.Json.JsonProperty("version", Required = Newtonsoft.Json.Required.Always)]
+        public string Version { get; set; }
+
+        private System.Collections.Generic.IDictionary<string, object> _additionalProperties;
+
+        [Newtonsoft.Json.JsonExtensionData]
+        public System.Collections.Generic.IDictionary<string, object> AdditionalProperties
+        {
+            get { return _additionalProperties ?? (_additionalProperties = new System.Collections.Generic.Dictionary<string, object>()); }
+            set { _additionalProperties = value; }
+        }
+
+    }
+
+    [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.0.7.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")]
+    public partial class Error
+    {
+        [Newtonsoft.Json.JsonProperty("code", Required = Newtonsoft.Json.Required.Always)]
+        public int Code { get; set; }
+
+        [Newtonsoft.Json.JsonProperty("message", Required = Newtonsoft.Json.Required.Always)]
+        public string Message { get; set; }
+
+        private System.Collections.Generic.IDictionary<string, object> _additionalProperties;
+
+        [Newtonsoft.Json.JsonExtensionData]
+        public System.Collections.Generic.IDictionary<string, object> AdditionalProperties
+        {
+            get { return _additionalProperties ?? (_additionalProperties = new System.Collections.Generic.Dictionary<string, object>()); }
+            set { _additionalProperties = value; }
+        }
+
+    }
+
+    /// <summary>
+    /// Mode representing the context of the relocalization information (AR device to WorldAnchor/Trackable or WorldAnchor/Trackable to AR device)
+    /// </summary>
+    [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.0.7.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")]
+    public enum Mode_WorldStorage
+    {
+
+        [System.Runtime.Serialization.EnumMember(Value = @"TRACKABLES_TO_REQUEST")]
+        TRACKABLES_TO_REQUEST = 0,
+
+        [System.Runtime.Serialization.EnumMember(Value = @"REQUEST_TO_TRACKABLES")]
+        REQUEST_TO_TRACKABLES = 1,
+
+    }
+
+    /// <summary>
+    /// Size object in format {width, length, depth}.
+    /// </summary>
+    [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.0.7.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")]
+    public partial class Size : System.Collections.ObjectModel.Collection<double>
+    {
+
+    }
+
+    /// <summary>
+    /// Type for trackable
+    /// </summary>
+    [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.0.7.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")]
+    public enum TrackableType
+    {
+
+        [System.Runtime.Serialization.EnumMember(Value = @"FIDUCIAL_MARKER")]
+        FIDUCIAL_MARKER = 0,
+
+        [System.Runtime.Serialization.EnumMember(Value = @"IMAGE_MARKER")]
+        IMAGE_MARKER = 1,
+
+        [System.Runtime.Serialization.EnumMember(Value = @"MESH")]
+        MESH = 2,
+
+        [System.Runtime.Serialization.EnumMember(Value = @"MAP")]
+        MAP = 3,
+
+        [System.Runtime.Serialization.EnumMember(Value = @"GEOPOSE")]
+        GEOPOSE = 4,
+
+        [System.Runtime.Serialization.EnumMember(Value = @"OTHER")]
+        OTHER = 5,
+
+    }
+
+    /// <summary>
+    /// Coordinate reference system of the world anchor, a 4*4 matrix (rowmajor) represented by a float vector.
+    /// </summary>
+    [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.0.7.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")]
+    public partial class Transform3D : System.Collections.ObjectModel.Collection<float>
+    {
+
+    }
+
+    /// <summary>
+    /// Trackable or Anchor
+    /// </summary>
+    [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.0.7.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")]
+    public enum TypeWorldStorage
+    {
+
+        [System.Runtime.Serialization.EnumMember(Value = @"TRACKABLE")]
+        TRACKABLE = 0,
+
+        [System.Runtime.Serialization.EnumMember(Value = @"ANCHOR")]
+        ANCHOR = 1,
+
+        [System.Runtime.Serialization.EnumMember(Value = @"UNKNOWN")]
+        UNKNOWN = 2,
+
+    }
+
+    /// <summary>
+    /// Unit of length.
+    /// </summary>
+    [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.0.7.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")]
+    public enum UnitSystem
+    {
+
+        [System.Runtime.Serialization.EnumMember(Value = @"MM")]
+        MM = 0,
+
+        [System.Runtime.Serialization.EnumMember(Value = @"CM")]
+        CM = 1,
+
+        [System.Runtime.Serialization.EnumMember(Value = @"DM")]
+        DM = 2,
+
+        [System.Runtime.Serialization.EnumMember(Value = @"M")]
+        M = 3,
+
+        [System.Runtime.Serialization.EnumMember(Value = @"DAM")]
+        DAM = 4,
+
+        [System.Runtime.Serialization.EnumMember(Value = @"HM")]
+        HM = 5,
+
+        [System.Runtime.Serialization.EnumMember(Value = @"KM")]
+        KM = 6,
+
+        [System.Runtime.Serialization.EnumMember(Value = @"INCH")]
+        INCH = 7,
+
+        [System.Runtime.Serialization.EnumMember(Value = @"FOOT")]
+        FOOT = 8,
+
+        [System.Runtime.Serialization.EnumMember(Value = @"YARD")]
+        YARD = 9,
+
+        [System.Runtime.Serialization.EnumMember(Value = @"MILE")]
+        MILE = 10,
+
+    }
+
+    [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.0.7.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")]
+    public partial class Anonymous
+    {
+        [Newtonsoft.Json.JsonProperty("uuid", Required = Newtonsoft.Json.Required.DisallowNull, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
+        public System.Guid Uuid { get; set; }
+
+        [Newtonsoft.Json.JsonProperty("mode", Required = Newtonsoft.Json.Required.DisallowNull, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
+        [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))]
+        public Mode_WorldStorage Mode { get; set; }
+
+        private System.Collections.Generic.IDictionary<string, object> _additionalProperties;
+
+        [Newtonsoft.Json.JsonExtensionData]
+        public System.Collections.Generic.IDictionary<string, object> AdditionalProperties
+        {
+            get { return _additionalProperties ?? (_additionalProperties = new System.Collections.Generic.Dictionary<string, object>()); }
+            set { _additionalProperties = value; }
+        }
+
+    }
+
+    [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.0.7.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")]
+    public partial class Response
+    {
+        [Newtonsoft.Json.JsonProperty("RelocInfo", Required = Newtonsoft.Json.Required.DisallowNull, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
+        public System.Collections.Generic.ICollection<RelocalizationInformation> RelocInfo { get; set; }
+
+        private System.Collections.Generic.IDictionary<string, object> _additionalProperties;
+
+        [Newtonsoft.Json.JsonExtensionData]
+        public System.Collections.Generic.IDictionary<string, object> AdditionalProperties
+        {
+            get { return _additionalProperties ?? (_additionalProperties = new System.Collections.Generic.Dictionary<string, object>()); }
+            set { _additionalProperties = value; }
+        }
+
+    }
+
+    [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.0.7.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")]
+    public partial class RelocObjects
+    {
+        [Newtonsoft.Json.JsonProperty("trackable", Required = Newtonsoft.Json.Required.DisallowNull, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
+        public Trackable Trackable { get; set; }
+
+        [Newtonsoft.Json.JsonProperty("Transform3D", Required = Newtonsoft.Json.Required.DisallowNull, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
+        public Transform3D Transform3D { get; set; }
+
+        [Newtonsoft.Json.JsonProperty("mode", Required = Newtonsoft.Json.Required.DisallowNull, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
+        [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))]
+        public Mode_WorldStorage Mode { get; set; }
+
+        private System.Collections.Generic.IDictionary<string, object> _additionalProperties;
+
+        [Newtonsoft.Json.JsonExtensionData]
+        public System.Collections.Generic.IDictionary<string, object> AdditionalProperties
+        {
+            get { return _additionalProperties ?? (_additionalProperties = new System.Collections.Generic.Dictionary<string, object>()); }
+            set { _additionalProperties = value; }
+        }
+
+    }
+
+    [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.0.7.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")]
+    public enum EncodingInformationStructureDataFormat
+    {
+
+        [System.Runtime.Serialization.EnumMember(Value = @"HOLOLENS")]
+        HOLOLENS = 0,
+
+        [System.Runtime.Serialization.EnumMember(Value = @"ARKIT")]
+        ARKIT = 1,
+
+        [System.Runtime.Serialization.EnumMember(Value = @"ARCORE")]
+        ARCORE = 2,
+
+        [System.Runtime.Serialization.EnumMember(Value = @"VUFORIA")]
+        VUFORIA = 3,
+
+        [System.Runtime.Serialization.EnumMember(Value = @"ARUCO")]
+        ARUCO = 4,
+
+        [System.Runtime.Serialization.EnumMember(Value = @"OTHER")]
+        OTHER = 5,
+
+    }
+
+
+
+    [System.CodeDom.Compiler.GeneratedCode("NSwag", "14.0.7.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")]
+    public partial class ApiException : System.Exception
+    {
+        public int StatusCode { get; private set; }
+
+        public string Response { get; private set; }
+
+        public System.Collections.Generic.IReadOnlyDictionary<string, System.Collections.Generic.IEnumerable<string>> Headers { get; private set; }
+
+        public ApiException(string message, int statusCode, string response, System.Collections.Generic.IReadOnlyDictionary<string, System.Collections.Generic.IEnumerable<string>> headers, System.Exception innerException)
+            : base(message + "\n\nStatus: " + statusCode + "\nResponse: \n" + ((response == null) ? "(null)" : response.Substring(0, response.Length >= 512 ? 512 : response.Length)), innerException)
+        {
+            StatusCode = statusCode;
+            Response = response;
+            Headers = headers;
+        }
+
+        public override string ToString()
+        {
+            return string.Format("HTTP Response: \n\n{0}\n\n{1}", Response, base.ToString());
+        }
+    }
+
+    [System.CodeDom.Compiler.GeneratedCode("NSwag", "14.0.7.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")]
+    public partial class ApiException<TResult> : ApiException
+    {
+        public TResult Result { get; private set; }
+
+        public ApiException(string message, int statusCode, string response, System.Collections.Generic.IReadOnlyDictionary<string, System.Collections.Generic.IEnumerable<string>> headers, TResult result, System.Exception innerException)
+            : base(message, statusCode, response, headers, innerException)
+        {
+            Result = result;
+        }
+    }
+
+}
+
+#pragma warning restore  108
+#pragma warning restore  114
+#pragma warning restore  472
+#pragma warning restore  612
+#pragma warning restore 1573
+#pragma warning restore 1591
+#pragma warning restore 8073
+#pragma warning restore 3016
+#pragma warning restore 8603
+#pragma warning restore 8604
+#pragma warning restore 8625
\ No newline at end of file
diff --git a/Runtime/Scripts/OpenAPI/Generated/WorldStorageOpenAPI.cs.meta b/Runtime/Scripts/OpenAPI/Generated/WorldStorageOpenAPI.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..440047cfd07043e732f7eef7dd646c30e37ce17a
--- /dev/null
+++ b/Runtime/Scripts/OpenAPI/Generated/WorldStorageOpenAPI.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 30c641ff7728b7749a30c1076c101b4f
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Runtime/Scripts/OpenAPI/ResponseObject.cs b/Runtime/Scripts/OpenAPI/ResponseObject.cs
new file mode 100644
index 0000000000000000000000000000000000000000..4e6ffb7795ceea595d3262d53080a6b6a10ef7aa
--- /dev/null
+++ b/Runtime/Scripts/OpenAPI/ResponseObject.cs
@@ -0,0 +1,63 @@
+// The Fraunhofer HHI Unity Framework
+//  ___________                          .__            _____                ___ ___    ___ ___ .___ 
+//  \_   _____/___________   __ __  ____ |  |__   _____/ ____\___________   /   |   \  /   |   \|   |
+//   |    __) \_  __ \__  \ |  |  \/    \|  |  \ /  _ \   __\/ __ \_  __ \ /    ~    \/    ~    \   |
+//   |     \   |  | \// __ \|  |  /   |  \   Y  (  <_> )  | \  ___/|  | \/ \    Y    /\    Y    /   |
+//   \___  /   |__|  (____  /____/|___|  /___|  /\____/|__|  \___  >__|     \___|_  /  \___|_  /|___|
+//       \/               \/           \/     \/                 \/               \/         \/      
+// (C) Fraunhofer HHI, 2024
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Threading;
+using UnityEngine;
+
+namespace ETSI.ARF.OpenAPI
+{
+    public class ResponseObject<T>
+    {
+        // Management stuffs
+        static int ID = 0;
+        public int transactionId = 0;
+        public string message = "";     // custom message, type of data...
+        
+        // Time monitoring
+        public TimeSpan DeltaTime { get => responseTime - requestTime; }
+        public DateTime requestTime;
+        public DateTime responseTime;
+
+        // Incoming data
+        public T result;
+        public int payload;   // size of data
+        
+        //public string result = "";      // text result
+        //public object data = null;      // custom result
+
+        // Callback
+        public Action<ResponseObject<T>> callback;
+
+        // Task cancelllation
+        public CancellationToken cancellationToken { get => ct; }
+        private CancellationTokenSource tokenSource;
+        private CancellationToken ct;
+
+
+        public ResponseObject(string msg, Action<ResponseObject<T>> func = null)
+        {
+            requestTime = DateTime.Now;
+            transactionId = ++ID;
+            message = msg;
+            
+            callback = func;
+
+            tokenSource = new CancellationTokenSource();
+            ct = tokenSource.Token;
+        }
+
+        public void Cancel()
+        {
+            tokenSource.Cancel();
+        }
+    }
+}
\ No newline at end of file
diff --git a/Runtime/Scripts/OpenAPI/ResponseObject.cs.meta b/Runtime/Scripts/OpenAPI/ResponseObject.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..de0ee81cad532018e112632791e0b7cf68a47824
--- /dev/null
+++ b/Runtime/Scripts/OpenAPI/ResponseObject.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 05f85f41b6c493447aa7915699cae696
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Runtime/Scripts/OpenAPI/UnityWebRequestHttpClient.cs b/Runtime/Scripts/OpenAPI/UnityWebRequestHttpClient.cs
new file mode 100644
index 0000000000000000000000000000000000000000..94466cec553cae872c2b684a5ec167c2ad00445c
--- /dev/null
+++ b/Runtime/Scripts/OpenAPI/UnityWebRequestHttpClient.cs
@@ -0,0 +1,205 @@
+// Depends on UniTask to support cancellation token and GetAwaiter: https://github.com/Cysharp/UniTask
+// Otherwise, the code can be adapted using https://gist.github.com/krzys-h/9062552e33dd7bd7fe4a6c12db109a1a
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Net;
+using System.Net.Http;
+using System.Net.Http.Headers;
+using System.Threading;
+using System.Threading.Tasks;
+//using Cysharp.Threading.Tasks;
+
+using UnityEngine;
+using UnityEngine.Networking;
+
+namespace ETSI.ARF.OpenAPI
+{
+    public interface IHttpClient
+    {
+        public Uri BaseAddress { get; set; }
+        public HttpRequestHeaders DefaultRequestHeaders { get; }
+
+        public Task<HttpResponseMessage> SendAsync(HttpRequestMessage message, HttpCompletionOption option,
+            CancellationToken token);
+
+        public void Dispose();
+    }
+
+    public class BasicHTTPClient : IHttpClient
+    {
+
+        public BasicHTTPClient() { }
+
+        public BasicHTTPClient(string baseUri)
+        {
+            BaseAddress = new Uri(baseUri);
+            _httpClient.BaseAddress = BaseAddress; 
+        }
+
+        public BasicHTTPClient (Uri baseUri)
+        {
+            BaseAddress = baseUri;
+            _httpClient.BaseAddress = BaseAddress;
+        }
+
+        public Uri BaseAddress { get; set; }
+        public HttpRequestHeaders DefaultRequestHeaders => _httpClient.DefaultRequestHeaders;
+
+        private readonly HttpClient _httpClient = new HttpClient();
+
+        public async Task<HttpResponseMessage> SendAsync(HttpRequestMessage message, HttpCompletionOption option, CancellationToken token)
+        {
+            return await _httpClient.SendAsync(message, option, token); 
+        }
+
+            public void Dispose()
+        {
+            _httpClient.Dispose();
+            DefaultRequestHeaders.Clear();
+            BaseAddress = null;
+        }
+    }
+
+    public class UnityWebRequestHttpClient : IHttpClient
+    {
+        public UnityWebRequestHttpClient() { }
+
+        public UnityWebRequestHttpClient(string baseUri)
+        {
+            BaseAddress = new Uri(baseUri);
+        }
+
+        public UnityWebRequestHttpClient(Uri baseUri)
+        {
+            BaseAddress = baseUri;
+        }
+
+        public Uri BaseAddress { get; set; }
+        public HttpRequestHeaders DefaultRequestHeaders => _httpClient.DefaultRequestHeaders;
+
+        private readonly HttpClient _httpClient = new HttpClient();
+
+        public async Task<HttpResponseMessage> SendAsync(HttpRequestMessage message, HttpCompletionOption option, CancellationToken token)
+        {
+            var content = await (message.Content?.ReadAsStringAsync() ?? Task.FromResult(""));
+            var webRequest = GetUnityWebRequest(message.Method.Method, message.RequestUri, content);
+
+            AppendHeaders(webRequest);
+
+            Debug.Log("[HTTP] Request " + webRequest.uri.ToString());
+            try
+            {
+                //SylR
+                webRequest.SendWebRequest();
+                while (!webRequest.isDone)
+                {
+                    if (token.IsCancellationRequested)
+                    {
+                        Debug.Log($"Task '{ message.RequestUri }' cancelled");
+                        token.ThrowIfCancellationRequested();
+                    }
+                    await Task.Yield();
+                }
+
+                //await webRequest
+                //    .SendWebRequest()
+                //        .WithCancellation(cancellationToken: token);
+            }
+            catch (Exception)
+            {
+                webRequest.Dispose();
+                throw;
+            }
+
+            Debug.Log("[HTTP] Result: " + webRequest.result.ToString());
+
+            var responseMessage = CreateHttpResponseMessage(webRequest);
+            webRequest.Dispose();
+
+            Debug.Log("[HTTP] Response len: " + responseMessage.Content.Headers.ContentLength);
+
+            return responseMessage;
+        }
+
+        public void Dispose()
+        {
+            _httpClient.Dispose();
+            DefaultRequestHeaders.Clear();
+            BaseAddress = null;
+        }
+
+        private UnityWebRequest GetUnityWebRequest(string method, Uri endpoint, string content = "")
+        {
+            var requestUri = BaseAddress.AbsoluteUri + endpoint;
+            var webRequest = UnityWebRequest.Get(requestUri);
+            webRequest.method = method;
+
+            webRequest.disposeUploadHandlerOnDispose = true;
+            webRequest.disposeDownloadHandlerOnDispose = true;
+
+            if (!string.IsNullOrEmpty(content))
+            {
+                var data = new System.Text.UTF8Encoding().GetBytes(content);
+                webRequest.uploadHandler = new UploadHandlerRaw(data);
+                webRequest.SetRequestHeader("Content-Type", "application/json");
+                //webRequest.SetRequestHeader("Content-Type", "image/jpeg");
+            }
+            return webRequest;
+        }
+
+        private void AppendHeaders(UnityWebRequest webRequest)
+        {
+            using var enumerator = DefaultRequestHeaders.GetEnumerator();
+
+            while (enumerator.MoveNext())
+            {
+                var (key, value) = enumerator.Current;
+                webRequest.SetRequestHeader(key, value.First());
+            }
+        }
+
+        private HttpResponseMessage CreateHttpResponseMessage(UnityWebRequest webRequest)
+        {
+            var responseContent = webRequest.downloadHandler?.text;
+
+            var response = new HttpResponseMessage();
+            response.Content = new StringContent(responseContent);
+            response.StatusCode = (HttpStatusCode)webRequest.responseCode;
+
+            Dictionary<string, string> headers = webRequest.GetResponseHeaders();
+
+            if (headers != null)
+            {
+                Debug.Log("[HTTP] Header: " + headers.Count.ToString());
+                foreach (var h in headers)
+                {
+                    switch (h.Key.ToLower().Trim())
+                    {
+                        case "content-type":
+                            {
+                                var trimmed = h.Value.ToLower().Split(";").FirstOrDefault();
+                                response.Content.Headers.ContentType = new MediaTypeHeaderValue(trimmed);
+                                break;
+                            }
+                        case "content-length":
+                            response.Content.Headers.ContentLength = long.Parse(h.Value);
+                            break;
+
+                        default:
+                            if (h.Value == "gzip")
+                            {
+                                // bug???
+                            }
+                            else
+                                response.Headers.Add(h.Key, h.Value);
+                            break;
+                    }
+                }
+            }
+            return response;
+        }
+    }
+
+}
\ No newline at end of file
diff --git a/Runtime/Scripts/OpenAPI/UnityWebRequestHttpClient.cs.meta b/Runtime/Scripts/OpenAPI/UnityWebRequestHttpClient.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..47e0b46229f979b9b8232f4c0f048632706357fa
--- /dev/null
+++ b/Runtime/Scripts/OpenAPI/UnityWebRequestHttpClient.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 5ebca3dbe45f9b34bb21cbedd07084eb
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Runtime/Scripts/OpenAPI/WorldStorageClient.cs b/Runtime/Scripts/OpenAPI/WorldStorageClient.cs
new file mode 100644
index 0000000000000000000000000000000000000000..fd665702cc48024042328416b67a8bc5fec99adf
--- /dev/null
+++ b/Runtime/Scripts/OpenAPI/WorldStorageClient.cs
@@ -0,0 +1,52 @@
+//
+// ARF - Augmented Reality Framework (ETSI ISG ARF)
+//
+// Copyright 2024 ETSI
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// Last change: March 2024
+//
+
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.Networking;
+
+namespace ETSI.ARF.OpenAPI.WorldStorage
+{
+    // SylR
+    public partial class WorldStorageClient
+    {
+        public string lastJsonText;
+        public long lastPayload;
+
+        partial void PrepareRequest(IHttpClient client, System.Net.Http.HttpRequestMessage request, string url)
+        {
+            // If needed to make some special things !!!
+        }
+
+        partial void PrepareRequest(IHttpClient client, System.Net.Http.HttpRequestMessage request, System.Text.StringBuilder urlBuilder)
+        {
+            // do something...
+        }
+
+        partial void ProcessResponse(IHttpClient client, System.Net.Http.HttpResponseMessage response)
+        {
+            lastJsonText = response.Content.ReadAsStringAsync().Result.ToString();
+            lastPayload = response.Content.Headers.ContentLength.Value;
+
+            // If needed to make some special things !!!
+        }
+    }
+}
\ No newline at end of file
diff --git a/Runtime/Scripts/OpenAPI/WorldStorageClient.cs.meta b/Runtime/Scripts/OpenAPI/WorldStorageClient.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..cf76ff91dbde591b3aaf1708e13eadf6004eeff9
--- /dev/null
+++ b/Runtime/Scripts/OpenAPI/WorldStorageClient.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: dfde2d8d63991f04bb94b071252aba6d
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Runtime/REST.meta b/Runtime/Scripts/REST.meta
similarity index 100%
rename from Assets/Runtime/REST.meta
rename to Runtime/Scripts/REST.meta
diff --git a/Runtime/Scripts/REST/AdminRequest.cs b/Runtime/Scripts/REST/AdminRequest.cs
new file mode 100644
index 0000000000000000000000000000000000000000..36492dcd1f18b91f0058778820b38febd2bb8747
--- /dev/null
+++ b/Runtime/Scripts/REST/AdminRequest.cs
@@ -0,0 +1,81 @@
+//
+// ARF - Augmented Reality Framework (ETSI ISG ARF)
+//
+// Copyright 2024 ETSI
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// Last change: March 2024
+//
+
+using System;
+using System.Threading.Tasks;
+using UnityEngine;
+
+using ETSI.ARF.OpenAPI;
+using ETSI.ARF.OpenAPI.WorldStorage;
+
+namespace ETSI.ARF.WorldStorage.REST
+{
+    public class AdminRequest : RequestBase<string>
+    {
+        //
+        // Wrapper for the endpoints
+        //
+        static private string Ping(WorldStorageServer ws)
+        {
+            wsServer = ws;
+            var httpClient = new UnityWebRequestHttpClient(ws.URI);
+            apiClient = new WorldStorageClient(httpClient);
+
+            string response = apiClient.GetPing();
+            return response;
+        }
+
+        static public ResponseObject<string> PingAsync(WorldStorageServer ws, Action<ResponseObject<string>> func)
+        {
+            wsServer = ws;
+            var httpClient = new UnityWebRequestHttpClient(ws.URI);
+            apiClient = new WorldStorageClient(httpClient);
+
+            Debug.Log("Request Ping...");
+            ResponseObject<string> ro = new ResponseObject<string>("Request Ping", func);
+            apiClient.GetPingAsync().ContinueWith(OnReceiveObject<string>, ro);
+            return ro;
+        }
+
+        static public ResponseObject<string> AdminAsync(WorldStorageServer ws, Action<ResponseObject<string>> func)
+        {
+            wsServer = ws;
+            var httpClient = new UnityWebRequestHttpClient(ws.URI);
+            apiClient = new WorldStorageClient(httpClient);
+
+            Debug.Log("Request Admin...");
+            ResponseObject<string> ro = new ResponseObject<string>("Request Admin", func);
+            apiClient.GetAdminAsync().ContinueWith(OnReceiveObject<string>, ro);
+            return ro;
+        }
+
+        static public ResponseObject<string> VersionAsync(WorldStorageServer ws, Action<ResponseObject<string>> func)
+        {
+            wsServer = ws;
+            var httpClient = new UnityWebRequestHttpClient(ws.URI);
+            apiClient = new WorldStorageClient(httpClient);
+
+            Debug.Log("Request Version...");
+            ResponseObject<string> ro = new ResponseObject<string>("Request Version", func);
+            apiClient.GetVersionAsync().ContinueWith(OnReceiveObject<string>, ro);
+            return ro;
+        }
+    }
+}
diff --git a/Assets/Runtime/REST/AdminRequest.cs.meta b/Runtime/Scripts/REST/AdminRequest.cs.meta
similarity index 100%
rename from Assets/Runtime/REST/AdminRequest.cs.meta
rename to Runtime/Scripts/REST/AdminRequest.cs.meta
diff --git a/Runtime/Scripts/REST/RelocalizationInformationRequest.cs b/Runtime/Scripts/REST/RelocalizationInformationRequest.cs
new file mode 100644
index 0000000000000000000000000000000000000000..309618c9459d89ebd8bc4eda267727d2c9660624
--- /dev/null
+++ b/Runtime/Scripts/REST/RelocalizationInformationRequest.cs
@@ -0,0 +1,221 @@
+//
+// ARF - Augmented Reality Framework (ETSI ISG ARF)
+//
+// Copyright 2024 ETSI
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// Last change: May 2024
+//
+using System;
+using System.Collections.Generic;
+using ETSI.ARF.OpenAPI.WorldStorage;
+using ETSI.ARF.OpenAPI;
+using Newtonsoft.Json;
+
+namespace ETSI.ARF.WorldStorage.REST
+{ 
+    public class RelocalizationInformationRequest : RequestBase<Response>
+    {
+
+        static public ResponseObject<Response> GetRelocalizationInformationAsync(WorldStorageServer ws, List<Guid> uuids, List<Mode_WorldStorage> modes, List<Capability> capabilities,  Action<ResponseObject<Response>> func)
+        {
+            wsServer = ws;
+            var httpClient = new UnityWebRequestHttpClient(ws.URI);
+            apiClient = new WorldStorageClient(httpClient);
+
+            ResponseObject<Response> ro = new ResponseObject<Response>("Request Reloc Information ", func);
+           
+            List<Anonymous> anonymous = new List<Anonymous>();
+            for (int i = 0;  i< uuids.Count; i++)
+            {
+                // Check same size or give anonymous as parameter?
+                Anonymous newOne = new Anonymous();
+                newOne.Uuid = uuids[i];
+                newOne.Mode = modes[i];
+                anonymous.Add(newOne);
+            }
+            apiClient.GetRelocalizationInformationAsync(token, anonymous, capabilities).ContinueWith(OnReceiveObject<Response>, ro);
+            return ro;
+        }
+
+
+        static public Response GetRelocalizationInformation(WorldStorageServer ws, List<Guid> uuids, List<Mode_WorldStorage> modes, List<Capability> capabilities)
+        {
+            wsServer = ws;
+            var httpClient = new BasicHTTPClient(ws.URI);
+            apiClient = new MyWorldStorageClient(httpClient);
+
+
+            List<Anonymous> anonymous = new List<Anonymous>();
+            for (int i = 0; i < uuids.Count; i++)
+            {
+                // Check same size or give anonymous as parameter?
+                Anonymous newOne = new Anonymous();
+                newOne.Uuid = uuids[i];
+                newOne.Mode = modes[i];
+                anonymous.Add(newOne);
+            }
+
+            Response ro = apiClient.GetRelocalizationInformation(token, anonymous, capabilities);
+            return ro;
+        }
+    }
+}
+
+namespace ETSI.ARF.OpenAPI.WorldStorage
+{
+    public partial class WorldStorageClient
+    {
+        public ETSI.ARF.OpenAPI.IHttpClient GetHttpClient()
+        {
+            return _httpClient;
+        }
+
+        public string ConvertToString_(object value, System.Globalization.CultureInfo cultureInfo)
+        {
+            return ConvertToString(value, cultureInfo);
+        }
+
+
+        public void PrepareRequest_(ETSI.ARF.OpenAPI.IHttpClient client, System.Net.Http.HttpRequestMessage request, string url)
+        {
+            PrepareRequest(client, request, url);
+        }
+        public void PrepareRequest_(ETSI.ARF.OpenAPI.IHttpClient client, System.Net.Http.HttpRequestMessage request, System.Text.StringBuilder urlBuilder)
+        {
+            PrepareRequest(client, request, urlBuilder);
+        }
+        public void ProcessResponse_(ETSI.ARF.OpenAPI.IHttpClient client, System.Net.Http.HttpResponseMessage response)
+        {
+            ProcessResponse(client, response);
+        }
+    }
+
+    public partial class MyWorldStorageClient : WorldStorageClient
+    {
+        public MyWorldStorageClient(IHttpClient httpClient) : base(httpClient)
+        {
+        }
+
+        /// <summary>
+        /// Override Nswag generated function to access relocalization information : deal with parameters in the query
+        /// </summary>
+        /// <param name="token"></param>
+        /// <param name="uuids"></param>
+        /// <param name="capabilities"></param>
+        /// <param name="cancellationToken"></param>
+        /// <returns></returns>
+        /// <exception cref="System.ArgumentNullException"></exception>
+        /// <exception cref="ApiException"></exception>
+        /// <exception cref="ApiException{string}"></exception>
+        /// <exception cref="ApiException{Error}"></exception>
+        public override async System.Threading.Tasks.Task<Response> GetRelocalizationInformationAsync(string token, System.Collections.Generic.IEnumerable<Anonymous> uuids, System.Collections.Generic.IEnumerable<Capability> capabilities, System.Threading.CancellationToken cancellationToken)
+        {
+            if (uuids == null)
+                throw new System.ArgumentNullException("uuids");
+
+            if (capabilities == null)
+                throw new System.ArgumentNullException("capabilities");
+
+            var client_ = GetHttpClient();
+            var disposeClient_ = false;
+            try
+            {
+                using (var request_ = new System.Net.Http.HttpRequestMessage())
+                {
+
+                    if (token != null)
+                        request_.Headers.TryAddWithoutValidation("token", ConvertToString_(token, System.Globalization.CultureInfo.InvariantCulture));
+                    request_.Method = new System.Net.Http.HttpMethod("GET");
+                    request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json"));
+
+                    var urlBuilder_ = new System.Text.StringBuilder();
+
+                    urlBuilder_.Append("relocalizationInformation");
+                    urlBuilder_.Append('?');
+                    foreach (var item_ in uuids) { urlBuilder_.Append(System.Uri.EscapeDataString("uuids")).Append('=').Append(System.Uri.EscapeDataString(JsonConvert.SerializeObject(item_))).Append('&'); }
+                    foreach (var item_ in capabilities) { urlBuilder_.Append(System.Uri.EscapeDataString("capabilities")).Append('=').Append(System.Uri.EscapeDataString(JsonConvert.SerializeObject(item_))).Append('&'); }
+                    urlBuilder_.Length--;
+
+                    PrepareRequest_(client_, request_, urlBuilder_);
+
+                    var url_ = urlBuilder_.ToString();
+                    request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute);
+
+                    PrepareRequest_(client_, request_, url_);
+
+                    var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false);
+                    var disposeResponse_ = true;
+                    try
+                    {
+                        var headers_ = new System.Collections.Generic.Dictionary<string, System.Collections.Generic.IEnumerable<string>>();
+                        foreach (var item_ in response_.Headers)
+                            headers_[item_.Key] = item_.Value;
+                        if (response_.Content != null && response_.Content.Headers != null)
+                        {
+                            foreach (var item_ in response_.Content.Headers)
+                                headers_[item_.Key] = item_.Value;
+                        }
+
+                        ProcessResponse_(client_, response_);
+
+                        var status_ = (int)response_.StatusCode;
+                        if (status_ == 200)
+                        {
+                            var objectResponse_ = await ReadObjectResponseAsync<Response>(response_, headers_, cancellationToken).ConfigureAwait(false);
+                            if (objectResponse_.Object == null)
+                            {
+                                throw new ApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
+                            }
+                            return objectResponse_.Object;
+                        }
+                        else
+                        if (status_ == 400)
+                        {
+                            var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+                            var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+                            throw new ApiException<string>("Invalid UUID supplied.", status_, responseData_, headers_, result_, null);
+                        }
+                        else
+                        if (status_ == 404)
+                        {
+                            var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+                            var result_ = (string)System.Convert.ChangeType(responseData_, typeof(string));
+                            throw new ApiException<string>("Not found, could not find UUID in database.", status_, responseData_, headers_, result_, null);
+                        }
+                        else
+                        {
+                            var objectResponse_ = await ReadObjectResponseAsync<Error>(response_, headers_, cancellationToken).ConfigureAwait(false);
+                            if (objectResponse_.Object == null)
+                            {
+                                throw new ApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
+                            }
+                            throw new ApiException<Error>("Unexpected error.", status_, objectResponse_.Text, headers_, objectResponse_.Object, null);
+                        }
+                    }
+                    finally
+                    {
+                        if (disposeResponse_)
+                            response_.Dispose();
+                    }
+                }
+            }
+            finally
+            {
+                if (disposeClient_)
+                    client_.Dispose();
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/Runtime/Scripts/REST/RelocalizationInformationRequest.cs.meta b/Runtime/Scripts/REST/RelocalizationInformationRequest.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d4c7b4ad1ce1d16f95e4407eb27a3b69588c8a01
--- /dev/null
+++ b/Runtime/Scripts/REST/RelocalizationInformationRequest.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 2039ff3a64a593c41b3729ed5e4be8ee
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Runtime/Scripts/REST/RequestBase.cs b/Runtime/Scripts/REST/RequestBase.cs
new file mode 100644
index 0000000000000000000000000000000000000000..4d98fb29ac916fd877b8915987b978d791ce1e95
--- /dev/null
+++ b/Runtime/Scripts/REST/RequestBase.cs
@@ -0,0 +1,79 @@
+//
+// ARF - Augmented Reality Framework (ETSI ISG ARF)
+//
+// Copyright 2024 ETSI
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// Last change: March 2024
+//
+
+using System;
+using System.Threading.Tasks;
+using System.Collections.Generic;
+using UnityEngine;
+
+using ETSI.ARF.OpenAPI;
+using ETSI.ARF.OpenAPI.WorldStorage;
+
+namespace ETSI.ARF.WorldStorage.REST
+{
+    public class RequestBase<T> // where T : Trackable, WorldAnchor, WorldLink
+    {
+        static protected WorldStorageServer wsServer;
+        static protected WorldStorageClient apiClient;
+
+        static protected string token = "ARF_Permission";
+
+        // Cache the current list
+        static public Dictionary<Guid, object> listOfObjects = new Dictionary<Guid, object>();
+
+
+        //
+        // Helpers
+        //
+        static protected void OnReceiveObject<TObj>(Task<TObj> t, object id)
+        {
+            if (t.IsCompleted)
+            {
+                ResponseObject<TObj> o = (ResponseObject<TObj>)id;
+                o.responseTime = DateTime.Now;
+                o.result = t.Result;
+                Debug.Log($"Server Response = {o.result} (ID={o.transactionId}, Msg={o.message})");
+
+                o.callback?.Invoke(o);
+            }
+            else Debug.Log("OpenAPI Timeout!");
+        }
+
+        static protected void OnReceiveListOfObjects<TObj>(Task<List<TObj>> t, object id) where TObj : IModel
+        {
+            if (t.IsCompleted)
+            {
+                ResponseObject<List<TObj>> o = (ResponseObject<List<TObj>>)id;
+                o.responseTime = DateTime.Now;
+                o.result = t.Result;
+                Debug.Log($"[REST] Server Response = Got {o.result.Count} entrie(s) (ID={o.transactionId}, Msg={o.message})");
+
+                listOfObjects.Clear();
+                foreach (var i in o.result)
+                {
+                    listOfObjects.Add(i.UUID, i);
+                }
+                o.callback?.Invoke(o);
+            }
+            else Debug.Log("[REST] OpenAPI Timeout!");
+        }
+
+    }
+}
diff --git a/Runtime/Scripts/REST/RequestBase.cs.meta b/Runtime/Scripts/REST/RequestBase.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..69460e01eb26cb49ad2cc5d6b2b39a835bfd9489
--- /dev/null
+++ b/Runtime/Scripts/REST/RequestBase.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 8af6c871203090b4abea43ba03d69efd
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Runtime/Scripts/REST/TrackableRequest.cs b/Runtime/Scripts/REST/TrackableRequest.cs
new file mode 100644
index 0000000000000000000000000000000000000000..4712c422fbefb9bafb4f4a33e11ff06674fc13c6
--- /dev/null
+++ b/Runtime/Scripts/REST/TrackableRequest.cs
@@ -0,0 +1,102 @@
+//
+// ARF - Augmented Reality Framework (ETSI ISG ARF)
+//
+// Copyright 2024 ETSI
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// Last change: March 2024
+//
+
+#define USING_OPENAPI_GENERATOR // alt. is Swagger
+
+using System;
+using System.Collections.Generic;
+using System.Threading.Tasks;
+using UnityEngine;
+
+using ETSI.ARF.OpenAPI.WorldStorage;
+using ETSI.ARF.OpenAPI;
+
+namespace ETSI.ARF.WorldStorage.REST
+{
+    public class TrackableRequest : RequestBase<Trackable>
+    {
+        //
+        // Wrapper for the endpoints
+        //
+        static public ResponseObject<Trackable> GetTrackableAsync(WorldStorageServer ws, Guid UUID, Action<ResponseObject<Trackable>> func)
+        {
+            wsServer = ws;
+            var httpClient = new UnityWebRequestHttpClient(ws.URI);
+            apiClient = new WorldStorageClient(httpClient);
+
+            Debug.Log("Request 1 Trackable...");
+            ResponseObject<Trackable> ro = new ResponseObject<Trackable>("Request Trackable " + UUID.ToString(), func);
+            apiClient.GetTrackableByIdAsync(token, UUID, ro.cancellationToken).ContinueWith(OnReceiveObject<Trackable>, ro);
+            return ro;
+        }
+
+        static public ResponseObject<List<Trackable>> GetTrackablesAsync(WorldStorageServer ws, Action<ResponseObject<List<Trackable>>> func)
+        {
+            wsServer = ws;
+            var httpClient = new UnityWebRequestHttpClient(ws.URI);
+            apiClient = new WorldStorageClient(httpClient);
+
+            Debug.Log("Request Trackables...");
+            ResponseObject<List<Trackable>> ro = new ResponseObject<List<Trackable>>("Request Trackables", func);
+            apiClient.GetTrackablesAsync(token, ro.cancellationToken).ContinueWith(OnReceiveListOfObjects<Trackable>, ro);
+            return ro;
+        }
+
+        static public ResponseObject<string> CreateTrackableAsync(WorldStorageServer ws, Trackable trackable, Action<ResponseObject<string>> func)
+        {
+            wsServer = ws;
+            var httpClient = new UnityWebRequestHttpClient(ws.URI);
+            apiClient = new WorldStorageClient(httpClient);
+
+            Debug.Log("Create 1 Trackable...");
+
+            // Add some management stuffs
+            trackable.UUID = Guid.NewGuid();
+            trackable.CreatorUUID = Guid.Empty;
+            
+            ResponseObject<string> ro = new ResponseObject<string>("Create Trackable " + trackable.Name + " (no UUID)", func);
+            apiClient.AddTrackableAsync(token, trackable, ro.cancellationToken).ContinueWith(OnReceiveObject<string>, ro);
+            return ro;
+        }
+
+        static public ResponseObject<string> UpdateTrackableAsync(WorldStorageServer ws, Trackable trackable, Action<ResponseObject<string>> func)
+        {
+            wsServer = ws;
+            var httpClient = new UnityWebRequestHttpClient(ws.URI);
+            apiClient = new WorldStorageClient(httpClient);
+
+            Debug.Log("Update Trackable...");
+            ResponseObject<string> ro = new ResponseObject<string>("Update Trackable " + trackable.UUID.ToString(), func);
+            apiClient.ModifyTrackableAsync(token, trackable,ro.cancellationToken).ContinueWith(OnReceiveObject<string>, ro);
+            return ro;
+        }
+        static public ResponseObject<string> DeleteTrackableAsync(WorldStorageServer ws, Guid UUID, Action<ResponseObject<string>> func)
+        {
+            wsServer = ws;
+            var httpClient = new UnityWebRequestHttpClient(ws.URI);
+            apiClient = new WorldStorageClient(httpClient);
+
+            Debug.Log("Delete 1 Trackable...");
+            ResponseObject<string> ro = new ResponseObject<string>("Delete Trackable " + UUID.ToString(), func);
+            apiClient.DeleteTrackableAsync(token, UUID, ro.cancellationToken).ContinueWith(OnReceiveObject<string>, ro);
+            return ro;
+        }
+    }
+}
\ No newline at end of file
diff --git a/Assets/Runtime/REST/TrackableRequest.cs.meta b/Runtime/Scripts/REST/TrackableRequest.cs.meta
similarity index 100%
rename from Assets/Runtime/REST/TrackableRequest.cs.meta
rename to Runtime/Scripts/REST/TrackableRequest.cs.meta
diff --git a/Runtime/Scripts/REST/WorldAnchorRequest.cs b/Runtime/Scripts/REST/WorldAnchorRequest.cs
new file mode 100644
index 0000000000000000000000000000000000000000..db10a3856062fc4789370725cd0f1bb9a8c754d6
--- /dev/null
+++ b/Runtime/Scripts/REST/WorldAnchorRequest.cs
@@ -0,0 +1,72 @@
+//
+// ARF - Augmented Reality Framework (ETSI ISG ARF)
+//
+// Copyright 2024 ETSI
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// Last change: March 2024
+//
+
+using System.Collections.Generic;
+using UnityEngine;
+
+using ETSI.ARF.OpenAPI.WorldStorage;
+
+//#if UNITY_EDITOR
+namespace ETSI.ARF.WorldStorage.REST
+{
+    public class WorldAnchorRequest
+    {
+        //static public string AddWorldAnchor(WorldStorageServer ws, WorldAnchor anchor)
+        //{
+        //    Debug.Log("Posting Add World Anchor to Server");
+        //    WorldAnchorsApi api = new WorldAnchorsApi(ws.URI);
+        //    string result = api.AddWorldAnchor(anchor);
+        //    Debug.Log(result);
+        //    return result;
+        //}
+
+        //static public string UpdateWorldAnchor(WorldStorageServer ws, WorldAnchor anchor)
+        //{
+        //    Debug.Log("Posting Add World Anchor to Server");
+        //    WorldAnchorsApi api = new WorldAnchorsApi(ws.URI);
+        //    string result = api.ModifyWorldAnchor(anchor);
+        //    Debug.Log(result);
+        //    return result;
+        //}
+
+        //static public List<WorldAnchor> GetAllWorldAnchors(WorldStorageServer ws)
+        //{
+        //    WorldAnchorsApi api = new WorldAnchorsApi(ws.URI);
+        //    List<WorldAnchor> result = api.GetWorldAnchors();
+        //    return result;
+        //}
+
+        //static public WorldAnchor GetWorldAnchor(WorldStorageServer ws, string uuid)
+        //{
+        //    System.Guid _uuid = System.Guid.Parse(uuid);
+        //    WorldAnchorsApi api = new WorldAnchorsApi(ws.URI);
+        //    WorldAnchor result = api.GetWorldAnchorById(_uuid);
+        //    return result;
+        //}
+
+        //static public void DeleteWorldAnchor(WorldStorageServer ws, string uuid)
+        //{
+        //    System.Guid _uuid = System.Guid.Parse(uuid);
+        //    WorldAnchorsApi api = new WorldAnchorsApi(ws.URI);
+        //    api.DeleteWorldAnchor(_uuid);
+        //}
+    }
+}
+//#endif
\ No newline at end of file
diff --git a/Assets/Runtime/REST/WorldAnchorRequest.cs.meta b/Runtime/Scripts/REST/WorldAnchorRequest.cs.meta
similarity index 100%
rename from Assets/Runtime/REST/WorldAnchorRequest.cs.meta
rename to Runtime/Scripts/REST/WorldAnchorRequest.cs.meta
diff --git a/Runtime/Scripts/REST/WorldLinkRequest.cs b/Runtime/Scripts/REST/WorldLinkRequest.cs
new file mode 100644
index 0000000000000000000000000000000000000000..07a6c3fabd361c810a591138de64ddeb85b4b69c
--- /dev/null
+++ b/Runtime/Scripts/REST/WorldLinkRequest.cs
@@ -0,0 +1,72 @@
+//
+// ARF - Augmented Reality Framework (ETSI ISG ARF)
+//
+// Copyright 2024 ETSI
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// Last change: March 2024
+//
+
+using System.Collections.Generic;
+using UnityEngine;
+
+using ETSI.ARF.OpenAPI.WorldStorage;
+
+//#if UNITY_EDITOR
+namespace ETSI.ARF.WorldStorage.REST
+{
+    public class WorldLinkRequest
+    {
+        //static public string AddWorldLink(WorldStorageServer ws, WorldLink link)
+        //{
+        //    Debug.Log("Posting Add Trackable to Server");
+        //    WorldLinksApi api = new WorldLinksApi(ws.URI);
+        //    string result = api.AddWorldLink(link);
+        //    Debug.Log(result);
+        //    return result;
+        //}
+
+        //static public string UpdateWorldLink(WorldStorageServer ws, WorldLink link)
+        //{
+        //    Debug.Log("Posting Add Trackable to Server");
+        //    WorldLinksApi api = new WorldLinksApi(ws.URI);
+        //    string result = api.ModifyWorldLink(link);
+        //    Debug.Log(result);
+        //    return result;
+        //}
+
+        //static public List<WorldLink> GetAllWorldLinks(WorldStorageServer ws)
+        //{
+        //    WorldLinksApi api = new WorldLinksApi(ws.URI);
+        //    List<WorldLink> result = api.GetWorldLinks();
+        //    return result;
+        //}
+
+        //static public WorldLink GetWorldLink(WorldStorageServer ws, string uuid)
+        //{
+        //    System.Guid _uuid = System.Guid.Parse(uuid);
+        //    WorldLinksApi api = new WorldLinksApi(ws.URI);
+        //    WorldLink result = api.GetWorldLinkById(_uuid);
+        //    return result;
+        //}
+
+        //static public void DeleteWorldLink(WorldStorageServer ws, string uuid)
+        //{
+        //    System.Guid _uuid = System.Guid.Parse(uuid);
+        //    WorldLinksApi api = new WorldLinksApi(ws.URI);
+        //    api.DeleteWorldLink(_uuid);
+        //}
+    }
+}
+//#endif
\ No newline at end of file
diff --git a/Assets/Runtime/REST/WorldLinkRequest.cs.meta b/Runtime/Scripts/REST/WorldLinkRequest.cs.meta
similarity index 100%
rename from Assets/Runtime/REST/WorldLinkRequest.cs.meta
rename to Runtime/Scripts/REST/WorldLinkRequest.cs.meta
diff --git a/Assets/Runtime/WorldStorageInfo.cs b/Runtime/Scripts/WorldStorageInfo.cs
similarity index 56%
rename from Assets/Runtime/WorldStorageInfo.cs
rename to Runtime/Scripts/WorldStorageInfo.cs
index f5e06ada580cef96b1c0d75f8868405fda8b35f3..83421b56e3a4d9647016f8b7ea28383a8c1de5ea 100644
--- a/Assets/Runtime/WorldStorageInfo.cs
+++ b/Runtime/Scripts/WorldStorageInfo.cs
@@ -25,21 +25,21 @@ public class WorldStorageInfo : MonoBehaviour
 {
     public WorldStorageServer worldStorageServer;
 
-    public bool isServerAlive()
-    {
-        if (worldStorageServer == null) return false;
-        return !string.IsNullOrEmpty(ETSI.ARF.WorldStorage.REST.AdminRequest.Ping(worldStorageServer));
-    }
+    //public bool isServerAlive()
+    //{
+    //    if (worldStorageServer == null) return false;
+    //    return !string.IsNullOrEmpty(ETSI.ARF.WorldStorage.REST.AdminRequest.Ping(worldStorageServer));
+    //}
 
-    public string GetServerState()
-    {
-        if (worldStorageServer == null) return "No Server Defined!";
-        return ETSI.ARF.WorldStorage.REST.AdminRequest.GetAdminInfo(worldStorageServer);
-    }
+    //public string GetServerState()
+    //{
+    //    if (worldStorageServer == null) return "No Server Defined!";
+    //    return ETSI.ARF.WorldStorage.REST.AdminRequest.GetAdminInfo(worldStorageServer);
+    //}
 
-    public string GetAPIVersion()
-    {
-        if (worldStorageServer == null) return "Unknown Version!";
-        return ETSI.ARF.WorldStorage.REST.AdminRequest.GetVersion(worldStorageServer);
-    }
+    //public string GetAPIVersion()
+    //{
+    //    if (worldStorageServer == null) return "Unknown Version!";
+    //    return ETSI.ARF.WorldStorage.REST.AdminRequest.GetVersion(worldStorageServer);
+    //}
 }
diff --git a/Assets/Runtime/WorldStorageInfo.cs.meta b/Runtime/Scripts/WorldStorageInfo.cs.meta
similarity index 100%
rename from Assets/Runtime/WorldStorageInfo.cs.meta
rename to Runtime/Scripts/WorldStorageInfo.cs.meta
diff --git a/Runtime/Scripts/csc.rsp b/Runtime/Scripts/csc.rsp
new file mode 100644
index 0000000000000000000000000000000000000000..42cb45b466677f7eff4e30a6ea8cce7f460421b9
--- /dev/null
+++ b/Runtime/Scripts/csc.rsp
@@ -0,0 +1 @@
+-r:System.ComponentModel.DataAnnotations.dll
\ No newline at end of file
diff --git a/unity-world-storage-package.sln.meta b/Runtime/Scripts/csc.rsp.meta
similarity index 74%
rename from unity-world-storage-package.sln.meta
rename to Runtime/Scripts/csc.rsp.meta
index 47847b16e2d7b1979d9e0309da7ae7678901f617..8c857945de052080f02c7f65a50f031fd8bea918 100644
--- a/unity-world-storage-package.sln.meta
+++ b/Runtime/Scripts/csc.rsp.meta
@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: bcc5bbd8089b6e9438869a2cdc48a551
+guid: a94d6effd437d7842907e9a5cfd2732f
 DefaultImporter:
   externalObjects: {}
   userData: 
diff --git a/etsi.isg.arf.worldstorage.asmdef b/Runtime/etsi.isg.arf.worldstorage.asmdef
similarity index 75%
rename from etsi.isg.arf.worldstorage.asmdef
rename to Runtime/etsi.isg.arf.worldstorage.asmdef
index 1558c6c09ea6afa324f57d81c919fc3e8cd52efb..c7719558180fd71bf071428fc0048ad3565e5127 100644
--- a/etsi.isg.arf.worldstorage.asmdef
+++ b/Runtime/etsi.isg.arf.worldstorage.asmdef
@@ -1,7 +1,9 @@
 {
-    "name": "World Storage Package",
+    "name": "etsi.isg.arf.worldstorage",
     "rootNamespace": "",
-    "references": [],
+    "references": [
+        "Unity.TextMeshPro"
+    ],
     "includePlatforms": [],
     "excludePlatforms": [],
     "allowUnsafeCode": false,
diff --git a/etsi.isg.arf.worldstorage.asmdef.meta b/Runtime/etsi.isg.arf.worldstorage.asmdef.meta
similarity index 100%
rename from etsi.isg.arf.worldstorage.asmdef.meta
rename to Runtime/etsi.isg.arf.worldstorage.asmdef.meta
diff --git a/UserSettings.meta b/UserSettings.meta
deleted file mode 100644
index 863c3ef6ee2148e0ffd1f7acc97e4705d21ee29a..0000000000000000000000000000000000000000
--- a/UserSettings.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 07aeef5bfefe60e44850edf35d18e498
-folderAsset: yes
-DefaultImporter:
-  externalObjects: {}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/build.meta b/build.meta
deleted file mode 100644
index d9da5484f7d7c342467d283b61bee411f3fdcaf4..0000000000000000000000000000000000000000
--- a/build.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 002c875dbdd71774f8a8fcbcb4611025
-folderAsset: yes
-DefaultImporter:
-  externalObjects: {}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/obj.meta b/obj.meta
deleted file mode 100644
index d1f63647667e80bc8d50a0858e14ba3461171578..0000000000000000000000000000000000000000
--- a/obj.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: f862f57100a72dd4abe64d617b662e5d
-folderAsset: yes
-DefaultImporter:
-  externalObjects: {}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/package.json b/package.json
index e3173edfe6a2f47cb71368c84f5bd3d131b3f829..a68595004410ad0e1f345514a439edab2f9c7c2f 100644
--- a/package.json
+++ b/package.json
@@ -4,6 +4,10 @@
   "version": "0.0.2",
   "displayName": "ISG-ARF World Storage Package",
   "description": "REST Wrapper for the World Storage of the Augmented Reality Framework",
-  "unity": "2020.3",
+  "unity": "2021.3",
+  "dependencies": {
+    "com.unity.textmeshpro": "3.0.8",
+	"com.unity.nuget.newtonsoft-json" : "3.1.0"
+ },
   "keywords": []
 }
\ No newline at end of file