One-click deploy feature?

We can see that other engines like JmonkeyEngine, Godot, RenPy have this content to export with a click. What I mean is: having the facility to export to any platform without having to recompile or having to find the binaries for each platform. In these engines we can export with just a window to platforms with their SDK or not (depending on the engine).Urho3D is able to do this? I’m crazy for a complete C ++ engine that I can write the code from scratch (c++ script?) but I don’t see this option here. Can I do this with CMake? If this is possible, could someone please explain to me?

@ Edit: how is to use Urho3D comparing to Unreal Engine 4, cause this engine uses c++, right?

TL;DR: No, it cannot.

Longer answer: 1-click deployment for C++ means that the engine should be able to properly execute build system from within itself.

Therefore, the engine should either contain all necessary SDKs and tools within, or require user to install them. First option is not viable for “all-built-from-source” project like Urho. Second option is… not really helpful. If you have to manually install exact versions of Android SDK, Emscripten SDK and whatever in order to do 1-click deployment, you can as well just make *.bat file that does exact same “1-click deployment”.

This process can be simplified a bit, but at the end of the day it’s won’t be that helpful.

Morever, C++ code cannot be built for iOS unless you run build from MacOS (AFAIK).
I have no idea how 1-click deployment is even supposed to work in this case.

If the engine is distributed in binaries, it doesn’t have this kind of problems at all (e.g. Unity).
If the engine is distributed in source… I have no clue. It either requires user to install 3rdparty SDKs manually or downloads their binaries automatically.

I don’t say it’s impossible to do. I just say that whole Urho infrastructure follow the opposite approach and Editor/BuildSystem rework is required in order to make it happen.

3 Likes

ditto on @Eugene. What you see in other engines is some form of “encapsulating scripting and the export your scripting”, the c++ is prebuilt and is always the same piece.
Urho has encapsulating scripting: many samples but especially the player in AS.
Auto building is not possible afaik. But you could aim for super-simplified build process, like with https://github.com/floooh/fips

Actually there might be some kind of one-click-deployments if you utilize dockerized build system.

2 Likes

I think it may now be possible to build for iOS not on a Mac:
https://docs.godotengine.org/en/stable/development/compiling/cross-compiling_for_ios_on_linux.html

And, while I don’t know whether it’s in violation of the license agreement or not, I’ve read that it’s also possible to run MacOS in a virtual machine.

Doesn’t really feel as easy/reliable way to build stuff. Also, linux only.
VM looks simpler to setup, and this is probably the way to go if one wants to build for iOS.

Both options are not really viable for out-of-the-box cross-compiling on iOS in one click, anyway.

1 Like