Greetings!
This only started happening with 4.15. Since 4.8, I have not really had any issues making C++ variables available in blueprints. I have a structure along the lines of:
USTRUCT(BlueprintType)
struct BLAH_API FHappyStruct
{
UPROPERTY(EditAnywhere, BlueprintReadOnly)
int32 someVariable;
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Points")
int32 rankingPoints;
};
Pretty simple. When I go to Blueprints and break this structure apart, I can see pins for someVariable and rankingPoints just fine. Now, let’s say I add:
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Points")
int32 rankingPoints2;
I then compile the Engine or in VC++ with 0 errors. I would expect “rankingPoints2” to also be available as a pin, especially after closing and reopening the editor, but it is not.
So then I DELETE the following from the code:
UPROPERTY(EditAnywhere, BlueprintReadOnly)
int32 someVariable;
I compile in either the engine or VC++ without error. In blueprints, I break apart this struct and “someVariable” is still there. In fact, any changes that I make in C++ have no impact upon the Blueprints break. A variable changed to UPROPERTY() will still appear in blueprints. Changing categories for variables is not reflected. Changing different objects and structures has the same effect.
I’ve tried breaking apart the variable in a separate blueprint and the same thing occurs. Changes in C++ are no longer being reflected in blueprints. I’ve tried recompiling, rebuilding the solution in VC++ and pretty much everything else. The only thing that really changed in 4.15 for me was that I nativized the blueprint in question.
I am not sure what the issue is. There are 0 compilation errors in C++ and no errors in Unreal. There are no errors in the blueprints. It seems like the Editor is relying upon some cached variable that is no longer updating when the code is compiled.
Any help would be appreciated, thank you.