Open handzlikchris opened 2 months ago
Thank you for starting a PR for this. I don't have time to help right now (AVP-support in my project does not have high priority right now), however I would like to add this information:
A complete solution (not verified by me yet) is mentioned here: https://github.com/CesiumGS/cesium-unity/issues/409#issuecomment-2325620383 (pointing to https://github.com/HoloLabInc/ProjectSpirare-for-Unity/tree/main/unity/SpirareBrowser-visionOS-3DMaps#edit-cesium-for-unity and https://github.com/HoloLabInc/ProjectSpirare-for-Unity/blob/main/unity/SpirareBrowser-visionOS-3DMaps/Assets/App/Editor/CesiumPostProcessBuildForVisionOS.cs)
Here are some other links that describes some of the problems and some possible solutions:
Thanks for the PR @handzlikchris!
Unable to determine toolchain use for arm64-ios-unity with with CMAKE_SYSTEM_NAME visionOS. Did you mean to use VCPKG_CHAINLOAD_TOOLCHAIN_FILE?
Hmm it kind of seems like vcpkg doesn't understand visionOS as a system name. Information on this seems to be really sparse in my attempts to search so far. Worst case, it'll be necessary to define a custom toolchain.
A stupid question first, though... is visionOS really different from iOS? What I mean is, for fairly low-level code like cesium-native and its dependencies, is it possible to target a "least common denominator" of iOS and visionOS such that we don't need separate binaries for each? Or are they really such different operating systems?
@kring That's good question. To be honest I don't know how different VisionOS is from IOS. I don't have much experience with cmake, though that it may be a low-hanging fruit to change target to VisionOS for someone with more knowledge there.
If not - it may well be that building for IOS is good enough
Thank you for starting a PR for this. I don't have time to help right now (AVP-support in my project does not have high priority right now), however I would like to add this information:
A complete solution (not verified by me yet) is mentioned here: #409 (comment) (pointing to https://github.com/HoloLabInc/ProjectSpirare-for-Unity/tree/main/unity/SpirareBrowser-visionOS-3DMaps#edit-cesium-for-unity and https://github.com/HoloLabInc/ProjectSpirare-for-Unity/blob/main/unity/SpirareBrowser-visionOS-3DMaps/Assets/App/Editor/CesiumPostProcessBuildForVisionOS.cs)
Here are some other links that describes some of the problems and some possible solutions:
- https://community.cesium.com/t/cesium-for-unity-on-apple-vision-pro-xcode-build-errors/32132/2
- https://community.cesium.com/t/cesium-unity-apple-vision-pro-support/32042/3
- https://community.cesium.com/t/cesium-support-for-unity-vision-pro/31010/2
- https://community.cesium.com/t/cesium-unity-on-apple-vision-pro/29862
- https://community.cesium.com/t/seams-on-google-photorealistic-tiles/30911
That's great find, thanks - I'll check it out
Added Vision Pro build support, this is done by:
Generated-VisionOS
Still work in progress but should be good starting place for anyone looking to use Cesium for Unity on Vision Pro / Polyspatial.
Approach taken here contains some workarounds - happy to continue on this one but would need some guidance.
1) Cesium native is built using IOS config and XCode project is later re-targetted to xros, ideally we'd have separate xros toolchain for cmake, eg
extern/xros-toolchain.cmake
when I tried to build that it'd fail when resolving tripletsCould resolve that properly to build for VisionOS from start.
2) Needed to hardcode some generated libs to be exlcuded from build
As they fail to compile (duplicated symbols) - not 100% sure if that exclusion will cause issues.
Also looks like native project for this PR installs into Plugins folder quite a lot of libraries that I've not seen built in other forum threads, notably 86 libs build for
libabsl_XXX.a
eglibabsl_bad_any_cast_impl.a
,libabsl_string_view.a
,libabsl_throw_delegate.a