Build offline cesium-unreal 2.9.0?

Hello,

I’m looking into upgrading an Unreal project to version 2.9.0 of Cesium-Unreal, which comes with a new version of Cesium-Native, 0.40.1.

I’m currently using v2.7.0 for Cesium-Unreal and v0.37.0 for Cesium-Native.

I am unable to build Cesium-Native in version 0.40.1. I’m working on a machine that is disconnected from the internet.

I had to manually specify the path to my version of Unreal (5.3.2).

Do you have any idea how to work around this issue?

1> Command line: "C:\WINDOWS\system32\cmd.exe" /c "%SYSTEMROOT%\System32\chcp.com 65001 >NUL && "C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMake\bin\cmake.exe"  -G "Ninja"  -DCMAKE_BUILD_TYPE:STRING="RelWithDebInfo" -DCMAKE_INSTALL_PREFIX:PATH="U:\tmp\cesium-unreal\extern\out\install\x64-Release" -DCMAKE_C_COMPILER:FILEPATH="C:/Program Files/Microsoft Visual Studio/2022/Professional/VC/Tools/MSVC/14.33.31629/bin/HostX64/x64/cl.exe" -DCMAKE_CXX_COMPILER:FILEPATH="C:/Program Files/Microsoft Visual Studio/2022/Professional/VC/Tools/MSVC/14.33.31629/bin/HostX64/x64/cl.exe"  -DCMAKE_MAKE_PROGRAM="C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\Ninja\ninja.exe" "U:\tmp\cesium-unreal\extern" 2>&1"
1> Working directory: U:\tmp\cesium-unreal\extern\out\build\x64-Release
1> [CMake] -- Using Unreal Engine installation at: U:/UE/UE-5.3.2.4/
1> [CMake] -- VCPKG_TRIPLET x64-windows-unreal
1> [CMake] -- VCPKG_OVERLAY_PORTS U:/tmp/cesium-unreal/extern/vcpkg-overlays
1> [CMake] -- VCPKG_OVERLAY_TRIPLETS U:/tmp/cesium-unreal/extern/vcpkg-overlays/triplets
1> [CMake] -- EZVCPKG v0.1 starting up
1> [CMake] 	Website: https://github.com/jherico/ezvcpkg
1> [CMake] -- EZVCPKG_BASEDIR envrionment variable not found and basedir not set, using default /.ezvcpkg
1> [CMake] -- EZVCPKG initializing
1> [CMake] 	commit:     2024.07.12
1> [CMake] 	repository: https://github.com/microsoft/vcpkg.git
1> [CMake] 	local dir:  /.ezvcpkg/2024.07.12
1> [CMake] -- EZVCPKG Bootstrapping
1> [CMake] -- EZVCPKG Cloning repository
1> [CMake] CMake Error at cesium-native/cmake/ezvcpkg/ezvcpkg.cmake:83 (message):
1> [CMake]   EZVCPKG failed with error 128
1> [CMake] Call Stack (most recent call first):
1> [CMake]   cesium-native/cmake/ezvcpkg/ezvcpkg.cmake:121 (EZVCPKG_CHECK_RESULTS)
1> [CMake]   cesium-native/cmake/ezvcpkg/ezvcpkg.cmake:265 (EZVCPKG_BOOTSTRAP)
1> [CMake]   cesium-native/cmake/ezvcpkg/ezvcpkg.cmake:290 (EZVCPKG_FETCH_IMPL)
1> [CMake]   cesium-native/CMakeLists.txt:66 (ezvcpkg_fetch)
1> [CMake] *** The output from the command was:
1> [CMake] Cloning into '/.ezvcpkg/2024.07.12'...
1> [CMake] fatal: unable to access 'https://github.com/microsoft/vcpkg.git/': Could not resolve host: github.com
1> [CMake] 
1> [CMake] CMake Error at cesium-native/cmake/ezvcpkg/ezvcpkg.cmake:102 (message):
1> [CMake] Call Stack (most recent call first):
1> [CMake]   cesium-native/cmake/ezvcpkg/ezvcpkg.cmake:121 (EZVCPKG_CHECK_RESULTS)
1> [CMake]   cesium-native/cmake/ezvcpkg/ezvcpkg.cmake:265 (EZVCPKG_BOOTSTRAP)
1> [CMake]   cesium-native/cmake/ezvcpkg/ezvcpkg.cmake:290 (EZVCPKG_FETCH_IMPL)
1> [CMake]   cesium-native/CMakeLists.txt:66 (ezvcpkg_fetch)
1> [CMake] -- Configuring incomplete, errors occurred!
1> [CMake] See also "U:/tmp/cesium-unreal/extern/out/build/x64-Release/CMakeFiles/CMakeOutput.log".

Thank you,

Hi @JoffreyA, welcome to the community!

cesium-native has a handful of dependencies that is installed using vcpkg (a package manager). Since those packages are installed through HTTP URLs, this will implicitly require an internet connection. In the past, we’ve used git submodules to indicate these dependencies, but also using HTTP URLs. So I’m not sure that this is at all avoidable.

We do offer releases of Cesium for Unreal on Github so that you don’t have to build the plugin yourself. But I assume that if you’re building yourself, you’d like to make modifications to the plugin – is that correct?

If you can provide any other context about your situation, we may be better able to suggest a workaround. Thank you!