homing of a thrown object

Hi, i need the same function for 2 different things.
project is for VR

  1. boomerang object: you pick it up and throw it, then it homes in on you and returns in your vicinity.
  2. object that always returns to it’s original holding place after you pick it up and throw it.

flying path needs to be smooth and fluid, throwing speed inherited from your hand. i achieved #2 by simply LERPing with timeline between starting location and “dropped” location. but that methhod doesn’t inherit the speed.
with #1 i’m at the beginning. any way to use homing projectile for this? any ideas?