Armory 0.5

New builds are up and can be downloaded at:

itch.io Armory3D by armory 3D Game Engine for Blender

Support Armory development:

https://armory3d.org/fund

Get started:

http://armory3d.org/manual/#/getting_started/setup

Note: Using the built-in updater will not pull in all updates, please get the full package manually from itch.io or clone the sdk if you are migrating from 0.4.

Release notes:

Check out full commit logs:

Updates:

0.5b builds are now up, including lot of fixes from the 0.5 testing period.

Both Blender 2.79 and (updated) Blender 2.8 versions are available. Use 2.79 by default, 2.8 is experimental only. 2.8 contains the viewport player.

We are now running on Haxe 4 ! Check out the Haxe release notes at:

https://haxe.org/download/list/

Kode Studio has been updated! Runs on the latest VS Code. Krom now launches directly from Kode Studio.

Experimental - Kode Studio now supports Krom debugging!

Krom binary is now 2.8x smaller, single executable with no external dlls / libs. It is using the Chakra engine by default. V8 builds are available on GitHub.

Kha / Kore has a new windowing system under the hood. Managing multiple windows per application is easier.

Krom window on macOS correctly pops up to the foreground now (thanks poke1024!)

Character skinning CPU performance has been improved and consumes less memory now.

First work on the raytracing API for Kha is now merged. Runs on Direct3D12, Vulkan support will be added. Hybrid raytracing render-path is in the works for Armory.

Related GDC presentation:

Tons of improvements pushed to our Direct3D12 / Vulkan / Metal backends. Shader compilation is now more robust.

More progress on the Graphics5 API in Kha. This API is designed to take the full advantage of Vulkan / Direct3D12 / Metal APIs.

Small Kha examples on the Graphics5 API and raytracing now available:

https://github.com/luboslenco/RayTraceG5

https://github.com/luboslenco/ShaderG5

https://github.com/luboslenco/RayTraceG5-Kore

Kore, the low-level library powering Armory is moving to C.

Idle CPU usage has been minimized on Windows.

More gamepad fixes, fixed macOS support.

Fixed mouse lock and mouse hide on Linux.

Krom will now exit gracefully on Linux.

Updated HashLink support, now with Android support.

trace() function has been improved. Also prints to the console on Windows now!

Armory has been optimized to output smaller builds again. Dead-code-elimination is now more effective. Minimal HTML5 project should now fit into 290KB. See doc.

Build system has been improved, now with multi-threaded shader and asset compilation. Depending on the number of processor cores, build times should be significantly faster. Use Armory add-on preferences - Khamake Threads to configure number of threads.

Drawing order can be now set in the Armory Render Path panel using the Draw Order property.

Blending modes can be manually set for the material now.

Armory SDK size has been further reduced . Windows .zip archive went from 272MB to 232MB. 7z archive is now at 144mb.

More bone-child fixes have been pushed, bonechild example has been restored:

https://github.com/armory3d/armory_examples/tree/master/animation_bonechild

Basic top down template has been added:

https://github.com/armory3d/armory_templates/tree/master/top_down

New twin stick shooter template has been added:

https://github.com/armory3d/armory_templates/tree/master/twin_stick

Armory has a new web page (thanks Rovacado!)

https://armory3d.org/

Video tutorials page has been added:

https://armory3d.org/manual/#/getting_started/video_tutorials

New Armory Discord server has been opened. Now linked on the community page:

https://armory3d.org/community

Roadmap page has been created. It is now possible to up-vote feature requests on GitHub.

https://github.com/armory3d/armory/projects

See the most up-voted feature requests - currently Light Probe Support and Entity Component System!

Download page now has more demos available - stand-alone twin-stick shooter (powered by Krom), baked lighting and skinning demos.

https://armory3d.org/download

New ArmorPaint has been released!

ArmorPaint 0.4 is out!

Material nodes can now be controlled with logic nodes or scripting. Added a new example.

https://github.com/armory3d/armory_examples/tree/master/material_params

Logic nodes can now be linked be sharing the same ID. Added a new example:

https://github.com/armory3d/armory_examples/blob/master/logic_basics/linked_variable.blend

Added a new split screen example:

https://github.com/armory3d/armory_examples/tree/master/split_screen

Logic node variables can now be monitored in debug console. Added a new example:

https://github.com/armory3d/armory_examples/blob/master/logic_basics/watch_variable.blend

Added Bone FK and Bone IK logic nodes to perfom forward/inverse kinematics. Updated example at:

https://github.com/armory3d/armory_examples/tree/master/animation_movebone

Added Pause Trait and Resume Trait logic nodes. New example at:

https://github.com/armory3d/armory_examples/blob/master/logic_basics/pause_trait.blend

Animation blending can be manually controlled now. Added a new Blend Action node. New example at:

https://github.com/armory3d/armory_examples/tree/master/animation_blend

Added a new example showing how to match sun direction with hosek wilkie sky:

https://github.com/armory3d/armory_examples/tree/master/world_sun_direction

Logic nodes can now control custom shaders. Updated example at:

https://github.com/armory3d/armory_examples/tree/master/material_shaders

More progress on configuring graphics settings at runtime! New example at:

https://github.com/armory3d/armory_examples/tree/master/game_settings

Instanced children feature now support rotation and scale. Updated example at:

https://github.com/armory3d/armory_examples/tree/master/instancing

Added a new example - using rigid body collision groups:

https://github.com/armory3d/armory_examples/tree/master/physics_collision_groups

UI editor has been updated with support for more elements.

Updated UI canvas example with new elements:

https://github.com/armory3d/armory_examples/tree/master/ui_canvas

Updated HaxeUI example:

https://github.com/armory3d/haxeui_example

Setup guide has been updated, has a troubleshooting section now:

https://armory3d.org/manual/#/getting_started/setup

Added a resource page - integrating Armory into JavaScript environment:

https://armory3d.org/manual/#/code/js

Added a resource page - integrating Armory into C/C++ environment:

https://armory3d.org/manual/#/code/cpp

Materials doc page has been updated with blending and material params:

https://armory3d.org/manual/#/graphics/materials

Particle setup is simplified, there is no longer need to set material flag.

Added a new doc on working with transform:

https://armory3d.org/manual/#/code/transform

Added a new doc page with optimizing tips:

https://armory3d.org/manual/#/essentials/optimize

Added a new doc page describing Krom features:

https://armory3d.org/manual/#/essentials/krom

Added a new doc page with contribution guides:

https://armory3d.org/manual/#/dev/contribute

More updates to the manual:

https://armory3d.org/manual/#/essentials/physics

https://armory3d.org/manual/#/essentials/navmesh

https://armory3d.org/manual/#/essentials/debug

https://armory3d.org/manual/#/essentials/ui_editor

https://armory3d.org/manual/#/graphics/instancing

Curious about the Armory project development history? There is a brief outline now:

https://armory3d.org/manual/#/remarks/history

Updated HTML5 doc with embedding guide:

https://armory3d.org/manual/#/platforms/html5

Updated Armory API docs:

https://armory3d.org/manual/api/

Added a new Krom export video:

https://armory3d.org/manual/#/platforms/windows

https://www.youtube.com/watch?v=GVw3B5e4Rjs

Memory leaks in Bullet physics integration have been fixed .

Mesh collision shape is now supported.

Updated Oimo physics engine integration. Oimo is a lightweight engine, written in Haxe, now with convex hull support:

https://github.com/armory3d/oimo_module

logic_pack has been refactored and has a proper code structure now (thanks zaethan!):

https://github.com/armory3d/logic_pack

App template project has been updated, a simple starting point for building apps:

https://github.com/armory3d/app_template

Started a simple project which aims to document Armory integration into your own / existing software. Work in progress at:

https://github.com/armory3d/armory_houdini

Self-contained Armory mesh exporter has been updated, useful when using Iron library:

https://github.com/armory3d/iron/tree/master/tools

Particle Systems are now properly cleaned up on removal.

Improved folder structure for published games, all data is now placed in a single folder.



More fixes to mesh batching and level-of-detail features.

Initial support for handling big world coordinates , currently behind the arm_centerworld flag. Will be enabled by default in the future.

Bezier interpolation for object actions has been implemented.

Iron has more code docs now (thanks kenthinson!)

https://github.com/armory3d/iron/pull/45

Math module has been reworked for more performance.

Improved CPU performance when performing draw dispatch in the render path.

When switching scenes, voxel volume is now properly updated (voxelao/gi).

Improved performance for C/C++ targets , Armory asset parser will load data into classes through @:structInit.

Unwrap type can now be set in the Armory Bake tools.

Warning will be shown on wrong logic node connection.

Warning will be shown on missing UV coords / vertex colors.

Warning will be shown when trait script file is not found.

Save on Build option is off by default now.

Bundle and Icon can now be specified in Armory Exporter .

Logic nodes will no longer throw exception when receiving null input.

Look At logic node has been added.

Deg to Rad and Rad to Deg logic nodes has been added.

New Debug Console - contains log viewer, scripting, render-path inspector, profiler and resource watcher.

Added a new Array Slice and Array Splice nodes.

Added a new Contains String node.

Get Child node allows to specify object name search type.

Pausing / resetting physics world is fixed.

More fixes on the mobile browser compatibility.

Removing item in the Armory Lod panel also removes the generated lod mesh now.

Fixes to the Mapping , Hue/Saturation , UV Map material nodes.

More vertex displacement fixes (displacement can by driven by vertex color now).

Reduced shadow artifacts when using tessellation.

Updated exporter with preparations for shape keys support.

Added support for Tangent material node.

Color Ramp material node now works properly , handles multiple color stops and interpolation modes.

Armory Updater will now properly print a message once the update is completed.

Armory Updater now also handles updating Krom binaries .

Blending has been fixed for the forward render path.

Fixed TAA artifacts when coupled with displacement.

Added a new Switch logic node (thanks devination!)

Initial support for Vector Curves and RGB Curves material nodes

Math logic node has been updated with newly added functions.

Added a new Set Particle Speed logic node.

UI Scale property set in Armory add-on preferences will now also affect Debug Console.

Fixed soft-body physics compilation for C++ targets.

Improved handling of linked materials .

Added new Set Light Color and Set Light Strength logic nodes.

Local Armory SDK setup is now possible. Build system can generate relative paths. This lets you have a fully self-contained and portable project setup:

https://armory3d.org/manual/#/dev/contribute?id=full-sdk

Added support for Backfacing socket in the Geometry material node.

Armory now takes Properties - Scene - Rigid Body World - Solver Iterations into account.

Check out the new logic node tutorials by Armory, Blender, Game!

https://www.youtube.com/watch?v=KlEWfpCpFXw&list=PLCRDzlGnyXOOCrpCXlkezMTj9GTa7B0zu

Explore repositories on GitHub:

Hunt all the bugs, help Armory reach 1.0:

Next up:

Armory 0.5 marks a gigantic step for the engine with tons of challenges resolved and continued performance upgrades. The focus of 0.6 will be fixing graphics features, adding new ones like the Light Probe support and improving graphics performance.

We are also close to run Krom on Android, which will let us run Armory projects on Android straight from Blender in matter of seconds.

And of course the continued bug fixing - the road to 0.6 begins!