Spline metadata is wrongly stored inside blueprint

Hi, I have a custom spline component that uses its own custom spline metadata:


Metadata is created as a default object for the spline component:


Metadata has its own array of data:


I created a blueprint version of this.
Now the problem: when I instantiate a blueprint version of this spline in my scene and start adding points, metadata are created in my instance and my blueprint both!

Spline points instead work correctly, they are created only in instances.

What is the problem?
I also tried making my metadata object EditInstanceOnly but it does not work…

Thank you!

I’ve not fixed it yet, but I strongly suspect it’s the issue described in this post : Instanced UObject on component not duplicated with component

Okay, I’ve fixed my instance of this problem - it’s not actually the bug described in the link, but that pointed me in the right direction.

You have to specify that your metadata object is Instanced :

	UPROPERTY(Instanced, EditInstanceOnly, Category = Points)
	USplineMetadata *SplineMetaData;

If you leave out the Instanced property, then the metadata Object is shared between multiple instances of the Spline Component.

1 Like

Hi there - just wondering if you ever solved this issue? I’ve just discovered the same problem myself.