Reducing momentum of projectile?

There are a few things to explain here. Seeing as you know C++, this should be a bit easier.

You can think of a blueprint like a child of your C++ class. When you make a blueprint based off of your ProjectNameProjectile class, it inherits everything it has from that class, just as a child class would. This also means that any updates you make to the C++ class will be applied to this blueprint when you make them. This is where Hot Reloading comes in.

UE4 links to Visual Studio to allow compiling changes to affect the editor on the fly instead of requiring you to restart the editor after each compile. When you compile, check your output log in the editor to ensure that Hot Reloading was successful and the blueprint should reflect any changes that you made.

As far as not seeing the variable goes, this is due to this event graph having nothing at all to do with the function in code that deals with the OnHit functionality.

In blueprints, you’re calling the K2_OnHit function (K2 is usually what blueprint nodes are prefaced with, it’s not that important, it’s just to explain that they’re different) which is completely separate from the OnHit function that the C++ class is overriding. Also, in this line:

OtherComp->AddImpulseAtLocation(GetVelocity() * 100.0f, GetActorLocation());

the 100.0f is being hardcoded and is not being stored in a variable. This means you would never see this in blueprints even if you wanted to. The easiest way to do this in blueprint while also using the code function would be to create a int UPROPERTY with the specifier EditAnywhere and BlueprintReadWrite in the code, initialize it to 100.0f in the constructor, replace the 100.0f with that int, and then you’ll be able to edit it in the blueprint and change how that function reacts.

If you don’t know much about how C++ and blueprints interact, I suggest this tutorial. Hope this helps.