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:
30
Notes/GEOTILELOADING_PLAN.md
Normal file
30
Notes/GEOTILELOADING_PLAN.md
Normal 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`.
|
||||
|
||||
43
Notes/GEOTILELOADING_PROGRESS.md
Normal file
43
Notes/GEOTILELOADING_PROGRESS.md
Normal file
@@ -0,0 +1,43 @@
|
||||
# Geo Tile Loading Progress
|
||||
|
||||
## Current State
|
||||
- Unity version: 6000.3.5f1 running locally (Unity manages ProjectVersion file).
|
||||
- Addressables 2.8.0 added.
|
||||
- Prefab output default: `Assets/TilePrefabs`.
|
||||
- Addressables build produces per-tile bundles in `ServerData/TileBundles/Android`.
|
||||
- Runtime loader: `GeoTileAddressablesLoader` with verbose logging toggle.
|
||||
- Quest package: `com.dtrierflood.dtrierflood`.
|
||||
|
||||
## Scene Setup
|
||||
- Scene: `Assets/Scenes/TestArea1.unity`.
|
||||
- Kept: `XR Origin (XR Rig)`, `XR Interaction Manager`, `EventSystem`.
|
||||
- Added:
|
||||
- `GeoTileLoader` with `GeoTileAddressablesLoader`.
|
||||
- `GeoTileContainer` assigned to `tilesParent`.
|
||||
- `player` assigned to `XR Origin (XR Rig)/Camera Offset/Main Camera`.
|
||||
|
||||
## Device Staging
|
||||
- Quest path:
|
||||
- `/sdcard/Android/data/com.dtrierflood.dtrierflood/files/TileBundles/Android`
|
||||
- Contents confirmed:
|
||||
- `catalog_0.1.0.bin`
|
||||
- `catalog_0.1.0.hash`
|
||||
- `TileManifest.json`
|
||||
- 10 tile bundles
|
||||
|
||||
## Known Issues
|
||||
- Loader previously failed due to missing `TileManifest.json`.
|
||||
- After pushing manifest, need to re-run and verify tile loads.
|
||||
- Device logs are noisy with system entries; focus on `[GeoTileAddressablesLoader]` lines.
|
||||
|
||||
## Next Steps
|
||||
1) Run on Quest with `verboseLogging` enabled to confirm:
|
||||
- manifest + catalog load
|
||||
- tile load events
|
||||
2) If tiles still fail:
|
||||
- Validate `catalog_*.bin` path in `TileManifest.json`.
|
||||
- Confirm Addressables address keys match prefab names.
|
||||
3) Optional:
|
||||
- Add a manual "load tile by ID" debug action.
|
||||
- Add Unity menu to push bundles to Quest via adb.
|
||||
|
||||
Reference in New Issue
Block a user