UPROPERTY() - Questions regarding VS and the Editor

Hi,

I have the following code in my Character class :

public:
    	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=Camera)
    	float EXILCamDistance;
    
    	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=Camera)
    	float EXILCamVerticalOffset;
    
    	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=Camera)
    	int32 EXILCamFOV;

My problems are :

  • These blueprint variables are visible in my character blueprint only if I compile the code and THEN launch the editor. If a create a new UPROPERTY variable, I can’t see it unless I restart the editor. The blueprint seems to not reload/reread the code properly (even if I recompile and save it). If I use the option “Reload Level Editor” from the Compile button it crash the editor. (See full log download and screenshots below)

  • If I manually update the value of a variable via the code (in the constructor) after I loaded the editor and even if I compiled the code, the variable is not updated. I keep the original variable value. So unless I change it in my blueprint, I can’t see my variable updated. Is that a limitation of those UPROPERTY variables ?


[Download log file][3]

reload_code.jpg

Hey Fabrice,

UPROPERTY() changes currently do not dynamically update with a hot compile. This may be fixed in a future release. The crash is a known issue that sometimes occurs and may also be fixed in a future release.

Best Regards,

Ryan

Because does not participate compiling

UnrealEngine4 use metadata parsed by the Unreal Header Tool keyword UPROPERTY(…) get member define info.

// These macros wrap metadata parsed by the Unreal Header Tool, and are otherwise
// ignored when code containing them is compiled by the C++ compiler
#define UPROPERTY(…)
#define UFUNCTION(…)
#define USTRUCT(…)
#define UMETA(…)
#define UPARAM(…)
#define UENUM(…)
#define UDELEGATE(…)