Purpose of UFUNCTION, UPROPERTY, UCLASS macros

Check out this blog post that Michael did, its a great intro to how the Unreal property system works: