> For the complete documentation index, see [llms.txt](https://docs.oserosuite.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.oserosuite.com/technical-notes/unreal-engine-notes/blueprints/add-function-to-promotable-operator-nodes.md).

# Add Function to Promotable Operator Nodes

<figure><img src="https://831795444-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDaZWGO8xkqnm1mVNUQP7%2Fuploads%2FfCtMA8Dmo5fAASdmXKOD%2FAddFunction.png?alt=media&amp;token=f11f86e3-29a7-4432-b13e-406d571551f0" alt=""><figcaption></figcaption></figure>

To add a function to these operator nodes, a function must have these things:

1. The function must be `static`.
2. The UFUNCTION must be `BlueprintPure`.
3. The UFUNCTION meta must contain `CompactNodeTitle = "{Node Title}"`.

```cpp
meta = (CompactNodeTitle = "==")
meta = (CompactNodeTitle = "!=")
```

4. The function name must start with one of the defined “OperatorNames” in `BlueprintTypePromotion.cpp`.

```cpp
namespace OperatorNames
{
	static const FName NoOp			= TEXT("NO_OP");
	static const FName Add			= TEXT("Add");
	static const FName Multiply		= TEXT("Multiply");
	static const FName Subtract		= TEXT("Subtract");
	static const FName Divide		= TEXT("Divide");
	static const FName Greater		= TEXT("Greater");
	static const FName GreaterEq		= TEXT("GreaterEqual");
	static const FName Less			= TEXT("Less");
	static const FName LessEq		= TEXT("LessEqual");
	static const FName NotEq		= TEXT("NotEqual");
	static const FName Equal		= TEXT("EqualEqual");
}
```

### Example <a href="#example" id="example"></a>

From “OS\_RRS\_RenderDataLibrary.h”:

```cpp
UFUNCTION(BlueprintPure, Category = "Osero Suite: Render Results Screen", meta = (DisplayName = "Equal (Render Job)", CompactNodeTitle = "==", Keywords = "== equal"))
	static bool EqualEqual_JobJob(FOS_RRS_JobData A, FOS_RRS_JobData B);
UFUNCTION(BlueprintPure, Category = "Osero Suite: Render Results Screen", meta = (DisplayName = "Not Equal (Render Job)", CompactNodeTitle = "!=", Keywords = "!= not equal"))
	static bool NotEqual_JobJob(FOS_RRS_JobData A, FOS_RRS_JobData B);
```

More examples can be found in "KismetMathLibrary.h".
