Loading tilesets from files under Linux

Hi there, I’m trying to load a local tileset on Linux Debian with the url “file:///mnt/hdd/world_data/3DTiles/terrain.json”. Unfortunately, I get errors in the output log:

LogHttp: Warning: 0x7f08ffbf2990: request failed, libcurl error: 1 (Unsupported protocol)
LogHttp: Warning: 0x7f08ffbf2990: libcurl info message cache 0 (Protocol "file" not supported or     disabled in libcurl)
LogHttp: Warning: 0x7f08ffbf2990: libcurl info message cache 1 (Closing connection -1)
LogCesium: Error: [2021-04-21 14:42:37.921] [error] [Tileset.cpp:491] Unhandled error for tileset file:///mnt/hdd/world_data/3DTiles/terrain.json: std::exception

From what I understand, this could either mean that the “file” protocol is disabled in the library or that the URL was malformed. I checked the URL on my browser and the json file was loaded properly so I’m assuming that the first case is the issue here… or is it?

BTW, this seems to be the libcurl used by UnrealEngine itself…

Ok, checking the UnrealEngine source code and confirmed by this post https://answers.unrealengine.com/questions/891666/libcurl-behavior-with-third-party-library.html, it seems on Linux UnrealEngine compiles libcurl with the “file” protocol disabled.

In that thread from Unreal’s answer hub, it seems that the idea is to use Unreal’s IHttpRequests for HTTP requests and IPlatformFile for local requests. I delved into the Cesium for Unreal plugin and the UnrealAssetAccessor class does a request using IHttRequest so assumes the URL is necessarily in htpp. So based on all these informations, I’m surprised that using the file protocol works on Windows??!

Hello,

Thank you for reaching out. Unfortunately, loading tilesets from files is not currently supported on Linux (Or Mac), but it does work on Windows, despite the answer in the Unreal Engine support forum that you posted.

We would like to implement a fix for this limitation on our own eventually. Keep an eye on this issue, as future updates will be added there. I’ll also make sure documentation is updated to reflect that this feature currently only works on Windows.