Dynamic input properties allocation in a blueprint node from c++

Hello brains,

I would like to create dynamically some properties to a blueprint node created in C++.

I mean that I want the ability to add peoperties to my node dynamically.

A good example of that is the Math expression Blueprint node. You enter the expression, it gets parsed and some inut parameters are created to the node.

How do I do that ?

I know I could just give a TArray as property and dynamicaly size it into Blueprint, but I do bnot find it very user friendly (I do not like the complications of assigning individual array elements).

Thanks and regards !.

I am looking at the source code for the code of this Math Expression node.

Am I on the right path looking at the clas named “class UK2Node_MathExpression” ?

Anyway, Iguess there would be a better node (les complicated) I could look at ?

I believe this post adressing more to people working at Epics.

I remember that there are some flow control nodes also that allow you to dynamicaly add event pins.

I would like to know more about GUI options we can add t our Blueprint nodes.

Tyhanks aot and sorry for the bother,

Hello community,

I am still looking for a solution at this problem.

Does anyone have a clue on how to implementthat ?

I would like to be able t change dynamicaly at least the labels of my inputs for a blueprint c++ node.

Maybe I did notexpress clearly what I try to do ?


I mean Icreate a C++ class extending AActor.

My class has a function define like it:

UFUNCTION(BlueprintCallable, Category = "Log")
void SetParamsNames(FString i1, FString i2, FString i3, FString i4, FString i5, FString i6, FString i7,  FString i8, FString i9, FString i10);

Instead of havingi1 to 10, I want to have a button on my blueprint node wihch allows me to add some additional input parameters ande able to settheir name (label).

Is there any example in the source code which could help me ?

The closest towhat I know would be the math expression, but don’tquite understand all this code related to k2Node.

I want to be able to dynamicalycreate some properties (after compiletime)

“IF” your problem is just on set more names, a function with an (TArray<FName/FString/FWhatever> somearray) as parameter and a MakeArray Node would do the trick without need to deal with custom “BPnodezing”.
Of course will not be so much elegant as an Epic done Node, but I think it will do the trick. :smiley:

“IF” you watch the MakeArray Node inputs and the situation you’ve described it’s not so much different.

Messed a bit with my Blueprint Library, but unfortunatelly (to my knowledge level) didn’t found any Metadata to functions (ObjectBase.h line 1045 and further) to expose the functionality to Add and remove Pins dinamically, sorry. I “guess” that you’ll not get the desired funcionality without inherit from the K2Nodes, to inherit the functions that does the EdGraphPin stuff. :frowning:

Anyway… Good Luck! :smiley:

Thanks Creasso, at least it allows me to realise I was not “too far” from where to search.

K2Node seems to me very complicated to play with. If I understand well, it is a node that expands to a subgraphwhen you click on it ? :frowning:

Right now, my class is inheriting from AActor.

I will probably let it the way it is untill I get deeper understading of the system.

I just wanted to do a clean and professional job; lets forget perfectionism for now :slight_smile: