I’m back from the honeymoon and ready to keep on improving the toolkit as a married man. 4.13 preview is out and ATBTT does work with it. However, there are a couple of small issues that have popped up with the new update which must be fixed so that BP_GridManager can compile. I will not send a new update to Epic until the final version of 4.13 is out, but until then, here is what to do if you’re impatient:
There are two collapsed blueprint graphs in BP_GridManager that need to be fixed in the Get Indexes in Range (Checking Range Array) function. These are the two topmost “Correction to keep hexagonal pattern if close to west edge_2” collapsed graphs. No idea why this is, since there are many identical, working collapsed graphs in the toolkit, but ut us thankfully quite easy to fix. For both of these remove their input nodes and add new identical ones. Then connect them up again the same way they are connected if you look at a version of ATBTT opened in UE4.12.
You will need to change one more thing if you want to nativize your blueprints when packaging. Epic have fixed the issue in 4.12 where projects containing child animation blueprints could not be nativized (thanks Epic!). However, there is still an issue where arrays of structs will be populated with random variables when resized in a nativized, packaged project. To fix this, change the Reset pathfinding arrays and clear meshes function in BP_GridManager so that it is resized manually through a forloop instead of using the resize node. Like so:
If you do this and package your project using the experimental Nativize Blueprint option you will see an absolutely massive performance increase in pathfinding and visibility checks. I’m talking 50 times as fast as PIE. Epic have said that C++, when coded well, can be 10 times as fast as blueprint, which is the highest performance increase I was reasonably hoping for. I’m guessing that nativization is especially beneficial for array manipulation. I’m happy to see that the way I have made my blueprints to be as performant as possible seems to cross over well to C++, and a performance increase of this magnitude will allow myself and users to be even more ambitious in what can be done with ATBTT.