With this code:
struct FSaveBranchStruct;
USTRUCT(BlueprintType)
struct SAVETEST_API FSaveBranchStruct
{
GENERATED_USTRUCT_BODY()
public:
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Abc")
FString text;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Abc")
TArray<FSaveBranchStruct*> moreTexts;
};
I get this: Error 1 error code: OtherCompilationError (5)
. When I delete UPROPERTY
from TArray
it compiles but then I’m unable to get it from Blueprints.
Back to your first idea I extended it a bit and created simple recursive function to save SaveBranch
. This way I don’t need to use Ar << SB.moreTexts[ObjIndex]
. But I’m unable to test it because when trying to load, code jumps from USaveBranch SaveBunch;
to E_CLOG(!ThreadContext.IsInConstructor, LogUObjectGlobals, Fatal, TEXT("FObjectInitializer::Get() can only be used inside of UObject-derived class constructor."));
.