set up addressable geo tile streaming for quest

- add addressables settings/groups for tile prefabs with custom TileBuildPath/TileLoadPath profiles and link.xml preservation
- add editor tools for building tile addressables, configuring openxr quest loaders, removing missing scripts, and forcing android tool paths
- add runtime loader + manifest model to stream tile bundles from persistent data with radius-based load/unload
- add TestArea1 scene wired to GeoTileAddressablesLoader and update build settings to enable it
- update geo tile prefab importer output path to Assets/TilePrefabs
- update project/xr/android settings: min sdk 34, app id, openxr composition layers + quest devices, scripting define symbols, and renderer tweaks
- update packages (addressables 2.8, ar foundation 6.3.2, composition layers 2.3, collab proxy 2.11.2) and record scriptable build pipeline config
- remove temporary recovery scene files and add Notes plan/progress docs
This commit is contained in:
2026-01-22 01:12:59 +01:00
parent 0ae28bf32d
commit bd1e6f4f4d
63 changed files with 2738 additions and 117 deletions

View File

@@ -0,0 +1,30 @@
# Geo Tile Loading Plan
## Goal
Stream terrain tiles on Quest from local storage using Addressables (one bundle per tile) with an offline-first workflow.
## Approach
- Build tiles as Addressables (one bundle per tile).
- Store bundles + catalog + manifest under `Application.persistentDataPath/TileBundles/<platform>`.
- Runtime loader reads `TileManifest.json`, loads the local Addressables catalog, and streams tiles in/out by distance.
## Implementation Steps
1) Tile prefabs
- Generate tile prefabs into `Assets/TilePrefabs`.
2) Addressables build
- Build Android content via `Tools > Geo Tiles > Build Tile Addressables (Android)`.
- Output expected in `ServerData/TileBundles/Android`.
3) Device staging
- Push folder to Quest:
- `adb -s 2G0YC1ZG2V00BV push ServerData/TileBundles/Android/. /sdcard/Android/data/com.dtrierflood.dtrierflood/files/TileBundles/Android/`
4) Runtime loader
- Use `GeoTileAddressablesLoader` in the scene.
- Assign `player` to XR rig camera.
- Adjust load/unload radii for memory/perf.
## Debug Checklist
- Verify `TileManifest.json` is on device.
- Verify catalog file exists (`catalog_*.bin`).
- Enable `verboseLogging` on the loader to see init + tile loads.
- Check device logs with `adb logcat -s Unity`.