It complains exactly about what you’re doing;
You have a static function in a blueprint asset… You create an object inside that static function and then you use the ovject inside your level.
The engine can’t save the level, you use in the map objects referenced from outside the game world.
Everything in the game world must Instantiate, this is not what you’re doing in that static function.
Hi zhangci,
If your final goal is create a new class to describe curves, you can use an UObject, UActorComponent or AActor and then create a new instance for the editor, c++ is object oriented, There is no reason to have an blueprint function calling statics which includes an “object”. Blueprint function are useful for math process or something repetitive, not for object descriptions.
Additionally you might watch the USplineComponent, maybe you are reinventing the wheel, first check all the possibilities