HARFANG® 3D v1.1.0


Windows 64-bit

Python 3.2 and newer wheelDownload
Lua 5.3 extensionDownload
FBX Converter (Autodesk FBX SDK)Download
C++ SDK (C++11)Download

Windows 32-bit

Python 3.2 and newer wheelDownload
Lua 5.3 extensionDownload
FBX Converter (Autodesk FBX SDK)Download
C++ SDK (C++11)Download

Ubuntu 14.04 LTS

Python 3.2 and newer wheelDownload
Lua 5.3 extensionDownload
FBX Converter (Autodesk FBX SDK)Download
C++ SDK (C++11)Download


Release Notes

API Changes

  • FpsController: User is now responsible for not calling the Update() method when ImGuiWantCaptureMouse or ImGuiWantCaptureKeyboard returns true.
  • Engine: Change GetWindowDrawList() to ImGuiGetWindowDrawList().
  • Engine: Various API changes to stay in sync with the ImGui API itself.

New features

  • Engine: New animation system built on the reflection layer. Any reflected property with a supported type can be animated.
  • Engine: Support for HDR float pictures.
  • Platform: Add ShowCursor/HideCursor window system functions.
  • Platform: Provide access to all keyboard keys in the input system.
  • FBX converter: Add a flag to detect and rename different materials with the same name.
  • FBX converter: Convert animation takes, currently baking transform at each frame.
  • FBX converter: Disable a node if its “show” FBX flag is false.


  • Plus: Add Line2D binding.
  • Engine: Bind the ImGui low-level draw API.
  • Engine: BinaryData and Picture can now expose their internal memory buffer to enable interoperability with Pynum for example.
  • Engine: Lua VM can now dofile and require from the Harfang file system and its mount point.
  • Engine: Bind access to the Geometry and Material objects.
  • Engine: Detect cyclic instantiation in Instance components.
  • Engine: New ImGuiAddFont function to add fonts to the ImGui global atlas.
  • Platform: Video modes can now be listed with support for multiple monitors, frequency and orientation.
  • Platform: NewWindow() can now create a fullscreen window.
  • FBX converter: Add an option to export scene animations to their own files.
  • OpenVR: Support for the tracker devices.
  • Various documentation improvements.

Bug fixes

  • Plus: Properly restore render matrices around a Flip() call.
  • Plus: Fix CreatePlane() creating wrong UV coordinates with subdivisions > 1.
  • Plus: Fix GetScreenWidth() and GetScreenHeight() not returning the current window size when using multiple output window.
  • EglRenderer: Fix a bug when a texture is used with different sampler states by the same shader.
  • EglRenderer: Fix motion blur post process not being applied to some parts of the screen.
  • EglRenderer: Fix the sharpen post process.
  • EglRenderer: Add support for floating point render buffers.
  • WebM: Fix a memory leak in DecodeFrame().
  • Engine: Instance component now properly returns Ready when disabled.
  • Engine: Prohibit the use of GetEnv() on LogicScript not running on the master VM.
  • Engine: Fix calling NavigationSystem::SetDebugVisuals() from script has no effect.
  • Engine: Exclude animation takes from an instantiated scene when saving the host scene.
  • Engine: Prevent crashing when performing an out of bound access on a node list as returned by Scene.GetNodes().
  • Engine: Fix ExtractAudioData skipping very short Vorbis stream content.
  • Platform: Fix issues with the input system reporting incorrect keydown events when Harfang window focus is lost.
  • Platform: Fix device search for device name with multiple dots.
  • Platform: Do not poll input devices if no Harfang window has focus.
  • Platform: Display modes are now cleanup up of redundant entries.
  • Platform: Fix the Zip file driver Dir method.
  • Platform: Fix GetWindowPos() on X11.


  • Engine: Update ImGui to 1.65.
  • Engine: Log a warning message if the rendering thread is not able to keep up processing with the main program thread.