Switching from Ogre3D to Unreal Engine 4

With the announcement of Epic to offer the Unreal Engine 4 as a subscription service for a very reasonable price, I decided to switch from Ogre3D to Unreal Engine 4. Although I’ve already invested a fair amount of time in setting up the Ogre3D environment and development progress with the Ogre3D engine was ok, the decision was made quite quickly.

This was due to the following reasons:

  • One of the major selling points of Ogre3D for me was the integration of Flash contents. However, the Hikari library I was using was leaking memory heavily so it became unusable. I tried switching to the Akarui library, a similar library based on the NP API, but I didn’t succeed in making it work for my non-managed, c++ Ogre3D build.
  • The Unreal Engine provides a VERY powerful editor that should speed up the game development and content creation process.
  • The quality of the Unreal Engine is top notch.
  • UE4 is a well-rounded package of everything a game needs (graphics, sound, physics, networking etc.) – no need to evaluate a library for every single thing.
  • UE4 has a growing, large and active community.
  • I can live with the 5% royalties.

Being able to incorporate Flash as a UI however is a very important factor for me, so I’m looking to find a way to do this with UE4. There is of course a Scaleform integration available for UE4, but possibly at a quite high price (pricing is done per-project). There’s a Unity3D integration for a more reasonable price, so I’m hoping with UE4 gaining more and more popularity among indie devs, Autodesk may offer something similar for UE4 in the future.

To summarize, it’s a pity that I lost all the time and effort invested in Ogre3D, but I hope the switch was worth it. I could port some of the code to UE4 and the experiences made with Ogre3D are still worth something.

4 thoughts on “Switching from Ogre3D to Unreal Engine 4

  1. Evgeny says:

    Hello.

    I’m actually about to do the same transition, but I cannot wrap my head around it, even the first steps are unclear to me.

    How did you start porting, what should be done or used with Unreal Engine to make it work as a renderer – similar what Ogre provided to us.

    • Philipp says:

      In my case the transition/porting has been pretty radical – I only took some ideas over and I have rewritten most of what was already there. I could only use some parts of my code by copy-pasting and adapting.

      As for UE4 as a render engine: the rendering engine to me seems much more complex when you look at it in the source code and not as understandable as the Ogre engine. But then again, in UE4 I’ve only gotten to work on a pretty high-level part (more like the stuff you’d do in Unity, but in C++) and haven’t dug too deep into the engine.
      But again, there’s no direct path to porting stuff over. Most of it needs to be rewritten or heavily adapted.

  2. James says:

    Good to see. I made the same switch but didn’t invest quite as much time in to OGRE.

    Dump Flash! I spent 4 years of my life part/full time on that platform. Never looked back since the death nail from Steve Jobs :/

    The UMG framework in UE4 is far superior IMO and doesn’t require any expensive (performance and financially) runtimes.

    • Philipp says:

      Thanks for your reply, James. I haven’t used much GUI up until now (development is progressing really slowly), but I will definitely start with UMG before I look into different (and probably more costly and exotic) solutions.

Leave a Reply

Your email address will not be published. Required fields are marked *