I have an actor that is supposed to hold an array of Static Mesh Components. I would like to assign these components in the subclass blueprints down the line. The problem is no matter what I use in the UPROPERTY it does not show up in the details panel of the project.
so far i have tried:
UPROPERTY(EditAnywhere, BlueprintReadWrite)
UPROPERTY(VisibleAnywhere, BlueprintReadWrite)
I always close the project and rebuild after any edit to try and make it show up.
Here is what I have in code at the moment
#pragma once
#include "CoreMinimal.h"
#include "GameFramework/Actor.h"
#include "PartInfo.h"
#include "Vis_Recce_Actor.generated.h"
UCLASS()
class MYPROJECT_API AVis_Recce_Actor : public AActor
{
GENERATED_BODY()
public:
// Sets default values for this actor's properties
AVis_Recce_Actor();
UPROPERTY(EditAnywhere, BlueprintReadWrite)
TArray<FPartInfo> partsAndInfoList;
UPROPERTY(VisibleAnywhere, BlueprintReadWrite)
TArray<UStaticMeshComponent*> partMeshes;
UPROPERTY(EditAnywhere, BlueprintReadWrite, meta=(TitleProperty = "title"))
TArray<FPartInfoLog> partLogs;
UFUNCTION(BlueprintCallable)
void SetPartHighlight(UStaticMeshComponent* smCo, bool isOn);
UFUNCTION(BlueprintCallable)
void SetPartPosHighlight(int pos, bool isOn);
UFUNCTION()
TArray<UStaticMeshComponent*> GetAllSMComps();
protected:
// Called when the game starts or when spawned
virtual void BeginPlay() override;
public:
// Called every frame
virtual void Tick(float DeltaTime) override;
};
#pragma once
#include "CoreMinimal.h"
#include "UObject/NoExportTypes.h"
#include "PartInfo.generated.h"
/**
*
*/
USTRUCT(BlueprintType)
struct FPartInfoLog
{
GENERATED_BODY() // Required macro
UPROPERTY(EditAnywhere, BlueprintReadWrite)
FString title;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
TArray<FString> info;
};
USTRUCT(BlueprintType)
struct FPartInfo
{
GENERATED_BODY() // Required macro
UPROPERTY(EditAnywhere, BlueprintReadWrite)
UStaticMeshComponent* partStaticMesh;
//TSoftObjectPtr<UStaticMesh> partSM;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
TArray<FPartInfoLog> partInfo;
};
To further give context, I am making a system that will be able to highlight specific Static Mesh Components inside an actor blueprint. And once highlighted there is information that would be displayed along side it. Now each subclass of my actor will have their own different parts to highlight and each part will have its own different information.
Right now I am able to see the PartInfoLog perfectly fine. The string and array of string show without a hitch. The problem lies when I introduce the UStaticMeshComponent pointer to the equation. It will show the PartInfoLog but will not show anything to do with UStaticMeshComponent. I even tried to making two separated arrays, one for UStaticMeshComponent and one for PartInfoLog but It won’t show in the details panel.
