What version to choose?

You may be confused which version of Ogre to pick. We have several branches concurrently in active development, although our future is towards 2.1. The information below will help you to find the correct version for your needs:



Why choose it?


  • You need many objects (order of 10 000) per frame.
  • You want the huge performance boost in the above usecase. Your main target is Windows and/or Linux for now.

  • You like bleeding edge.

  • You don’t need the 1st and 3rd party plugins/components that haven’t been ported yet (like CEGUI, ParticleUniverse, Terrain Component, Volume Component, etc). Check the 2.0+ Forum as some of these plugins e.g. ParticleUniverse have been ported by community members.

  • You don’t care about Android support (or anything older than the iPhone 5S) for now and can wait for it.

For more details about the 2.1 state and frequently asked questions, see the Ogre 2.1 FAQ article.


  • You are porting from 1.x to 2.1. Porting first to 2.0 as an intermediary / incremental step has proven to be a successful process. Ogre 2.0 completely rewrote the Compositor System, made slight changes in how SceneNodes, Lights and Cameras worked (i.e. Nodes no longer must have unique names, Lights must be attached to a node). While Ogre 2.1 added the Hlms (High-level material system) system which heavily changed materials, added Items (which replace v1::Entity for faster performance). Porting first from 1.x to Ogre 2.0 gives a chance to test your system against a part of these changes to get them working correctly and give you more confidence later when porting from 2.0 to 2.1 and test for the remaining differences.

This version is not actively maintained and generally has fallen behind 1.10 and 2.1. For details see here.


  • You are already used to Ogre or have a long-standing existing code base.

  • You only need a moderate about (order of 1000) of objects per frame
  • You need the 1st and 3rd party plugins/components (CEGUI, ParticleUniverse, Terrain, Volume, etc.)

  • You need to support broad hardware including older ones (GeForce 7000 and below, ATI Radeon X1000 series and older, Intel GMA 950 series and older)

  • You target  mobile platforms (Android, iOS, WebGL, Windows Phone 8).

  • You like to learn from Wiki code snippets and a lot of existing resources found online.

Performance / Platforms / Render Systems



Supported OS

Recommended Render System


GPU bound

Windows, Linux, iOS, macOS / OSX

D3D11 or GL3+, Metal on iOS, Metal on macOS, GL3+ on macOS/OSX for old cards (see compatibility mode notes)


GPU bound

High API overhead

Windows, Linux, OS X, iOS, Android, Windows Phone

D3D9 on Windows, OpenGL on *nix, GLES 2 on Mobile


CPU bound

Windows, Linux, OS X, iOS, Android, Windows Phone, HTML5 (Emscripten)

D3D9 on Windows, GL3+ on *nix, GLES 2 on Mobile and HTML5

Material System / Instancing / Documentation / Threading







Physically Based Shading via user-friendly system HLMS (part of Ogre core)


Integrated (no need for Boost). For background resource loading, needs Boost/POCO/TBB/C++11.


Hand-written shaders, RTSS (Real-Time Shading System), Fixed Function Pipeline

Manual, via InstanceManager

For background resource loading, needs Boost/POCO/TBB.


Physically Based Shading (via HLMS Ogre component), Hand-written shaders, RTSS, Fixed Function Pipeline

Manual, via InstanceManager or InstanceGeometry (deprecated)

For background resource loading, needs Boost/POCO/TBB/C++11.