May seem like a stupid solution, but did you forget the “Super::BeginPlay()” in BeginPlay? If BeginPlay doesn’t work, then the Tick won’t work either.
I ask this, because with what you have shown I don’t see how your code wouldn’t work.
maybe this will help