You’re free to organize things however works best for your game. For my toolkit I’m prioritizing modularity, flexibility and expandability quite highly, which is why a lot of things are handled in blueprints that can easily be slotted out (abilities mainly). For creating a generic toolkit I think this is very beneficial, but for a developer of a specific game that knows the precise requirements of that particular game there are often ways to do things quicker and simpler, so go with what you feel is the easiest to work with.
Not able to replicate the issue, unfortunately. Seems to work fine on my end:
without being able to replicate the issue it is unfortunately difficult to solve. It is very likely an issue with the function FindCloseValidOverlappingGridIndex in BP_AbilityBase, however, so if you want to do your own bug fixing that is the place to look. For me to fix this you will need to find even more precise replication steps. Preferrably using only assets available in UE4 or ATBTT. If you do that you can PM me a copy of the project and I’ll take a look at it when I have time.
Hmm, ok. Thanks for doing the testing. I did some limited mobile testing not that long ago that seemed to work fine, but something might have gone wrong. Do you get the same problem when just running the example map on an unmodified project? The idea for the hover events with touch is that one tap shows what would be shown when hovering over a tile with the mouse, while a second tap on the same tile will activate the click event.
Seems like basically all the issues you are having are related to changes I made in the last, big update. A bit annoying that these bugs were not discovered until now when I have so little time, but better late than never, I guess. Sorry for the hassle it is causing you. I’ll do my best to get this fixed as soon as I can find the time.
Unfortunately several of the tutorials are indeed quite out of date; the early ones much more so than the later ones. A lot of the same functionality still exists, but it has been organized differently which can make it confusing to developers who are new to the toolkit. I apologize for the early tutorials being so out of date and creating a new tutorial for beginners is one of my highest priorities for the toolkit right now. Unfortunately due to work I will not have the free time to do so for a couple more weeks, but after that things should get better. Until then feel free to ask me here if you run into any problems.
For your specific questions, BP_Unit is now a base unit blueprint which does not have any animation, health bar etc. It basically holds all the shared functionality of a unit besides what is displayed on the screen (meshes, animations, health bars etc.). BP_Unit_Anim is an example for how to set up a unit with a skeletal mesh and animations and is what I recommend as the starting point for making your own units. If you want the same sorts of units that were in the first video (an enemy ranged unit, player melee unit etc.) you can create child blueprints of this blueprint and change their faction variable, material, range and health.
As for the grid manager you can find BP_GridManager in Core/Grid. If you want a hexagonal grid you should instead use BP_GridManager_Hex.
Ok, great. Makes sense that that would fix it. The activation of BP_ATBTT basically starts the cascade that starts up everything, including spawning the turn manager, so if you are adding anything that needs immediate access to the turn manager, action manager, the filled in grid values of BP_GridManager etc. all of this needs to be done after that setup has run its course.
Thanks You can store this in many different ways, and it is really up to you. But first you would need to be able to know when a unit dies what it was killed by. You could do this by adding a new BP_Unit input variable to the TakeDamage function in BP_Unit called DamageSource. Then in the same function if KillUnit is called you would call a new function on the source unit that takes as input the ID of the killed unit (do this directly before KillUnit is executed). In this new function you can add the id to an array or set of IDs + add XP. You would also modify the trust value here, though where this is stored and handled depends on how you intend trust to work mechanics wise.