Packaging Application for Windows with all saved locally 3D Tiles data included (UE 5.3)

Hello,

I have created a 3D city model application with Cesium for Unreal. As Cesium 3D Tiles I used local file paths with file:///Data/… as data. Are relative paths possible? Now I have packed an .exe file for Windows in Unreal, which works on my PC.

However, I would also like to distribute this application to other people so that they can also use my application on other computers. Of course, starting the application also works on other Windows computers and the game character is loaded. However, the Cesium data is not contained in the Windows application, which is why buildings, terrain,… are not visible.

So how can I create a Windows .exe file with Unreal that also contains all the Cesium layers (3D tiles) that were previously saved on my own PC?

Thanks :slight_smile:

I don’t think a file:/// URL can be a relative path. You’ll probably need to resolve the relative path to an absolute one at runtime, and then turn it into a file URL and set it on the Cesium3DTileset instance.

As for how to embed 3D Tiles content in an Unreal Engine application? I don’t know how to do it offhand. We generally don’t recommend people embed 3D Tiles in their application like this, because it sort of defeats the purpose of using 3D Tiles in the first place. But I suspect the answer is no different from embedding any other arbitrary files in your application’s package.

Thank you for the answer. @Kevin_Ring

In an offline system, I unfortunately have no other option than to access the data via file:///. Tiles available online are blocked by the company’s own firewall. To update the data, I also only have to update the data structure without having to change the file names in Unreal. What advantages of 3D tiles are lost in this way?

So there is no other option than to send the application and the entire data folder to other people. Whereby they then have to create the same folder structure on their PC, because of the absolute paths in order to be able to use the application?

What advantages of 3D tiles are lost in this way?

3D Tiles is most useful when the tileset is very large and inconvenient to distribute to each system. It’s fundamentally a streaming format. Of course, you can use it with smaller tilesets, but in that scenario I would wonder why you don’t just import the full-resolution model into Unreal and let Nanite sort it out.

Whereby they then have to create the same folder structure on their PC, because of the absolute paths in order to be able to use the application?

Either that, or build the tileset URL in Blueprints/C++ and set it at runtime.