Hi. Armory is awesome, and I’d just love to use it but it is just impossible to really do, because of the amount of missing features and bugs that exists. Here is a personal list of the ones that bug me the most, and forced me to switch the project I care about the most to Unity. No particular order applies, but you should be able to see why some are more problematic than others.
When using large objects, meshes will sometimes disappear when looking at them from a wrong angle. Also shadows often go missing for big objects, usually ceilings, which is very jarring. Making everything up of smaller ones is just too damn tedious.
No semi-baked mode
There is no way to have objects that should just display a damn texture without any shading without using some custom coded material or the full on solid material mode. The emission node works for that in Blender, idiotically the brightness of emission materials in Armory is dictated by how much they are lit up from other lightsources, actually defeating the purpose of an emission material.
Semi broken sound
Sometimes it works, sometimes it doesn’t, every week something new for this. Funnily a problem I had when participating in the bgmc game jam was that halfway through it it stopped working, and only was taking .wav files to work. That bloated the project files dramatically, not to say waste time of the sound designer.
Also I can’t find a way to turn off the sound fading over distance, even though Blender’s UI (which has very little options already) actually has a way to do that. There are also some problems with pitch when the system is under high load.
When building to Krom, which is what any hobbyist dev is going to do because building to native takes a fucking hour or so, the games performance is lackluster. The game I made for the bgmc game jam used mostly linked duplicates of objects, but many of them littered around in the scene, and not an absurd amount of materials, the very most of them were a flat color. FPS: 60 on a mid-range gaming PC (i5 6500 GTX 1060) at 1080p, and the graphics really do not justify that. On a 1050ti it already became hard to stay playable. As there are no guides to improve performance, the potential for better performance does not matter if I can not find out how to achieve that.
Only two lights being possible at a time
You saw that one coming. Why this alone often makes it impossible to create some scenes does not need to be explained.
No solution for realtime GI
Ok, that one is not that big of a deal-breaker in regards of the other issues, but WHY IS VOXEL GI GONE? !?! IT WAS SO DAMN AWESOME!!! It ran like a champ, 60 FPS on a 1060 with graphics that actually justified that performance and was so easy to use a chimp could do it! Voxel AO is cool as well, but really not as much. And ray-tracing is just not an option for hobbyists that want nice graphics, not until at least 50% of gamers have these cards.
No prefab support
If you want to make larger games, you will need to use different scenes. In different scenes you will want to share assets between them, and spawn some objects stored in a different scene. SIKE! You can’t do that in Armory, have a crash.
No networking other than in Browser
I had to kill my multiplayer project because being restricted to a Browser just isn’t fun. Krom does just not have any networking capabilities, and Armory crashes when trying to build for native when using external libraries, which is needed for networking.
I am too sad to flesh out these points with images for now. The thing is, I love to use Armory and really despise the UX when using Unity, but for reasons it is basically my only option. I couldn’t be bothered to find issues on Github for these problems, but if there are any they probably wouldn’t be tackled any time soon anyways. There are some awesome awesome awesome people in the community contributing, but there just is no way fix that they alone can fix it if the main dev. is in love with another project. I just hope his heart comes back to its roots some day.
Peace out for now
There are so many reasons to not use Armory, but there are also so many reasons to use it.
Armory is a young engine. Using it demands work, and you can not always do what you want.
But, it has a great potential : It’s integrated in blender, so you can make your game with only one tool. What could replace BGE better than Armory ?
I really hope Armory will grow and allow us to make great games only using Blender.
I recently released “Cubuesque”, that is a relatively small game, and had some pain making it playable on mobile devices, but it was doable. I also worked on a bigger game “Freak runners”. I cancelled the game only because it was a too big project for me, not because Armory was not able to handle it. It was a full 3D racing game, with different scenes, sound effects, music… and all was working.
I think that Armory could be better on some points. But I also think that we could help the developers to improve their engine with our “return of experience”.
Please everyone continue helping people using Armory, please continue asking for help, please continue making examples. Please continue making games with it.
To the developers : We need simple tools to make our games. Please help us for preloading resources with loading screens. Please improve UI Canvas. Please do something with the names of objects on different scene to not have object.000, object.001, object.XXX and so on (if possible).
We also need a better way to communicate. I’m a user of Armory, but I never go to GitHub. This forum is the only way to talk to you. We, game makers, are artists, not developers.
So… please everyone continue. I believe in Armory, and I want to make more games on this engine.
I love Blender, I love Armory.
…sadly… it’s not that well integrated in Blender… because one has to set things up specifically to Armory. Materials, lights, instances, animations, etc all needs to be done the way armory wants and not the normal way we do in Blender.
I can render a scene in Eevee and in Cycles and the results are similar. At least, if I set up the materials for Eevee I know they will render in Cycles, just the same. Vice-versa may not work due some nodes not being compatible with Eevee, but even so it works too. One just switches from one to the other.
I expected from armory to work similar, in which we would just change to Armory and it would render with the Eevee/Cycles nodes an identical image.
This is because when we are in a many year projects we need something solid to work on… a floating base, permanently changing and moving is impossible to work with
Now, the concept of Armory and Armory visual coding nodes are just perfect, but it’s still very separated from Blender, although it deploys the game from it. I have no doubt Armory will be great on day… but we aren’t there yet.
For a tiny game, it is good enough! It actually works really good, even for an idiot like me I can make characters move around, walk and jump some obstacles… but once we want to go a bit further away it starts to break apart in many aspects… Being the most demotivating the endless changing of it base. It should be rock solid to give us confidence to build on top, but…
…Feels like ensemble Legos, on top of a leaf of paper, that is on top of the water, of a rapids river, heading towards a waterfall
Hey totally agree with you @Simonrazer!! I am using Armory3d for a long time now and I really love the memories with armory3d .Armory3d is just awesome but the reality is that you can’t really create a full project Sometimes you are really forced to switch the engine…I tried to create many different projects with no success because things are not working or just missing in the engine. I really dont want to see armory3d die or getting abandoned. I would like to hear more people with their experience using armory3d!!
I think that Armory have more benefits than other engine can have. For example, if you use Unreal, you can’t optimise the performance for the target platform, and there will have a need to import objects every time from 3d software to the engine. Armory is not too far from a 1.0 release, i understand the frustation, but what in life don’t have hard times? We just need to keep looking forward with good eyes and always have more options. I have sure that all engines have some annoying stuffs just by reading the feedbacks of the users. Obviously Unreal have much more resources, but will we really use all of them? I prefer Armory because it is more clean, but i would like to test Unreal sometime. If we can make a list of what we miss in Armory before 1.0 and focus on it, i think is a good deal
I’m actually making another game with Armory, and I can say that it’s really more stable. It’s really enjoying, and things that annoyed me in the past are gone.
BTW, making a good UI is still difficult, I think.
I’m new in Armory3D and now I’m experimenting, but I’m new and I’ll say that it’s incomplete and I had to make a big project smaller, the errors are not very intuitive to solve and honestly the performance is very bad to have a few polygons in my scene, Armory is great but now is focusing on big things leaving small errors that for someone new like me, I have no idea how to treat them, I hope that in the future they are solved, because Armory is the few engines that accept the logic nodes, so I chose it, but I think I’ll have to leave my project and move to unity with bolt or something like that, anyway, I guess when it is a fully finished engine will return to try
Yes, UI is a problem to consider. If you want to create menus, you have to hide/unhide each element from the tab. A way to make the tabs to share the same visibility would be useful, but i think it is not a thing to have focus now. I hope someday we can even create 2d games trough the UI. Also a way to adjust all elements size to match the actual screen size is what is missing.
But why someone will try to make a big game alone in Armory currently? Even using a triple way engine it will take months or years of hard work. The performance problems should not take too much time to be fixed.
I recommend if you can see the potential of Armory integrated with Blender, keep and help on tracking bugs, feature leaks, etc. maybe someone already found a solution for your problem. Sometimes you hope on Armory stuff that even other engine don’t have.
@knowledgenude it is possible to have elements share the same visibility, you have to group them. Please have a look at this post : How to add trait by node
Like you i’m still hoping for a way to scale the UI … Maybe it’s possible to have multiple Canvas, each Canvas having only one element, and placing each Canvas/element on the screen independently matching the resolution… Not so easy… Personally I’m working with bitmap fonts to make my own UI system.
@mokauno Thanks, I will take a look on it when i can. If the group of elements share the same scale, maybe we can set the scale proportionally according to the window size.
Example: If the window size is 1920x1080, we multiply this value by 0.25. This will give us 1/4 of the total window size to apply in the element size.
The element size will match 1/4 of the screen, no matter the currently resolution. I don’t know how this will work in practice, but at least for anchored elements should work without problems, did you already tryed something like this? Maybe if this work, we can find a easy way to consider the element coordinates too and apply the correct location