Build 11 is out!


New builds are up and can be downloaded at:

(Contains already patched builds with several reported issues fixed.)

Getting started at:

Build 11 is now out - a major step forward for Armory! Reports of you using this project to some degree in your day-to-day work are popping up, which marks a huge milestone for Armory. Tons of common annoyances have been fixed again in a quest for real-world usability. In case of issues, previous Build 10 is still available on itch.


  • All examples have been updated for Build 11, now spotting 49 .blends!

  • New tutorial on logic nodes now up - creating simple tanks game:

  • Web version of tanks game is available at:

  • Updated manual on using git version of Armory:

  • Slight website update in progress:

  • Kha (and thus Armory) now uses WebGL2 by default, with WebGL1 fallback. This means more compatibility for HTML5 projects going forward.

  • Path handling for assets has been improved, no more build errors when using ‘non-standard’ characters.

  • Much faster repeated build times. Depending on hardware speed, simple scenes should now start up in 1 second. If you experience problems with scene not being properly recompiled, you can disable this option in Armory Player - Cache Compiler.

  • Big improvements to the internal scene format used in Armory. Up to 50% smaller exported mesh assets and faster load times. This makes working on scenes with several million triangles much more pleasing.

  • Culling out of sight objects has been improved. Animated meshes are now properly culled.

  • Armory now uses deinterleaved vertex buffers by default. This results in faster start-up times, more efficient depth rendering and level of detail system.

  • Rigid body bounciness is now taken into account. Physics system still needs more calibrating to match Blender behaviour.

  • Grease Pencil functionality has been restored, still limited to HTML5. See example for more details:

  • Integrated viewport player on Windows should now run properly at 60 FPS.

  • Build directory is now unique per blend file. This makes it safe to run several blend files from single directory.

  • When testing HTML5 builds in browser, pressing Build will automatically refresh browser tab. This is useful to prevent opening new tabs.

  • Super Sampling option is fixed and image is now properly resolved to prevent jagged edges on down sampling.

  • Debug console has been slightly improved.

  • Added Two-Sided Area Lamps option in Properties - Camera - Armory Render Props.

  • Added VSync option in Properties - Render - Armory Project.

  • Fixed issues with multi-material meshes - this gets rid of manually separating meshes by material.

  • Render path presents are slightly reworked.

  • New Materials option added to render path. Restricted materials are aimed for constrained targets like mobile or VR. Using this option, generated shaders are as lightweight as possible, at a cost of reduced visual quality.

  • New Lighting option added to render path. Select Cycles for light matching Cycles, PBR if you prefer using Armory PBR node only and want to keep maximum compatibility with other game engines.

  • Texture filtering option is exposed. Select Manual to honor values specified on Image nodes in material node trees.

  • More Voxel GI improvements - basic settings are exposed. Also using conservative rasterization now.

  • New example on Voxel GI has been added:

  • Textured version:

  • Omnidirectional shadows now supported in Voxel GI. The shadows are way too sharp though.

  • New repository for scenes used for build ‘covers’ is created - providing more test material. Note this runs on Voxel GI and requires strong GPU.

  • Bathroom scene blend is now up. Note this runs on Voxel GI and requires strong GPU.

  • Basic open-world streaming support has been added - enabled in Armory Player - Scene Stream. Only HTML5 target has multi-threaded streaming right now - you may experience stutter on other targets, especially when loading more complex meshes. This option is useful for handling big worlds or progressively building scene without waiting to get fully loaded.

  • New example on scene streaming is added. Note that after start, you will see cubes being loaded and popping up. The usual fix would be to display loading screen while the sector around viewer gets fully loaded.

  • Basic decal support has been restored - enabled by checking Decal option in material settings. Decal example at:

  • New example on soft shadows has been added:

  • Basic volumetric light support has been restored - enabled in render path properties, no per-lamp or volume settings available yet. Example at:

  • Testing volumetric in more complex environment:

  • Sub-surface scattering support has been restored - has to be manually enabled in render path properties for now. Activated per-material by using Subsurface Scattering node. Example at:

  • Work on VR support has progressed, more info in linked forum topic. Sadly, a headset hardware like Gear VR or Google Daydream is still required for WebVR. Will be fixed.
    VR Demo - Dino

  • New example on instancing, multi-material meshes should no longer cause issues:

  • New example on switching scenes using logic nodes has been added:

  • Improved scene patching at runtime - materials can be edited again, the changes are not yet instant but should get reflected in the viewport. If scene change is not recognized, hit P again to activate patching.

  • A repository with props created for Armory has been started:

  • New test scene for Diffuse and Glossy BSDF calibration. Armory on the left, Cycles on the right.

  • Build 11 actually comes with Armory UI editor, but using it is not yet recommended as the tool is still super bare bones and unpolished. Treat lightly! A new trait type is available - UI Canvas.

  • Editing or creating canvas trait opens the tool. Hitting Save button is all that is needed to sync changes back to the Blender project.

  • Basic example is provided showing how to react to events from canvas using logic nodes:

  • New example added on calling JavaScript from within Armory, usable for interacting with other HTML elements:

  • 11 builds later, SDK size is still kept down to a minimum! Build 11 is slightly smaller compared to Build 10.

  • More improvements to the painting tool, to be released next month as part of Armory on itch.

Next up:

  • Armory is migrating to open road-map, tasks for upcoming Build 12 will be filled this week at:

  • Improved animation support and Cycles calibration still priority

  • A final, major UI cleanup is planned, to allow more progress on documentation without later breakings. Once this is ready, doubling down on docs begins.

  • Fixing more issue reports!


I will test it but i have one question what is decal ?


Nice nice nice!

Armory is becoming so much more awesome with every build!

@Chris.k - A decal is a projected element (like a material), say for instance you have a concrete wall and have some graffiti that you want to be on top, well, at least if it sort of works the same as in UE:


thanks for reply i understand now


@lubos really great features :slight_smile: testing soon the UI editor ! the painting tool seems super !


How well does the voxel GI work in combination with open-world streaming?


@lubos I think at this moment voxel GI is just to heavy without special tweaks. Top-end graphic cards need to get cheaper, and let’s now even speak about mobile :/. I hope you implement an alternative GI, like, light propagation volumes by crytek. Or do a morph, like it’s planed for Godot 3 >> >> section GI PROBES


@trsh Realtime Global Illumination will be taxing no matter how you look at it, Lubo’s implementation is experimental and will likely get a lot faster with time. Imo. It is a good choice and is for example what CryEngine is using right now too. Light propagation volumes is a rather old technique and while it is fast, it has drawbacks, apparently enough to make most of the State Of The Art game engines abandon it.


  • The algorithm is very fast
  • One data structure which can support multiple lights
  • Completely dynamic and real-time


  • The amount of SH coefficients used (4) has only about 75% accuracy. This means more objects will get incorrect lighting and light bleeding will happen in wrong places.
  • Trade-off between more local reflections or more global reflection as the size of the grid influences this. Can be solved by using Cascaded LPVs.
  • Does not allow for specular reflections. Can be added with Screen-Spaced Reflections.
  • Only allows for one light bounce. There are workarounds, but that also has its tradeoffs.



@lubos Could we have uncompressed screenshots of the engine to look at? All of your hard work put into improving Armory unfortunately can be hard to notice under the really awful looking compression on those images.


Wow Voxel GI is not for me. here’s my first try with it. haven’t touched armory for a while because of college work but now i got a lil free time and we are already in build 11 :scream: awesome work Lubos


@lubos roadmap for build 12 is empty


No open worlds for voxel GI yet, still plenty of work on the core stuff. We can also do cheaper alternative GI eventually, there are no mandatory ties to voxels.

@formless Will keep that in mind. In the end the images get irrelevant fast, as the renderer keeps improving each build, so it’s tough to figure how much time should be invested there. With covers the blend scene is now provided, so there is at least some asset to go with it.

@Astronet It works in standalone window(F5) only (plus needs OpenGL 4.5 capable gpu), should have left a note there… Will try to fix this when updating to Blender 2.79 for next build.

@Chris.k fixed!


hey lubo. build 12 realese ?


Plenty of progress done to warrant a new build, but though it would be beneficial to wait for Blender 2.79 and jump straight on that. :slight_smile: Packing more and more fixes in the meantime.


What do you think about the new Eevee viewport coming out in 2.8 and do you think it will have any adverse effects on your development?


@RedFrostGames The new viewport is a dream, not aware of any adverse effects. It adds tons of features that benefits Armory greatly. Imagine if we would be forever stuck with the current viewport when editing the scene. Now you can build the scene in a PBR enabled viewport, tweak the materials in real-time (all based on Cycles nodes), and then program and export the game anywhere - desktop/web/mobile/console… Already posted an early integration, pic attached. :slight_smile:

PS: Waiting for b2.79 was definitely not a good idea, it’s taking a while! Built 12 will be quite monstrous thanks to that though. Once it gets out we will also roll a test build running on b2.8.


I think you forgot to multiply the ggx specular with the cosine of the angle of incidence, at least it looks like that:
However I can’t say it for sure, because I don’t have bought Armory and so can’t test it (50 bucks is too much for me…)
By the way: do you know if an analytical way, or at least an analytical approximation exists to calculate the multiple scattering on the microsurfaces (a.k.a. multiscatter GGX) ? Because I can’t find that anywhere but would like to have this shader in my own little 3D Program if a such BRDF exists. If not then… what method does, for example, Marmoset use? Normal single scatter GGX? But that’s fairly inaccurate…