ExBemined Posted April 9, 2021 Share Posted April 9, 2021 I'm doing some investigation to reduce (and eventually get rid of) our dependencies on UnigineScript for our old legacy code. I noticed that world scripts have been made optional these days, but it seems system scripts are still required? I see things like AppWall and the Unigine menu (when you press escape) are still there. Are there any plans to move this functionality to C++? For security reasons we prefer not to distribute script in source form (including packed in a .ung, that after does not protect it from people who have a Unigine license themselves), but distributing script in cache form is becoming more and more difficult since each combination of plugins requires a different cache (AppWall requires different system cache than AppOculus for example). This does not only require custom build steps but also extra startup arguments to pass the correct system_cache parameter or Unigine will refuse to start. If changing app plugin would not require script cache to be regenerated it would make our life easier. Link to comment
silent Posted April 9, 2021 Share Posted April 9, 2021 System script logic is optional, but we are not touching it since it just works. You can simply implement your main menu logic in your custom C++ System Logic (since basically it's the same things) and do not load any old system scripts. It was an example how you can create your own menus, handle mouse and so on. We don't want to reimplement it and hard code some default main menus, default AppWall / Stereo modes parameters since it's very hard to maintain and keep in a good shape. Maybe some AppWall / Stereo logic will be moved inside the engine (where it should be) and you will get API control on it eventually. Main menu should be also removed completely (at least in a newly created project) since it's highly confusing to a new users. How to submit a good bug report --- FTP server for test scenes and user uploads: ftp://files.unigine.com user: upload password: 6xYkd6vLYWjpW6SN Link to comment
ExBemined Posted April 9, 2021 Author Share Posted April 9, 2021 Yeah, main menu is something we don't want our end-user to mess with as well, since our setups are to be configured very precisely we don't want a user to simply hit escape and mess up some settings. For this reason we changed the hotkey to be a more difficult key combination so users are less likely to accidentally stumble upon this menu. But when you say system script is optional, do you mean we can fully disable it? Or just that we can replace it with an empty dummy script that does nothing? Because when I tried to remove it all I got was a fatal error "Engine::system_init(): can't load "unigine.usc" system script" when starting the engine. Link to comment
rohit.gonsalves Posted April 9, 2021 Share Posted April 9, 2021 System script is important till the tracker comes out in C++ API. Rohit Link to comment
silent Posted April 9, 2021 Share Posted April 9, 2021 Bemined By optional I mean empty, sorry :) The physical file with some code is still required on engine start-up. rohit.gonsalves And C# as well :) How to submit a good bug report --- FTP server for test scenes and user uploads: ftp://files.unigine.com user: upload password: 6xYkd6vLYWjpW6SN Link to comment
Recommended Posts