Small tweaks:
- Made floor semi-transparent (this was lost somehow)
- Fixed appnames override to not set name to empty string if only category is over-ridden.
Adding support for 2D texture that represents 6-sided cube (2048px per side) as a horizontal layout:
[ +x ] [ -x ] [ +y ] [ -y ] [ +z ] [ -z ]
This is the recommended representation of cube map as it is more efficient in terms of memory.
This change adds support for custom background images.
Usage:
- Background images are stored in "backgrounds" folder as with jpg or png.
- Both 360 degree (equirectangular) and 6-side cubemap images are supported. This is automatically detected based on aspect ratio (with cubemap having 4:3 aspect ratio).
- Select the background from Settings.
Changes:
- The selected background image is persisted in config in this format: "background": "backgrounds/my_background.jpg",
- Image is decoded in a background thread (via Android plugin), as Texture2D.LoadImage can cause multi-second freeze on the UI thread. We then compensate for unity (re-ordering coordinate origin and also alpha channel).
- Made ground smaller & semi-transparent
- Adds support for renaming apps: By pressing A or X on the controller, you can choose an alternate app name / icon. You can reset these changes back to default in Settings.
- Fix json deserialization issue that resulted in duplicate repo entries in config
- Download to temp filename and rename to destination (to handle scenario of file contains error body)
- Added support for appnames.json format. Example entry: "com.HighVoltage.Crossbow":{"name": "Ballista", "category": "cat1", "category2" : "cat 2"}.
- Set headtracking required to false to support launcher on Go.
- Added support for downloading assets (including auto-update)
- By default, auto-update is turned off. Enable it in settings.
- Default repository for app icons and names is [https://github.com/tverona1/QuestAppLauncher_assets]. This can be configured in config.json.
- Add support for custom categories. These can be appended to the entries in appnames.txt as follows: packageName,appName[,category1[, category2]]
- Add support for comments (#) in appnames.txt
- Added preliminary support for tabs: Added config support for "categoryType" specifying "none" or "auto". None means no tabs. Auto means that we create 3 tabs - Quest, Go/GearVR and 2D. These apps types are distinguished based on package information.
- Added support in UI for showing / hiding 2D apps.
- Fixed an issue with scroll view collider: Looks like Unity UI scroll view object does not interact very well in a VR environment. This one was a doozy. I noticed, although the scroll view masks UI that falls outside its rectangle (as it should), it does not suppress colliders. This means that it's possible to interact with colliders that get scrolled above the scroll view (i.e. like clicking on a cell to launch an app when that cell is outside the scroll view). The bigger problem is that this interfered with the tabs, which are above the scroll view. After contemplating several solutions, I ended up with a simple but effective one:
// To fix this issue, we cast a ray from current pointer to the scroll view's box collider.
// If we get a hit, it means we're inside the scroll view - so we enable all the children box
// colliders, which will behave as expected.
// If we do not get a hit, it means that we're outside the scroll view - so we disable all the children
// box colliders, which addresses the issue above.
- Build 7 update broke the controllers because I did not include the "android.hardware.vr.headtracking" uses-feature in the manifest. Because of this, the headset was incorrectly registered as an Oculus Go. Looks like they started to enforce this setting in the latest update.
- Added support for adjusting the grid size in the settings panel.