Perhaps this is a silly question. But I'm wondering is there anyone out there who uses Godot for more general purpose app creation aside from games? And if so are there any sub-communities for this purpose, or notable examples of projects? I'm talking about using Godot for things like art installations, audio/video tools, kiosks, custom presentations, edutainment, productivity apps. Anything where the speed and audio-visual capabilities of a game engine plus wide deployment platform support, engine extensibility, high level but powerful scripting language, and flexibility of 2d + 3d are of great use.

Some background: I have never created a project with Godot but have been watching its development for several years now and it is impressive. Especially with 3.0 it is looking even more like it could be a solid FOSS alternative to things like Processing, AIR, Director, Xojo, LiveCode/Runtime Revolution, Xamarin. Would it be reinventing the wheel to try to use Godot as a non-game app engine?

I've seen a lot of frameworks referred to as multimedia libraries, which hides the fact that they can be used to create games; other make it more obvious that they're intended for games but you would still be able to create interactive software with them. I don't think Godot is any different; I've seen people use Unity for interactive content before. While Godot is geared towards game development it seems to have everything you'd need to create all manner of interactive content.

With that said I think the Godot community is still very small relative to other engines so I'm not sure how much luck you'll have finding people like this. Once Godot 3 is released I predict the community will get much bigger.

Thanks. I do think 3.0 is looking like a great leap forward which is already raising Godot's profile. I was thinking of using Godot for a sound art project I had in mind, as a little test project to get to know the engine better for my mostly non-game/general multimedia app engine needs. With the audio enhancements in 3.0 I think I will wait until that version reaches maturity/official release.

I am going to leave this post unanswered for now to see if anyone else wants to chime in.

Yes, and rather than re-inventing the wheel, you could save yourself some time over other platforms.

I am considering using Godot for robot simulation. We have developed two games (Xemo, QBotik) for educational use of simulating walking robots and robot arms using Unity. I've also worked with Unreal. The attractive thing for me of using Godot is full source access and a fairly small build size . I a basic application exported to Windows x64 at around 16 MB. For Unreal, it's about 200 MB minimum.

Version 3 of Godot is going to include mono/C# as well as PBR (physics based rendering) and that might make it even more appealing as a general 3D visualization tool. The alternative (FOSS) right now would be something like OpenSceneGraph and Bullet. But OSG really does not have a decent scene editor that is actively developed.

The one possible problem I see is with GUI. Conventional desktop app tookits (WInForms, Qt, GTK++) have very complete UI controls. I've yet to fully explore the GUI in Godot, but even a simple text label requires you to attach a script to set the label text - which I think is overly cumbersome.

@digitorus Hi, you can set the text of a Label by filling the text property in the editor.

@digitorus thanks for the perspective. From what I've seen of Unity it seemed to me like it would be a lot more impractical and overkill to use that for a non-game, especially anything 2d. I see a lot more promise with Godot especially because of the way 2d and 3d are separated, the level of abstraction, and of course because FOSS. I get the feeling Godot can facilitate rapid development better whereas with Unity it's always a slog.

@keymapper I have not played with Godot enough to see how well it works for non-game dev.. But I do see that Godot is adding c# and makes me wonder if they are not converging on a Unity clone. The FOSS aspect is significant, because it could let you strip down the engine include only what you need. We are currently working on a 3D parts editor, and I'll be comparing how well this works in Godot3 vs. Unit 5.x (or now 2017

For your 2D application, I would check and see if drawing tools are available. I found it really difficult in Unity 2D to get simple drawing commands (like drawLine, drawArc, etc). The problem in Unity was that System.Draw was not supported cross-platform. So for drawing things like graphs, charts we had to resort to either the asset store or using Vectrosity.

8 days later

I mean, Godot is not strictly advertised as a general-purpose application development framework, and it will pretty much always look 'out of place' if you try to use it for developing desktop applications (unless you can find a way to hook it up to Qt or GTK+ or something, but that seems rather difficult, and with licensing issues), but there's a lot that makes it quite appealing:

The node-scene hierarchy is really simple to grasp, and there's plenty of nodes useful for GUI dev (everything under the Control umbrella, the networking stuff with HTTPClient/Request...), the engine supports quite a few platforms (the desktop, mobile and the web) and produces relatively small binaries (compared to other engines). Hell, I vaguely recall someone making a DB application with Godot already, so there's that.

But I do see that Godot is adding c# and makes me wonder if they are not converging on a Unity clone.

I see this crop up times and times again. The use of Mono for C# (et al) scripting is going to be the only really major point of similarity between Godot and Unity, and sure, it might attract some Unity devs over to Godot, but the thing is that Godot and Unity are vastly different on an architectural level (Unity is pretty big on the ECS side of things while Godot follows a more standard OOP path).

it will pretty much always look 'out of place' if you try to use it for developing desktop applications (unless you can find a way to hook it up to Qt or GTK+ or something Yeah, the lack of a way to create more OS native gui elements is a hindrance to wider adoption for general purpose app development, but for me personally it's not a deal breaker. I think, especially if you're developing a multi platform app, a good argument can be made for following general good unified design principles over trying to conform your app to have the "look" of each OS it runs on. I personally always prefer an app that has an objectively good UI that looks and runs identically on all targeted platforms - 1 random example that does this well is Spotify. In fact I would argue that the notion of apps needing to have OS native gui controls is outdated and not even really expected by most users any more.

6 days later

@keymapper said: In fact I would argue that the notion of apps needing to have OS native gui controls is outdated and not even really expected by most users any more.

The Linux desktop crowd (as tiny as it might be) would like to have a word with you about that... Ultimately though, it is a small crowd and most people really don't care that much about it anymore, especially nowadays where a lot of apps attempt to have their own 'branded' look (Discord is the one that immediately springs to mind, or Steam, or Spotify like you said).

So while I wouldn't expect the engine to ever switch its focus away from being, well, a game engine, in practice there's nothing stopping you from developing a more mundane application with it (I mean hell, the Godot editor itself is entirely a Godot 'application'), or even taking the engine whole and forking it into a more general-purpose framework, ripping out the more game-y functionality and adding others.

5 days later

Without GDNative Godot only allow you to do certain kinds of aplications. Some functionality can´t be handled without write C++ code and recompiling. GUI is not the problem because Godot have a lot of nodes for that, problem can be more "low level" stuff, i was thinking in do some aplication that need "MIDI" input, but I can´t find the way to handle that with scripting in Godot directly. But with 3.0 and GDNative, state of things change, you can find the needed library and comunicate with that direcly in scripting system. This, theoretically, allow to you to do any kind of app.

Other aproach can be Mono and C#, for now an unexplored path....

13 days later

I came to Godot both for the noob game dev and to check out if I'm able to rewrite a simple photo arranger. I have written this photo arranger twice already, in C and in Python.

So, whoever develops Godot, should think that we just want modern 2D/3D programming environment for old stuff. I really don't want to use as raw programming environment as the plain gcc anymore, ever.

2 years later

If you need the rock-star development team who love what they do. Who always strives to stay up to date with the latest innovations to offer the best technology solutions.

I recommend looking at it.

@StevenHamphrey - Can you elaborate a bit on your experience with developing application/non-game projects? Out of curiosity, what are your thoughts about developing application/non-game projects with Godot? :smile: (Side note: Welcome to the forums)

i am using godot for app creation, compiling and publishing, and i would say, Godot is made for that ! As far as i did digging into it, i was able to re-produce other c++ app with ease ! working on office/media prod applications, i am proud to meet Godot to support my pro work and my hobbies too :)