[C++] Implementing a class for the Weapons [CRASH]

You’ve wandered into network-related code.

Because there’s UFUNCTION macro that does some magic behind the scene. UFUNCTION, UCLASS, USTRUCT, etc - they are used by unreal build tool to generate more code (which you don’t see).

At a quick glance, you most likely have _Validate() because it has “WithValidation” parameter.
_Implementation seems to be connected to “reliable” parameter.

Also see:

Try looking up stuff you don’t know with google (“unreal 4 c++ UFUNCTION WithValidation”, for example). While (C++) documentation is lacking, google search can usually direct you to a wiki, answerhub post or forum post that’ll shed more light on the situation.

Also, I highly recommend to disable intellisense squiggles. They’re useless and only create noise on the screen.