I’d say you need to create some basic “one” quest BP interface, defines how a quest item should be iteract, like( new, accepted, condition, completed, who ), and then use BP that implemented it as actual quest that use those interface function to check if quest type is fullfilled. then you can drag different quest type onto your map and NPC could give reference to those quest item.
In your character, you just have a objectArray to save all those references you accepted, and on special events(like collecting item, kill a mob, etc), go through each quest’s condition to update counter(ie fetch/kill quest).
then you can work on how to assign quests to NPC so they can give your player a quest.