Jump to content

Qt application GUID collision


photo

Recommended Posts

Hi, we have been developing an application in SDK 2.7.1 with Qt integration and recently we needed to change our working directory to *project_folder*/bin/. We assemebled our project by making an .ung file for each data/ subfolder (same as is done with core.ung), but in log file we found that engine detects a GUID collision with all materials and properties (except base ones).

The problem is that custom materials/shaders which are overriden from engine .ung files, stop working (we guess override is not working due to GUID collision). We have managed to reproduce the issue in Qml sample (with material_ball and ground_grid materials).

We hope you can give us some feedback of how can we solve this problem.

Regards, Javier

 

 

Qml.7z

Link to comment

Hi Javier,

If I understand you correctly you need to move all the contents from <Project>/data to <Project>/bin directory (including built-in core.ung editor2.ung and so on)? Plus additionally you want to pack all the content to ung archives? How the final project structure will look like in this case?

Could you please also show us your final launcher script that you are running and how do you use ung tool (where it's located and which command line arguments were passed to it)?

Thanks!
 

How to submit a good bug report
---
FTP server for test scenes and user uploads:

Link to comment

Hi Silent, sorry for late response.

We need to move all dependencies (.dll files mostly) to bin/ folder while application resources (.ung and others) remain at data/ folder. We also need to launch application from bin/ folder, as working directory. 

In the sample we have attached previously, the Qml sample is started from bin/. That is why some dlls were copied from sdk to bin/ folder (because default launch path was changed and libraries were not found).

Thanks, Javier
 

Edited by javier.serrano
Link to comment

Hi Javier,

I was unable to find any custom materials in the attached project. I've also created a separate QML application (based on 2.7.1 SDK) and there is no guids collisions.

When you moved engine dll and executable you forgot to change the data_path argument in main.qml file (it's relative to the binary location). I've also removed secondary data_path since it's no longer required to load core materials:

UnigineItem {
    args: ["-data_path", "../", "-console_command", "world_load data/qml_world"];
}

Just in case I've also added guids.db file that was created by the filesystem_save_guids console command.

Please, check the attached archive (there is no dlls and binaries, just copy them from your previous app).

qml_2.7.1_moved_folders.zip

How to submit a good bug report
---
FTP server for test scenes and user uploads:

Link to comment
×
×
  • Create New...