Proper coding practices for Unreal

Relativity new to the game development scene when working in unreal so I picked up a simple project to help gain some experience working with the engine (remaking space invaders with C++ and my own assets).

My question is what’s a general good flow for the code and classes, I want to avoid spagetti code and try to adhere to as many good practices for the industry as possible. Right now I have a custom game mode spawning the various actors (invaders and player controlled tank) and initializing them. As they are hit by the tank spawned bullets the hit invader is reporting back to the game mode which updates an array of currently in play invaders, then the invader and bullet destroy themselves.

What I’m wondering is if this is so far a good solution or is this a bad one that will cause problems down the road I’m unaware of.

Thanks in advance for your knowledge and expertise,
-Nathan