Probably UHT bug, while exposing Static Array[Enum::MAX] to BP

I’ve been trying to solve this problem for a while and i finally got the idea why it didn’t work.

**MyGameplayTypes.h**

#pragma once
#include "MyGameplayTypes.generated.h"

UENUM(BlueprintType)
enum class ETileType : uint8
{
	Border,
	Hole,
	Neutral,
	Player,
	Enemy,
	MAX
};

**MyGameSettings.h**

#pragma once

#include "GameFramework/Actor.h"
#include "MyGameplayTypes.h" //<-- THERE, project compiles fine without this include, but if i don't include this header, the array in BP show only numbers instead of enum names. It was also included in Main.h project file.

#include "MyGameSettings.generated.h"

UCLASS(Blueprintable)
class BLABLA_API UMyGameSettings : public UObject
{
	GENERATED_BODY()
	
public:	
	UMyGameSettings(const FObjectInitializer& OI);

	UPROPERTY(EditAnywhere, Category = "GameSettings")
	UStaticMesh* TileMeshes[ETileType::MAX];
};

Hey ThePassenger,

Sorry for the delay. Are you still experiencing this issue?
I haven’t been able to reproduce the same behavior on my end, so if you could, please recreate the issue in a clean test project and provide me with a download so I can take a closer look.

Thanks

Hey, strangely everything is fine in clean project, even now when i removed the include in the old project it works fine. Maybe it had something to do with the cached files or sth but i tried to clean, rebuild, removing files manually and nothing worked until i included the “types” header in “gamesettings” file.

Glad to hear that it’s working properly in a clean project. Let me know if the issue pops up again in the clean project and we can continue to investigate if needed, but since it’s working in a clean project I do not believe that this issue is a bug at this time.

Thanks!