How to take care of shared resources between C++ and blueprint

Hi .

You are welcome :).

Yep, that sounds 100% correct.

The UDPReceiver and the game-ticks run on different threads. Maybe it would be already sufficient to ensure that ARamaUDPReceiver::Recv and BP_PlayerPawn::Tick can never run at the same time.

But it depends when and where the data is accessed. If it can happen, that you access those shared resources outside above two functions, you may want to make the accessor-functions safe as well.

Good luck!