Securing Urho3D's future

Lasse worked on Urho for ten years. It’s a lot of time and effort.
I think that everybody needs rest.

If passion is gone, just leave and let others to continue the work. And come back if get passion back.
There is nothing good in passion becoming obesssion (or hatred).


I’m not really using urho, but i plan to use it in the near future (the c# version)

But i like what you listed here, i also think AngelScript is useless, nobody is willing to learn a niche language just to avoid writting C++, Godot for example made the choice to use C# (with lot other languages to come) and it gave them lot of echo

But i also believe splitting force (and community) is the worst that can happen

Breaking backward compatibility is sometimes needed if it improve the project for the future

To be fair, Godot’s C# support was funded by Microsoft. And “nobody” is such a strong word, especially coming from a programmer :open_mouth:

But we live in a world where students are taught to prefer C#. It’s only a matter of time before the species is assimilated.

1 Like

I really enjoy the current development of Urho. I find it to run at a pace that I can follow. Too many projects these days derail from their main objective. Trying to integrate as many things as they can. Hoping to satisfy everyone. And I would hate to see Urho follow the same path. We already have plenty of those.

They try to integrate as many eye-candy features as they can. Yeah, Vulkan baby, DX12 FTW! (just spouting whatever comes to mind here) If your game really needs some of those features. Perhaps you’ve chosen the wrong one. Or you should make your own. That’s like going to a car manufacturer and asking him to put wings on it because YOU need to fly with it.

Sure, each developer has their needs and most of the time they’re not the same as everyone else’s. And I’m pretty sure I can point some things in Urho that were added just to be there. Not that anyone is actually using them. You really need to find the right balance of what’s to be included.

As for monetary backing. Sure, nothing wrong with it. But I wouldn’t be surprised to see it getting in the way. For some reason, the people surrounding Urho’s development, don’t strike me as that kind of people. They just enjoy it. And there’s nothing wrong with it.

If a project is really appreciated by someone, then it can’t really die. Someone is bound to fork it and continue the work from there. Isn’t that one of the benefits of open source?

1 Like

I doubt it, they received donation from xamarin (miguel) way after the C# project started

And it is not just about C#, they support lot more languages ( they put C# in the front because they knew it’d create lot of buzz)

They have good PR skills, and that’s where urho3d can improve imo

And and let’s be honest C#/Java/Lua/Python/JS tooling are far more superior than AngelScript or any other niche language

One of the reason unity abandonned UnityScript, people just didn’t care about it + add lot of burden for the maintenance

1 Like

You are probably aware that MS owns xamarin and did in fact sanction a $24,000 donation to support it. From the horse’s mouth: Godot Engine - Introducing C# in Godot
Maybe we’re just arguing semantics.

That’s quite a strong opinion. I’ll concede that people do like the comforts of familiarity, and niche languages tend to break that. But (to me) AS is just C++ on easy mode for rapid prototyping. Didn’t feel like an obscure niche language when I picked it up. Wouldn’t mind seeing the PR rules 'laxed a bit though…


From the game developer point of view i don’t think so.If you want to use Unity and C# i’m cool with that.But if you’re a c++ programmer and work in a small team (perhaps alone like i do) AngelScript is a dream come true.
baiscally it’s a script version of c++ so you dont waste time to learn another language and follow tutorials and you can focus on the game and content.Semantilcally they’re so similar that after 1 day of practicing you’re ready to write absolutely complex scripts.I chose Urho3d because :

  1. It’s written in c++
  2. Scripting doesn’t force you to learn a new language
  3. It has a clean and well designed interface.

As i see there are people in this forum who intentionally want to turn Urho into a “better” Unity.If that’s the case then count me out.


As i see there are people in this forum who intentionally want to turn Urho into a “better” Unity.If that’s the case then count me out.

Who talked about unity ? Urho and Unity are two completely different engines

You guys sounds like you have a problem with C#, which is understandable but it is not my point anyway

What i meant is focus on what works now and improve what needs to be improved, AS is just a burden for maintenance, and having to expose API for scripting for each contribution is even more of a burden

Project should be split in multiple parts: Core, Scipting API, what ever language implementation, a bit like how Godot manages it


In fact, Unity engine’s architecture is the best, it exports well documented APIs to all script languages, and you can write add-ons with many languages, such as C, C++, etc.

The only shortcoming is that it does not let you write codes with C++, which may cause performance dropping.

Though C++ is my favorite language, I’d like to see Urho engine automatically exports its APIs to all script languages.

The success of Unity has told us one important fact: Users like script languages.

This is all good stuff IMHO.

Urho is already quite usable as a general C++ engine, but keep adding small, useful features, depreciate any bloat, and resist the temptation to go too wide and its future should be safe

1 Like

Everything is so reasonably stable and feature complete (to at least some baseline) that I don’t see fragmentation or death coming anytime soon.

There’s also still enough low hanging fruit for current and future contributors to latch onto to get a reign on things. Audio is as bare-bones as it gets; batching, instancing, and material constants need some serious love to fix the unreasonable draw-calls for trivial material tweaks (see PBR demo for an example of it run wild). Plenty of things.

Nevermind that documentation always needs love, especially as the usage context continues to expand (ie. “turn off reuse shadowmaps for mobile AR/VR”).

Worst case, it’s not that bad if the final fate is “awesome set of reasonable base code”.


3 posts were split to a new topic: Build support for Android and WebAssembly

IMO Urho’s main weaknesses are lack of more advanced graphics and audio features.

I think joining forces with other open source projects (if they’re high quality enough) like bgfx is a good move, since it “de-duplicates” work in the open source space.

Also I gave Godot a try (3D only).
While Godot is more popular and got nice features Urho doesn’t, it got some critical fundamental bugs:

These alone rule it out for me, and considering Godot is flooded with issues on GitHub (+3,200) it could take a long time before they’re fixed.

There are still good lessons to learn from Godot.

  • They focus a lot on optimizing development speed, which makes working and experimenting in its editor a bliss.
  • Creating new projects is as easy as clicking a button.
  • It seems (didn’t give it a try) it’s capable of exporting to any platform from the platform you develop on.
  • nice “prefab” system in which you can save nodes, and add them as references instead of copies to your scene, so when you edit the original node file anything that uses a reference to it automatically updates.

Godot’s interface is good. Very good. And yes, the export process is a breeze.
It’s still not mature as a 3d engine. It has born as a mobile oriented, 2d engine, and then evoluted into 3d. They started creating a 3d version, then remade into a new version recently, and then this one:

they’re changing it all over again.
For instance it has no deferred rendering. It’s all forward pass. Don’t know how much it bears, anyway…
Anyway they’re running quickly, so they’ll be on a good 3d roadshow, say, in a couple of year…

Curious what’s on your wish-list there.

What I find missing the most is global illumination and less expensive shadows (could be part of GI).
Other than that having common effects like SSAO included with Urho would be nice.

Also there are open source libraries for better audio, that include effects like Doppler and reverb.

1 Like

I spent 4 years trying to build a basic game engine on top of OpenGL and some other libs, and was working on a game and an editor for it in Qt. I couldn’t get anyone else interested in helping out on the project - and quickly found that, even though I knew the inner workings of everything in my “engine”, it was hard to stop adding features to the wish list. I sort of fell in to the “create a game not a game engine” trap.

I abandoned my project. Why? Everything I was trying to do was already done here. One day I was working on UI anchoring or something like that, and I googled lightweight 3d game engines. I found Urho3D and it took me like a week to get my game (Build and Battle) and my Qt based editor (BBToolkit) switched over to Urho3D.

So really this is the thing that is great about Urho3D currently. It just has a lot of code already written to do a lot of things - and the code is not very intrusive so you can use it or not use it. Also, it’s pretty easy to follow the source code to figure out what is going on.

I think of Urho3D more as a library than an engine. Because of this, IMO the future of Urho3D is really as others have mentioned, to be forked and used as a base building block for other projects.


Wow. have taken this all in. I have a bachelor degree (bachelor of games and virtual worlds) as a programmer, and would gladly step up, if I thought I was well received and backed up by my peers.
I have a lot to learn, but it’s all exactly what I would do, from what I have seen.


In that case I’d say familiarize yourself with the codebase, try tackling some issues, then reviewing some pull requests… and if you still seem as sensible and motivated after that you could mean a lot to this project and all that benefit from it under whatever consented title. :wink:

I think its best to see the project as quite a dynamic/organic whole where people grow into roles rather then having them assigned. Your contributions define your role rather than the other way around.

New breed gathers
Soon it will be
Like in the days before