Hi Drackart, glad you like the toolkit. The things you are asking about are all fairly straightforward to implement. I’m away this weekend visiting the in-laws, so I cannot explicitly show you how to implement this, but I’ll do my best to describe it, and if you find it difficult to implement I’ll show you using screenshots when I get back.
For having free movement uninterrupted by turns you need to set the FreeRoam boolean in ATBTT_GameMode. When this variable is set to true the current unit has infinite move and never ends its turn. Whenever you want to return to turn based combat you need to set it back to false and run the EndTurn event in ATBTT_PlayerController.
For selecting units when clicking the unit mesh, not just the tile it is standing on, you could run a line trace for objects specifying Unit as the class in the filter. Run this trace in the event graph of ATBTT_PlayerController before the line trace by the channel PathtTrace is run. If it returns true, get the index of the clicked actor and set the Clicked Tile variable to this value. Then skip the regular line trace and jump right to the part of the event graph where the faction of the clicked unit is examined to determine the appropriate action. Make sure that your units have collision enabled and do not block PathTrace or RangeTrace (as this will disrupt pathfinding and line of sight calculations respectively).
For separating attacking and moving by different clicks you can add a new right-click input and add this in the same place as the left click event in ATBTT_PlayerController. Connect it to the same spot, but for each click event set a boolean so that you know which button was just clicked (for instance add a bLeftClick boolean that is set to true when LMB is clicked and false when RMB is clicked). Later down the execution chain check if the value of this boolean is set to the appropriate value before executing the nodes associated with movement or attacking.
I hope my description was clear enough for you to implement your desired changes. If not I’ll try again once I have access to my home computer.