Hi, I’ve got an Actor Class which I want to edit in the Details Panel, it has an Array of another Struct which has data I also want to add/edit from there.
This all works fine, but the second Struct contains an Array of another Struct which can be in the thousands of items.
That Array is BlueprintReadWrite only and Hidden, It doesn’t show in the Details Panel as I want, but for some reason the UI is still enumerating all the items in that Array which is slowing the Editor down to a crawl.
I’m looking for a way to stop the UI (Details Panel) from looking at that Array at all.
Main Class
UCLASS()
class RDINST_PLUGIN_API ArdSpawnStuffActor : public ArdActor {
GENERATED_BODY()
public:
...
UPROPERTY(EditAnywhere,Category="1. Object Data")
TArray<FrdSpawnStuffData> spawnData={FrdSpawnStuffData()};
...
};
Struct referenced in the Classes Array
USTRUCT(BlueprintType)
struct FrdSpawnStuffData {
GENERATED_BODY()
public:
...
UPROPERTY(BlueprintReadWrite,meta=(HideInDetailPanel))
TArray<FrdBakedSpawnObjects> bakedData;
...
};
I’ve tried playing around with a “CustomizeDetails” hook and tried changed the visibility etc but nothing seems to help.
I can add the meta “MaxPropertyDepth=1” to the Actors Array to only display the list of items in the array without listing the properties in those items which keeps it fast - but I need to be able to edit the other data in those items.
One thing that would work, is if in the CustomizeDetails, I could change that “MaxPropertyDepth” meta to “2” - but I can’t find any way to dynamically change meta’s (probably not possible).
By any chance do you know of a way to stop the UI from parsing that hidden large Array?
Thanks.