In general I have a idea that UFUNCTION() and UPROPERTY() exposes the function and variables that follow respectively to unreal reflection System.
The most Important use of these I know is Exposing them to blueprints and making network architecture for game.
But what if I don’t write anything in the Parentheses what will it do then? Is it useful to mark every variable and function?
In short what is the difference and use of following
UFUNCTION() void foo() UPROPERTY() int bar;
UFUNCTION(BlueprintCallable or Server etc) void foo() UPROPERTY(EditDefaultsOnly or something else) int bar;