Porting projects from Unity to Urho


I’ve put together a crappy but working unity script as a proof of concept: https://gist.github.com/gleblebedev/1a6dfd9ce58ad8e1b417abbd23f65ecf

I didn’t know that similar thing exits for atomic engine but I was fun to make it anyway. No regrets :slight_smile:

Here is how result looks like at the moment:

Updated version:


Interesting. Can I ask you why are you changing for Urho from Unity? Urho is lightweight in respect to Unity, and no plugins…


I don’t like Unity. Every time I’ve joined a Unity-centric team on a game jam it ended up being a disaster.

On other hand I love UrhoSharp - this is exactly what I need in my pet projects. Urho seems to be a small and efficient, not bloated with unnecessary features and very extendable.

So I would say it’s a personal preference.


Think the same, some tools are unnecessary heavy…


thanks for this usefull script…


Transparency fixed + technique selection improved:


Now with heightmaps for terrain



Can you post the originals for comparison? Lighting sucks in Urho. :frowning:


Also, what’s with the artifacts?


I think these artifacts appear due to dynamic lighting. Unity use lightmaps and I don’t know yet how to export them correctly. Vanila Urho doesn’t support lightmaps as they should be shared among multiple meshes.

Original assets utilize PBR rendering. I failed to extract cubemaps - Unity doesn’t allow to read them in editor :frowning:

The latest source is available by the original link. You can try it on any other unity asset you have and report any issues you found.

The same asset in Unity and Unreal:


I’m looking for someone who would help me to make the best Urho can deliver from the assets. The very first question people ask me about Urho3D - what level of graphics it could deliver. I believe that with right assets and shaders it could be quite good.


It does, but diffuse only and with alpha.



I mean: It does but not in a practical way. I can’t create a unique material for each mesh in the scene. I should be able to keep original material + pass a second stream of UVs and lightmap texture for each static model.

The easiest way from my perspective at the moment - to merge all static geometry during the export and then put it in the scene as a single static model with generated materials based on original + lightmap. It’s 100% doable… But I just don’t have much time to do it. I want to make a small game first and as a result I’m updating the export script only when I need to add something that my game needs.


You can use different materials and share one lightmap texture on 2nd UV. Merging objects or a single mesh is of course great for mobiles or optimization.


Yeah, it definitely doesn’t look as good as it could be. But it’s not just the lightmap, IMO. The materials all look like plastic. Are they using the same specular configuration? Or do they have specular maps? Is Urho configured to read the speculars?

As for artifacts, they shouldn’t happen. Unity also has dynamic lighting and that does not occur. Same for other engines, like Ogre. Maybe it’s the shadowmapping configuration needing some tweaks?


I gave this a try with the Unity viking demo scene but my results weren’t so successful :frowning:


And a year later I’ve made some improvements to the script:

I’ll publish the fixed version later


Updated version:
Download Link

To download press the button:


Source code and unity asset are now available on github: