Navigation
API > API/Editor > API/Editor/KismetCompiler
This is a loose collection of utilities used when 'compiling' a new UClass from a K2 graph.
| Name | FKismetCompilerUtilities |
| Type | class |
| Header File | /Engine/Source/Editor/KismetCompiler/Public/KismetCompilerMisc.h |
| Include Path | #include "KismetCompilerMisc.h" |
Syntax
class FKismetCompilerUtilities
Constants
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| ConsignToOblivionCounter | uint32 | Counter to ensure unique names in the transient package, to avoid GC collection issues with classes and their CDOs | KismetCompilerMisc.h |
Functions
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static bool CheckFunctionCompiledStatementsThreadSafety
(
const UEdGraphNode* InNode, |
Helper function used by CheckFunctionThreadSafety. Split out to allow the ability to examine individual compiled statement lists (e.g. for the ubergraph) | KismetCompilerMisc.h | |
static bool CheckFunctionThreadSafety
(
const FKismetFunctionContext& InContext, |
Check the passed-in function to verify its thread safety. This makes sure that it only uses/calls thread-safe functions/nodes. | KismetCompilerMisc.h | |
static FFieldVariant CheckPropertyNameOnScope
(
UStruct* Scope, |
Checks that the property name isn't taken in the given scope (used by CreatePropertyOnScope()) | KismetCompilerMisc.h | |
static void CompileDefaultProperties
(
UClass* Class |
KismetCompilerMisc.h | ||
static void ConsignToOblivion
(
UClass* OldClass, |
Rename a class and it's CDO into the transient package, and clear RF_Public on both of them. | KismetCompilerMisc.h | |
static void CreateObjectAssignmentStatement
(
FKismetFunctionContext& Context, |
Create Kismet assignment statement with proper object <-> interface cast | KismetCompilerMisc.h | |
static FProperty * CreatePrimitiveProperty
(
FFieldVariant PropertyScope, |
Helper function for creating property for primitive types. | KismetCompilerMisc.h | |
static FProperty * CreatePropertyOnScope
(
UStruct* Scope, |
Creates a property named PropertyName of type PropertyType in the Scope or returns NULL if the type is unknown, but does not link that property in | KismetCompilerMisc.h | |
static void DetectValuesReturnedByRef
(
const UFunction* Func, |
Generate an error for non-const output parameters | KismetCompilerMisc.h | |
static ConvertibleSignatureMatchResult DoSignaturesHaveConvertibleFloatTypes
(
const UFunction* SourceFunction, |
Similar to UFunction::IsSignatureCompatibleWith, but also checks if the function signatures are convertible. | KismetCompilerMisc.h | |
static FProperty * FindNamedPropertyInScope
(
UStruct* Scope, |
Finds a property by name, starting in the specified scope, returning NULL if it's not found. | KismetCompilerMisc.h | |
static const UFunction * FindOverriddenImplementableEvent
(
const FName& EventName, |
Return function, that overrides BlueprintImplementableEvent with given name in given class (super-classes are not considered) | KismetCompilerMisc.h | |
static FProperty * FindPropertyInScope
(
UStruct* Scope, |
Finds a property by name, starting in the specified scope; Validates property type and returns NULL along with emitting an error if there is a mismatch. | KismetCompilerMisc.h | |
static TArray< TSet< UEdGraphNode * > > FindUnsortedSeparateExecutionGroups
(
const TArray< UEdGraphNode* >& Nodes |
Find groups of nodes, that can be executed separately. | KismetCompilerMisc.h | |
static UEdGraphPin * GenerateAssignmentNodes
(
FKismetCompilerContext& CompilerContext, |
Create 'set var by name' nodes and hook them up - used to set values when components are added or actor are created at run time. | KismetCompilerMisc.h | |
static TTuple< UEdGraphPin *, UEdGraphPin * > GenerateBroadcastFieldNotificationNode
(
FKismetCompilerContext& CompilerContext, |
Create node to broadcast a FieldNotification value changed | KismetCompilerMisc.h | |
static TTuple< UEdGraphPin *, UEdGraphPin * > GenerateFieldNotificationSetNode
(
FKismetCompilerContext& CompilerContext, |
Create node that replace regular setter and use the SetPropertyValueAndBroadcast. | KismetCompilerMisc.h | |
static bool IsIntermediateFunctionGraphTrivial
(
FName FunctionName, |
KismetCompilerMisc.h | ||
static bool IsMissingMemberPotentiallyLoading
(
const UBlueprint* SelfBlueprint, |
Intended to avoid errors that come from checking for external member (function, variable, etc.) dependencies. | KismetCompilerMisc.h | |
static bool IsPropertyUsesFieldNotificationSetValueAndBroadcast
(
const FProperty* Property |
KismetCompilerMisc.h | ||
static bool IsStatementReducible
(
EKismetCompiledStatementType StatementType |
KismetCompilerMisc.h | ||
static bool IsTypeCompatibleWithProperty
(
UEdGraphPin* SourcePin, |
Tests to see if a pin is schema compatible with a property. | KismetCompilerMisc.h | |
static void LinkAddedProperty
(
UStruct* Structure, |
KismetCompilerMisc.h | ||
static void RemoveObjectRedirectorIfPresent
(
UObject* Package, |
KismetCompilerMisc.h | ||
static void UpdateBlueprintSkeletonStubClassAfterFailedCompile
(
UBlueprint* Blueprint, |
KismetCompilerMisc.h | ||
static void UpdateDependentBlueprints
(
UBlueprint* BP |
Add this BP to any BPs that it in | KismetCompilerMisc.h | |
static void ValidateEnumProperties
(
const UObject* DefaultObject, |
Checks if enum variables from given object store proper indexes | KismetCompilerMisc.h | |
static void ValidateProperEndExecutionPath
(
FKismetFunctionContext& Context |
KismetCompilerMisc.h | ||
static bool ValidateSelfCompatibility
(
const UEdGraphPin* Pin, |
Checks if the specified pin can default to self | KismetCompilerMisc.h |