Option #3 still doesn’t solve this problem but I have few notes:
- Construction Script can be used instead of BeginPlay (not sure how I missed it in the first place)
- This might be possible to solve with Interface and I’m also pretty sure that I’ve seen something similar in Unreal’s GAS