diff --git a/.gitignore b/.gitignore
index 90758be5d4b8a2fdad01978ad735ba6b45bbc594..50b689e9b1f6dd51cb07abf157a632eda931e514 100644
--- a/.gitignore
+++ b/.gitignore
@@ -60,4 +60,11 @@ Thumbs.db.meta
 *.DS_Store
 
 # VS Code
-*.vscode
\ No newline at end of file
+*.vscode
+
+# ignore generated asset bundles
+Assets/AssetBundles
+Assets/AssetBundles.meta
+# ignore arobject scan ios
+Assets/ARObjects
+Assets/ARObjects.meta
\ No newline at end of file
diff --git a/Assets/Editor.meta b/Assets/Editor.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b64a7a434f98e73b5f36887d4094436244084aaf
--- /dev/null
+++ b/Assets/Editor.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 1fdce6419e92a418aa73e2287388a1f8
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Editor/AssetBundleCreation.cs b/Assets/Editor/AssetBundleCreation.cs
new file mode 100644
index 0000000000000000000000000000000000000000..150fa562bd1bfa27972b0e21d3cf98bcde16be4a
--- /dev/null
+++ b/Assets/Editor/AssetBundleCreation.cs
@@ -0,0 +1,46 @@
+using UnityEditor;
+using UnityEngine;
+using System.IO ;
+/// <summary>
+/// Create asset bundles for different OS
+/// </summary>
+public class AssetBundleCreation
+{
+    private static string s_exportPath = "Assets/AssetBundles" ;
+
+#if UNITY_IOS
+    [MenuItem("ARF/Build AssetBundles IOS")]
+    static void BuildAllAssetBundlesIOS()
+    {
+        CheckDirectory();
+        BuildPipeline.BuildAssetBundles(s_exportPath, BuildAssetBundleOptions.None, BuildTarget.iOS);
+    }
+#endif
+
+#if UNITY_EDITOR_WIN
+    [MenuItem("ARF/Build AssetBundles Windows")]
+    static void BuildAllAssetBundlesWindows()
+    {
+        CheckDirectory();
+        BuildPipeline.BuildAssetBundles(s_exportPath, BuildAssetBundleOptions.None, BuildTarget.StandaloneWindows);
+    }
+#endif
+
+
+#if UNITY_ANDROID
+    [MenuItem("ARF/Build AssetBundles Android")]
+    static void BuildAllAssetBundlesAndroid()
+    {
+        CheckDirectory();
+        BuildPipeline.BuildAssetBundles(s_exportPath, BuildAssetBundleOptions.None, BuildTarget.Android);
+    }
+#endif
+    
+    static void CheckDirectory()
+    {
+        if (!Directory.Exists(s_exportPath))
+        {
+            Directory.CreateDirectory(s_exportPath);
+        }
+    }
+}
\ No newline at end of file
diff --git a/Assets/Editor/AssetBundleCreation.cs.meta b/Assets/Editor/AssetBundleCreation.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..1a7330d9cd09668ea656acf15073d1387761078f
--- /dev/null
+++ b/Assets/Editor/AssetBundleCreation.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: f8edd5d45295d4bbfb761c1a27e55353
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Resources/ARFImageTrackingPrefab.fbx b/Assets/Resources/ARFImageTrackingPrefab.fbx
deleted file mode 100644
index 7cab95629826114f63cdbccd76f83414265b4727..0000000000000000000000000000000000000000
Binary files a/Assets/Resources/ARFImageTrackingPrefab.fbx and /dev/null differ
diff --git a/Assets/Resources/ARFImageTrackingPrefab.fbx.meta b/Assets/Resources/ARFImageTrackingPrefab.fbx.meta
deleted file mode 100644
index 1b2f575ae576f029b2135ee5230989bcc95be528..0000000000000000000000000000000000000000
--- a/Assets/Resources/ARFImageTrackingPrefab.fbx.meta
+++ /dev/null
@@ -1,106 +0,0 @@
-fileFormatVersion: 2
-guid: 0b0025a9e37fafc40b9fdcf76dc28181
-ModelImporter:
-  serializedVersion: 21300
-  internalIDToNameTable: []
-  externalObjects: {}
-  materials:
-    materialImportMode: 2
-    materialName: 0
-    materialSearch: 1
-    materialLocation: 1
-  animations:
-    legacyGenerateAnimations: 4
-    bakeSimulation: 0
-    resampleCurves: 1
-    optimizeGameObjects: 0
-    removeConstantScaleCurves: 1
-    motionNodeName: 
-    rigImportErrors: 
-    rigImportWarnings: 
-    animationImportErrors: 
-    animationImportWarnings: 
-    animationRetargetingWarnings: 
-    animationDoRetargetingWarnings: 0
-    importAnimatedCustomProperties: 0
-    importConstraints: 0
-    animationCompression: 1
-    animationRotationError: 0.5
-    animationPositionError: 0.5
-    animationScaleError: 0.5
-    animationWrapMode: 0
-    extraExposedTransformPaths: []
-    extraUserProperties: []
-    clipAnimations: []
-    isReadable: 0
-  meshes:
-    lODScreenPercentages: []
-    globalScale: 1
-    meshCompression: 0
-    addColliders: 0
-    useSRGBMaterialColor: 1
-    sortHierarchyByName: 1
-    importVisibility: 1
-    importBlendShapes: 1
-    importCameras: 1
-    importLights: 1
-    nodeNameCollisionStrategy: 1
-    fileIdsGeneration: 2
-    swapUVChannels: 0
-    generateSecondaryUV: 0
-    useFileUnits: 1
-    keepQuads: 0
-    weldVertices: 1
-    bakeAxisConversion: 0
-    preserveHierarchy: 0
-    skinWeightsMode: 0
-    maxBonesPerVertex: 4
-    minBoneWeight: 0.001
-    optimizeBones: 1
-    meshOptimizationFlags: -1
-    indexFormat: 0
-    secondaryUVAngleDistortion: 8
-    secondaryUVAreaDistortion: 15.000001
-    secondaryUVHardAngle: 88
-    secondaryUVMarginMethod: 1
-    secondaryUVMinLightmapResolution: 40
-    secondaryUVMinObjectScale: 1
-    secondaryUVPackMargin: 4
-    useFileScale: 1
-  tangentSpace:
-    normalSmoothAngle: 60
-    normalImportMode: 0
-    tangentImportMode: 3
-    normalCalculationMode: 4
-    legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
-    blendShapeNormalImportMode: 1
-    normalSmoothingSource: 0
-  referencedClips: []
-  importAnimation: 1
-  humanDescription:
-    serializedVersion: 3
-    human: []
-    skeleton: []
-    armTwist: 0.5
-    foreArmTwist: 0.5
-    upperLegTwist: 0.5
-    legTwist: 0.5
-    armStretch: 0.05
-    legStretch: 0.05
-    feetSpacing: 0
-    globalScale: 1
-    rootMotionBoneName: 
-    hasTranslationDoF: 0
-    hasExtraRoot: 0
-    skeletonHasParents: 1
-  lastHumanDescriptionAvatarSource: {instanceID: 0}
-  autoGenerateAvatarMappingIfUnspecified: 1
-  animationType: 2
-  humanoidOversampling: 1
-  avatarSetup: 0
-  addHumanoidExtraRootOnlyWhenUsingAvatar: 1
-  remapMaterialsIfMaterialImportModeIsNone: 0
-  additionalBone: 0
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Packages/unity-world-analysis-arfoundation-wrapper-package b/Packages/unity-world-analysis-arfoundation-wrapper-package
index c13cc4fc084b4b729330d007c90e3053041e0592..933e9f8d9e4f288cc248b78bf90a06b407bd6bf2 160000
--- a/Packages/unity-world-analysis-arfoundation-wrapper-package
+++ b/Packages/unity-world-analysis-arfoundation-wrapper-package
@@ -1 +1 @@
-Subproject commit c13cc4fc084b4b729330d007c90e3053041e0592
+Subproject commit 933e9f8d9e4f288cc248b78bf90a06b407bd6bf2