Going with the RTS style system, here is how I’d go about trying to solve it.
first off, I’d say the majority of RTS games don’t have you drag an actor around and place the EXACT actor. What devs are doing is basically a magic trick. They have an “testing” actor that represents the desired mesh that the user can move around the world. This “testing” actor is simply doing collision tests on other actors. If, at any moment the testing actor reports back that it is not colliding with any other actors they the user can hit a button and spawn the real mesh/blueprint actor at that location. If the testing actor reports back that it is colliding with something, then the user can’t use the place functionality/swap.
So, to accomplish this affect, (note, I’m just riffing here. I’ve never attempted this myself) I would create a testing cube. In that cube blueprint I would make sure it had an invisible collision box around it. In its event graph I would use that collision box to trigger overlap on and off events. I would then create a boolean variable that would be “CanPlace” or something like that.
I’d then set the boolean variable via the overlap events to the boolean variable. OverlapOn = False (can’t place) OverlapOff = True.
The next thing I’d do is in player character, mess around with creating and moving your new testing BP. Sounds like you’ve got a handle on that so I won’t go into detail. basically with this functionality you will spawn your testing cube in the world and move it around. The testing cube will be constantly testing to see if it’s getting overlap events.
The final pice would be to complete the magic trick by spawning the real actor BP. To do this, you’d probably add something to your player character that would use a Branch to test if the testing cube’s boolean is true or false. So, you’d have an input that would place your cube. That input would cast to the testing cube and grab the boolean’s value. If the boolean is true (i.e. CanPlace is true), then you pass along and spawn the real actor BP at the location.
You’ll want to make sure that your real actor BP also has a collision box for the testing actor to test against.
Hope this gives you some good direction to play with.
Oh, and to get fancy, you could open up your testing BP and continue off your overlap events to change the material of the testing cube so that you have a visual indicator. Make the default material green, switch the material to red if it’s overlapping. switch it back to green if it overlaps off. Good luck!
One final thing. Make sure your testing BP cube is the same size as the cube you’re placing. Obviously if you were spawning a more detailed mesh, you’d use that same mesh in your testing BP instead of a cube. Magic!