[BUG][C++]Horrible Enum bug

Hello,

I ran into nasty behavior. I have a C++ Enum which is declared like this (shortened version):

UENUM(BlueprintType)
enum class ActorStatesEnum : uint8
{
	WALK UMETA(DisplayName = "Walk"),
	RUN UMETA(DisplayName = "Run"),
	NONINTERACTIVE UMETA(DisplayName = "Noninteractive"),
	EYETURNER UMETA(DisplayName = "Eye Turner")
};

I also have C++ method for switching Actor states by providing this Enum members

I’ve created many blueprints implementing different behavior switches and it all worked till the moment when I added new member to this Enum. At that point every single Blueprint utilising this enum got broken.

So given the fact that this is a bug since 4.6 I believe, what is the recommended way? To use strings in Blueprints and than convert them into enum in C++ static method of my class?

Or am I missing something obvious?

Thanks!
Jan

Which was the new entry you added?

Thank you!

The current version is:

UENUM(BlueprintType)
    enum class ActorStatesEnum : uint8
    {
    	WALK UMETA(DisplayName = "Walk"),
    	RUN UMETA(DisplayName = "Run"),
    	NONINTERACTIVE UMETA(DisplayName = "Noninteractive"),
    	EYETURNER UMETA(DisplayName = "Eye Turner"),
    	STYLUSCONTROL UMETA(DisplayName = "Stylus control")
    };

Also the method handling the switch is:

UFUNCTION(BlueprintCallable, Category = "Functional")
	void SwitchActorState(ActorStatesEnum newState);

If this is still an issue, check my solution here: