When creating UStructs sometimes the compiler chokes on certain variable names

So i have a header with custom event structures. When compiling the compiler tosses compile errors on random variables it seems. I can fix this by changing the variable name minorly like adding a s or short handing the variable.

The compile error look like such:

Error	10	error C2039: 'OS_Greeting' : is not a member of 'FEvent_open_save'	D:\Users\kevin\Documents\Unreal Projects\RPGSystem_Demo 4.2\Intermediate\Build\Win64\Inc\RPGSystem_Demo\RPGSystem_Demo.generated.cpp	2177	1	RPGSystem_Demo
Error	11	error C2661: 'UStrProperty::UStrProperty' : no overloaded function takes 3 arguments	D:\Users\kevin\Documents\Unreal Projects\RPGSystem_Demo 4.2\Intermediate\Build\Win64\Inc\RPGSystem_Demo\RPGSystem_Demo.generated.cpp	2177	1	RPGSystem_Demo

The code line where this occurs look like this:

			UProperty* NewProp_OS_Greeting = new(ReturnStruct, TEXT("OS_Greeting"), RF_Public|RF_Transient|RF_Native) UStrProperty(CPP_PROPERTY_BASE(OS_Greeting, FEvent_open_save), 0x0000000000000005);

The complete code section looks like this:

enter code here
	UScriptStruct* Z_Construct_UScriptStruct_FEvent_open_save()
	{
		UPackage* Outer=Z_Construct_UPackage_RPGSystem_Demo();
		static UScriptStruct* ReturnStruct = NULL;
		if (!ReturnStruct)
		{
			ReturnStruct = new(Outer, TEXT("Event_open_save"), RF_Public|RF_Transient|RF_Native) UScriptStruct(FPostConstructInitializeProperties(), NULL, new UScriptStruct::TCppStructOps<FEvent_open_save>, EStructFlags(0x00000001));
			UProperty* NewProp_OS_Greeting = new(ReturnStruct, TEXT("OS_Greeting"), RF_Public|RF_Transient|RF_Native) UStrProperty(CPP_PROPERTY_BASE(OS_Greeting, FEvent_open_save), 0x0000000000000005);
			ReturnStruct->StaticLink();
#if WITH_METADATA
			UMetaData* MetaData = ReturnStruct->GetOutermost()->GetMetaData();
			MetaData->SetValue(ReturnStruct, TEXT("BlueprintType"), TEXT("true"));
			MetaData->SetValue(ReturnStruct, TEXT("ModuleRelativePath"), TEXT("RPG_EVENT_STRUCTS.h"));
			MetaData->SetValue(NewProp_OS_Greeting, TEXT("Category"), TEXT("EVENT PROCESSOR"));
			MetaData->SetValue(NewProp_OS_Greeting, TEXT("ModuleRelativePath"), TEXT("RPG_EVENT_STRUCTS.h"));
#endif
		}
		return ReturnStruct;
	}

I’m not sure what is causing this. But it might happen when you pass a certain amount of struc defines in a header.

My header looks like this:

#pragma once

#include "Object.h"
#include <memory>
#include "RPG_EVENT_STRUCTS.generated.h"




UENUM(BlueprintType)       //"BlueprintType" is essential specifier
namespace EventProcTypes
{
	enum EventProcType{
		EVT_BEGIN_NODE = 0,
		EVT_CHANGE_PARTY,
		EVT_PLAY_MUSIC,
		EVT_MOVE_ACTOR,
		EVT_ADD_REMOVE_ACTOR,
		EVT_CHANGE_MONEY,
		EVT_CHANGE_INVENTORY,
		EVT_CHANGE_EXPERIENCE,
		EVT_CHANGE_PARAMS,
		EVT_MOVE_CAMERA,
		EVT_play_visual_fx,
		EVT_addremove_object,
		EVT_play_actor_animation,
		EVT_stop_actor_animation,
		EVT_zone_to_map,
		EVT_teleport_to_location,
		EVT_open_store,
		EVT_open_inn,
		EVT_open_save,
		EVT_enable_disable_event,
		EVT_change_time,
		EVT_change_enviorment,
		EVT_start_battle,
		EVT_play_movie,
		EVT_add_choice,
		EVT_start_dialog,
		EVT_GameOver,
		EVT_Play_CS,
		EVT_START_BATTLE_ABS,
	};
}
USTRUCT(BlueprintType)
struct FEventListObject {
	GENERATED_USTRUCT_BODY()
		int32 EventType;
		void* EventObject;
};

USTRUCT(BlueprintType)
struct FEvent_CHANGE_PARTY
{
	GENERATED_USTRUCT_BODY()

	UPROPERTY(BlueprintReadOnly, Category = "CHANGE PARTY")
		bool CP_AddPlayer;
	UPROPERTY(BlueprintReadOnly, Category = "CHANGE PARTY")
		int32 CP_PlayerID;
	UPROPERTY(BlueprintReadOnly, Category = "CHANGE PARTY")
		bool CP_ShowMessage;
};

USTRUCT(BlueprintType)
struct FEvent_PLAY_MUSIC{
	GENERATED_USTRUCT_BODY()

	UPROPERTY(BlueprintReadOnly, Category = "PLAY MUSIC")
		FString PM_SoundPath;
	UPROPERTY(BlueprintReadOnly, Category = "PLAY MUSIC")
		int32 PM_SoundType;
	UPROPERTY(BlueprintReadOnly, Category = "PLAY MUSIC")
		bool PM_SoundLooping;
};

USTRUCT(BlueprintType)
struct FEvent_MOVE_ACTORS{
	GENERATED_USTRUCT_BODY()

	UPROPERTY(BlueprintReadOnly, Category = "MOVE ACTORS")
		FString MA_ActorName;
	UPROPERTY(BlueprintReadOnly, Category = "MOVE ACTORS")
		int32 MA_MoveType; // Direction =0 Scale = 1 Rotation = 2 Path = 3

	// Direction   
	UPROPERTY(BlueprintReadOnly, Category = "MOVE ACTORS")
		int32 MA_ActorDirection; // In Degrees 0,45,90,135,180,225,270,315
	UPROPERTY(BlueprintReadOnly, Category = "MOVE ACTORS")
		int32 MA_NumberOfSteps;

	//scale
	UPROPERTY(BlueprintReadOnly, Category = "MOVE ACTORS")
		float MA_ScaleX;
	UPROPERTY(BlueprintReadOnly, Category = "MOVE ACTORS")
		float MA_ScaleY;
	UPROPERTY(BlueprintReadOnly, Category = "MOVE ACTORS")
		float MA_ScaleZ;
	UPROPERTY(BlueprintReadOnly, Category = "MOVE ACTORS")
		float MA_AnimateScale;
	//Rotation
	UPROPERTY(BlueprintReadOnly, Category = "MOVE ACTORS")
		float MA_RotationX;
	UPROPERTY(BlueprintReadOnly, Category = "MOVE ACTORS")
		float MA_RotationY;
	UPROPERTY(BlueprintReadOnly, Category = "MOVE ACTORS")
		float MA_RotationZ;
	UPROPERTY(BlueprintReadOnly, Category = "MOVE ACTORS")
		float MA_AnimateRotation;

	//Follow Path
	UPROPERTY(BlueprintReadOnly, Category = "MOVE ACTORS")
		FString MA_PathName;
	UPROPERTY(BlueprintReadOnly, Category = "MOVE ACTORS")
		int32 MA_PathLoopingType; // None = 0 Back and Forward = 1 Cycle = 2 Random = 3

	//General
	UPROPERTY(BlueprintReadOnly, Category = "MOVE ACTORS")
		bool MA_WaitForComplete;

};

USTRUCT(BlueprintType)
struct FEvent_ADD_REMOVE_ACTOR{
	GENERATED_USTRUCT_BODY()

	UPROPERTY(BlueprintReadOnly, Category = "ADD REMOVE ACTOR")
		FString ARA_ActorName;
	UPROPERTY(BlueprintReadOnly, Category = "ADD REMOVE ACTOR")
		bool ARA_IsAdd;
	UPROPERTY(BlueprintReadOnly, Category = "ADD REMOVE ACTOR")
		FString ARA_PathName;
	UPROPERTY(BlueprintReadOnly, Category = "ADD REMOVE ACTOR")
		FVector ARA_Transform;
	UPROPERTY(BlueprintReadOnly, Category = "ADD REMOVE ACTOR")
		float ARA_ScaleX;
	UPROPERTY(BlueprintReadOnly, Category = "ADD REMOVE ACTOR")
		float ARA_ScaleY;
	UPROPERTY(BlueprintReadOnly, Category = "ADD REMOVE ACTOR")
		float ARA_ScaleZ;
};

USTRUCT(BlueprintType)
struct FEvent_CHANGE_MONEY{
	GENERATED_USTRUCT_BODY()
	
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		bool CM_IsAdd;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		int32 CM_Amount;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		bool CM_ShowMessage;
};

USTRUCT(BlueprintType)
struct FEvent_CHANGE_INVENTORY{
	GENERATED_USTRUCT_BODY()
	
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		bool CI_IsAdd;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		int32 CI_ItemID;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		bool CI_ShowMessage;
};

USTRUCT()
struct FEvent_CHANGE_EXPERIENCE{
	GENERATED_USTRUCT_BODY()
	
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		bool CE_IsAdd;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		int32 CE_ShareType; // All Members -1 : All Active Party Members -2  PartyID > 0>
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		int32 CE_Amount;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		bool CE_ShowMessage;
};


USTRUCT()
struct FEvent_CHANGE_PARAMS{
	GENERATED_USTRUCT_BODY()
	
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		bool CP_IsAdd;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		int32 CP_ShareType; // All Members -1 : All Active Party Members -2  PartyID > 0>
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		int32 CP_Level;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		int32 CP_ATK;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		int32 CP_DEF;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		int32 CP_MATK;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		int32 CP_MDEF;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		int32 CP_VIT;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		int32 CP_MAG;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		int32 CP_EVA;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		int32 CP_ACC;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		bool CP_ShowMessage;
};


USTRUCT(BlueprintType)
struct FEvent_MOVE_CAMERA{
	GENERATED_USTRUCT_BODY()
		
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		int32 MC_ActorTarget;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		int32 MC_ManualTarget;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		int32 MC_MovementType;

	//Move
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		int32 MC_MoveDirection;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		int32 MC_Units;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		int32 MC_OrbitAngle;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		int32 MC_Distance;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		int32 MC_HeightAngle;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		FString MC_FollowPath;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		bool MC_WaitForCompletion;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		bool MC_AnimateChange;

};

USTRUCT(BlueprintType)
struct FEvent_play_visual_fx{
	GENERATED_USTRUCT_BODY()
		
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		FString PFX_Name;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		int32 PFX_Duration;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		bool PFX_Sound;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		int32 SFX_Duration;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		FVector SFX_position;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		bool PFX_WaitForComplete;
};

USTRUCT(BlueprintType)
struct FEvent_addremove_object{
	GENERATED_USTRUCT_BODY()
		
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		bool ARO_IsAdd;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		FString ARO_ObjectPath;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		FString ARO_Name;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		FVector ARO_Transform;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		int32 ARO_Size;
};

USTRUCT(BlueprintType)
struct FEvent_play_actor_animation{
	GENERATED_USTRUCT_BODY()
		
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
	FString PAA_AnimationName;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		FString PAA_Name;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		int32 PAA_Loops;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		int32 PAA_Duration;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		bool PAA_WaitForComplete;
};

USTRUCT(BlueprintType)
struct FEvent_stop_actor_animation{
	GENERATED_USTRUCT_BODY()
		
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		FString SAA_BaseAnimation;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		FString SAA_Name;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		bool SAA_WaitForComplete;
};

USTRUCT(BlueprintType)
struct FEvent_zone_to_map{
	GENERATED_USTRUCT_BODY()
		
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		FString ZM_Name;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		FString ZM_Location;
};

USTRUCT(BlueprintType)
struct FEvent_teleport_to_location{
	GENERATED_USTRUCT_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		FVector TTL_Location;
};

USTRUCT(BlueprintType)
struct FEvent_open_store{
	GENERATED_USTRUCT_BODY()

	UPROPERTY(BlueprintReadOnly, Category = "OPEN STORE")
		int32 OS_Type;
	UPROPERTY(BlueprintReadOnly, Category = "OPEN STORE")
		FString OS_Greeting;
	UPROPERTY(BlueprintReadOnly, Category = "OPEN STORE")
		int32 OS_Low_LVL_Filter;
	UPROPERTY(BlueprintReadOnly, Category = "OPEN STORE")
		int32 OS_High_LVL_Filter;
	UPROPERTY(BlueprintReadOnly, Category = "OPEN STORE")
		int32 OS_Low_Cost_Filter;
	UPROPERTY(BlueprintReadOnly, Category = "OPEN STORE")
		int32 OS_High_Cost_Filter;
	UPROPERTY(BlueprintReadOnly, Category = "OPEN STORE")
		FString OS_Item_List;
};

USTRUCT(BlueprintType)
struct FEvent_open_inn{
	GENERATED_USTRUCT_BODY()
		
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		FString OI_Greeting;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		int32 OI_InnCost;
};

USTRUCT(BlueprintType)
struct FEvent_open_save{
	GENERATED_USTRUCT_BODY()
		
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		FString OS_greeting;
};

USTRUCT(BlueprintType)
struct FEvent_enable_disable_event{
	GENERATED_USTRUCT_BODY()
		
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		bool EDE_State;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		int32 EDE_ID;
};

USTRUCT(BlueprintType)
struct FEvent_change_time{
	GENERATED_USTRUCT_BODY()
		
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		int32 CT_Time;
};

USTRUCT(BlueprintType)
struct FEvent_change_enviorment{
	GENERATED_USTRUCT_BODY()
		
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		int32 CE_Type;
};

USTRUCT(BlueprintType)
struct FEvent_start_battle{
	GENERATED_USTRUCT_BODY()
		
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		int32 SB_Monster_Group_ID;
};

USTRUCT(BlueprintType)
struct FEvent_play_movie{
	GENERATED_USTRUCT_BODY()
		
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		FString PM_MoviePath;
};

USTRUCT(BlueprintType)
struct FEvent_add_choice{
	GENERATED_USTRUCT_BODY()
		
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		FString AC_Dialog;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		int32 AC_ChoiceCount;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		FString AC_ChoiceList;
};

USTRUCT(BlueprintType)
struct FEvent_GameOver{
	GENERATED_USTRUCT_BODY()
};

USTRUCT(BlueprintType)
struct FEvent_start_dialog{
	GENERATED_USTRUCT_BODY()
		
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		FString SD_ImageLocation;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		FString SD_ImagePath;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		bool SD_GreyedBackGround;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		FString SD_SoundFX;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		int32 SD_SoundDuration;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		bool SD_WaitForInput;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		bool SD_AutoContinue;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		int32 SD_BackgroundTransitionType;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		FString SD_BackgroundImage;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		FString SD_DialogueImage;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		FString SD_SpeakerName;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		FString SD_DialogueMessage;
};

USTRUCT(BlueprintType)
struct FEvent_PlayCS{
	GENERATED_USTRUCT_BODY()
	
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		FString CS_SequencePath;
};


USTRUCT(BlueprintType)
//NEW BATTLE EVENT - Start
struct FEvent_START_BATTLE_ABS{
	GENERATED_USTRUCT_BODY()
	
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		FString ABS_Name;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		int32 ABS_MinSpawn;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		int32 ABS_MaxSpawn;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		FVector ABS_Location;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		int32 ABS_Radius;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EVENT PROCESSOR")
		FString ABS_MonsterList;
};



#define MAX_EVENT_STRING_SIZE 1024

If anyone notice something that I’m not please let me know. AFAIK i’m implementing the structs in a working fashion and they load and break correctly in the editor.

Thank you.
Kevin

FEvent_open_store has a variable called OS_Greeting, and FEvent_open_save has a variable called OS_greeting.

Unfortunately, due to the way FNames work (which is what the UHT uses when parsing those variables), this won’t work correctly, as FEvent_open_save will produce code that tries to use OS_Greeting rather than OS_greeting.

Renaming OS_greeting to OS_Greeting in FEvent_open_save should fix the issue.

Some more information on the limitations of FNames can be found here: Renaming Blueprint with same name but different case does not work - Blueprint - Epic Developer Community Forums

Thank you sir. I was wondering if they had to be globally unique with in the header one reason i had to add the prefix. In which I thought they were all unique by this time except for that one variable definition. Thanks for confirming and catching my miss definition as well.

We’ve made a change for 4.5 which will make FName case-preserving for the editor and UHT. This should address the FName case issues you’ve been seeing.

I’ve checked that you’re able to rename asset, actor, and blueprint components in a way that changes only their case. I’ve also tested that you’re able to have a variables in different UObject/UStruct types that vary only by case, and that the UHT will generate code that actually compiles.

#Thank You Jamie!

Woohoo!

Thank you for this improvement to USTRUCTS Jaime!

#:heart:

Rama