The interaction with smart object works as intended but I need to stop the interaction in certain cases. Aborting the task doesn’t work because it continues the interaction until it finishes executing. I also tried using function “Mark smart object slot as free” in “Receive Abort AI” event.
There is a Behavior Tree task available that will handle SmartObject interactions called Find and Use Gameplay Behavior Smart Object. The task handles being aborted as well, and it should be used as the example of how to do this if you want your own custom task.
For your example BP, you should store the async task returned by Move to and Use Smart Object with Gameplay Behavior node into a variable. When you receive an abort or other logic you may have that should stop the interaction, you need to stop the async task by using End Task with the async task as the target. From looking at the code, I believe this will also handle stopping the gameplay behavior running on the Pawn.