Navigation
Unreal Engine C++ API Reference > Editor > KismetCompiler
Inheritance Hierarchy
- FGraphCompilerContext
- FKismetCompilerContext
- FRenderGridBlueprintCompilerContext
- FRigVMBlueprintCompilerContext
- FControlRigBlueprintCompilerContext
- FWidgetBlueprintCompilerContext
References
Module | KismetCompiler |
Header | /Engine/Source/Editor/KismetCompiler/Public/KismetCompiler.h |
Include | #include "KismetCompiler.h" |
Syntax
class FKismetCompilerContext : public FGraphCompilerContext
Variables
Type | Name | Description | |
---|---|---|---|
![]() |
int32 | AverageNodeHeight | |
![]() |
int32 | AverageNodeWidth | Average node size for nodes with no size. |
![]() |
bool | bAssignDelegateSignatureFunction | Flag to trigger FMulticastDelegateProperty::SignatureFunction resolution in CreateClassVariablesFromBlueprint: |
![]() |
int32: 1 | bIsFullCompile | |
![]() |
UBlueprint * | Blueprint | |
![]() |
TMap< UEdGraphNode *, UEdGraphNode * > | CallsIntoUbergraph | |
![]() |
FNetNameMapping | ClassScopeNetNameMap | Map from a name to the number of times it's been 'created' (identical nodes create the same variable names, so they need something appended) |
![]() |
FKismetCompilerOptions | CompileOptions | This struct holds the various compilation options, such as which passes to perform, whether to save intermediate results, etc. |
![]() |
UEdGraph * | ConsolidatedEventGraph | The ubergraph; valid from roughly the start of CreateAndProcessEventGraph. |
![]() |
TMap< UK2Node_CreateDelegate *, FDelegateInfo > | ConvertibleDelegates | |
![]() |
TSet< FString > | CreatedFunctionNames | Names of functions created. |
![]() |
TMap< FName, FString > | DefaultPropertyValueMap | Map from UProperties to default object values, to be fixed up after compilation is complete. |
![]() |
TIndirectArray< FKismetFunctionContext > | FunctionList | List of functions currently allocated. |
![]() |
FOnFunctionListCompiled | FunctionListCompiledEvent | Event that is broadcast immediately after the function list for this context has been compiled. |
![]() |
TArray< UEdGraph * > | GeneratedFunctionGraphs | Set of function graphs generated for the class layout at compile time |
![]() |
int32 | HorizontalNodePadding | |
![]() |
int32 | HorizontalSectionPadding | Padding. |
![]() |
UScriptStruct * | LinearColorStruct | |
![]() |
TMap< UEdGraphNode *, UEdGraphNode * > | MacroGeneratedNodes | Map that can be used to find the macro node that spawned a provided node, if any. |
![]() |
int32 | MacroRowMaxHeight | Maximum height encountered in this row; used to position the next row appropriately. |
![]() |
int32 | MacroSpawnX | Used to space expanded macro nodes when saving intermediate results. |
![]() |
int32 | MacroSpawnY | |
![]() |
int32 | MaximumSpawnX | |
![]() |
int32 | MinimumSpawnX | Maximum bounds of the spawning area. |
![]() |
UBlueprintGeneratedClass * | NewClass | |
![]() |
TMap< TSubclassOf< class UEdGraphNode >, FNodeHandlingFunctor * > | NodeHandlers | Map from node class to a handler functor. |
![]() |
UObject * | OldCDO | Data that persists across CompileClassLayout/CompileFunctions calls: |
![]() |
UBlueprintGeneratedClass * | OldClass | |
![]() |
int32 | OldGenLinkerIdx | |
![]() |
FLinkerLoad * | OldLinker | |
![]() |
TMap< FName, FProperty * > | RepNotifyFunctionMap | Map from UProperties to their RepNotify graph. |
![]() |
UScriptStruct * | RotatorStruct | |
![]() |
UEdGraphSchema_K2 * | Schema | Schema for the graph being compiled. |
![]() |
TMap< UEdGraphNode *, UK2Node_Event * > | SourceNodeToExpansionEvent | Source pin to latent/delegate entry point. |
![]() |
TMap< UEdGraphPin *, UK2Node_Event * > | SourcePinToExpansionEvent | |
![]() |
UBlueprintGeneratedClass * | TargetClass | |
![]() |
TMap< class UTimelineTemplate *, class FProperty * > | TimelineToMemberVariableMap | Map of properties created for timelines; to aid in debug data generation. |
![]() |
UScriptStruct * | TransformStruct | |
![]() |
FKismetFunctionContext * | UbergraphContext | The ubergraph context; valid from the end of CreateAndProcessEventGraph. |
![]() |
UScriptStruct * | VectorStruct | |
![]() |
int32 | VerticalSectionPadding |
Constructors
Type | Name | Description | |
---|---|---|---|
![]() |
FKismetCompilerContext
(
UBlueprint* SourceSketch, |
Destructors
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
Functions
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
void | AddInterfacesFromBlueprint
(
UClass* Class |
Handles adding the implemented interface information to the class |
![]() |
void | AdvanceMacroPlacement
(
int32 Width, |
Advances the macro position tracking. |
![]() |
void | AutoAssignNodePosition
(
UEdGraphNode* Node |
|
![]() |
void | Build the dynamic bindings objects used to tie events to delegates at runtime | |
![]() |
void | CheckConnectionResponse
(
const FPinConnectionResponse& Response, |
Checks a connection response, and errors if it didn't succeed (not public, users should be using MovePinLinksToIntermediate/CopyPinLinksToIntermediate instead of wrapping their own with this). |
![]() ![]() |
void | CleanAndSanitizeClass
(
UBlueprintGeneratedClass* ClassToClean, |
Removes the properties and functions from a class, so that new ones can be created in its place |
![]() |
void | Compile () |
Compile a blueprint into a class and a set of functions |
![]() |
void | CompileClassLayout
(
EInternalCompilerFlags InternalFlags |
Compile the class layout of the blueprint |
![]() ![]() |
void | CompileFunction
(
FKismetFunctionContext& Context |
Second phase of compiling a function graph |
![]() |
void | CompileFunctions
(
EInternalCompilerFlags InternalFlags |
Compile the functions of the blueprint - must be done after compiling the class layout: |
![]() |
FPinConnectionResponse | CopyPinLinksToIntermediate
(
UEdGraphPin& SourcePin, |
Copies pin links over from the source-pin to the specified intermediate, and validates the result (additionally logs a redirect from the intermediate-pin back to the source so we can back trace for debugging, etc.) |
![]() ![]() |
void | CopyTermDefaultsToDefaultObject
(
UObject* DefaultObject |
Copies default values cached for the terms in the DefaultPropertyValueMap to the final CDO |
![]() |
void | Merges pages and creates function stubs, etc... | |
![]() ![]() |
void | Creates a class variable for each entry in the Blueprint NewVars array | |
![]() |
void | CreateCommentBlockAroundNodes
(
const TArray< UEdGraphNode* >& Nodes, |
|
![]() |
FKismetFunctionContext * | Creates a new function context and adds it to the function list to be processed. | |
![]() ![]() |
void | Creates a list of functions to compile | |
![]() |
void | CreateFunctionStubForEvent
(
UK2Node_Event* Event, |
Create a stub function graph for the event node, and have it invoke the correct point in the ubergraph |
![]() |
void | CreateLocalVariablesForFunction
(
FKismetFunctionContext& Context, |
Creates the properties on a function that store the local and event graph (if applicable) variables |
![]() |
void | CreateParametersForFunction
(
FKismetFunctionContext& Context, |
Create the properties on a function for input/output parameters |
![]() |
void | CreatePropertiesFromList
(
UStruct* Scope, |
Creates a property with flags including PropertyFlags in the Scope structure for each entry in the Terms array |
![]() ![]() |
UEdGraphSchema_K2 * | CreateSchema () |
|
![]() ![]() |
FProperty * | CreateUserDefinedLocalVariableForFunction
(
const FBPVariableDescription& Variable, |
Helper function for CreateUserDefinedLocalVariablesForFunction and compilation manager's FastGenerateSkeletonClass: |
![]() |
void | CreateUserDefinedLocalVariablesForFunction
(
FKismetFunctionContext& Context, |
Creates user defined local variables for function |
![]() |
FProperty * | CreateVariable
(
const FName Name, |
Creates a class variable |
![]() ![]() |
void | DetermineNodeExecLinks
(
UEdGraphNode* SourceNode, |
Discovers exec pin links for the sourcenode |
![]() ![]() |
void | EnsureProperGeneratedClass
(
UClass*& TargetClass |
Backwards Compatability: Ensures that the passed in TargetClass is of the proper type (e.g. BlueprintGeneratedClass, AnimBlueprintGeneratedClass), and NULLs the reference if it is not |
![]() |
void | ExpandTimelineNodes
(
UEdGraph* SourceGraph |
Expand timeline nodes into necessary nodes |
![]() |
void | ExpandTunnelsAndMacros
(
UEdGraph* SourceGraph |
Expands any macro instances and collapses any tunnels in the nodes of SourceGraph |
![]() |
void | ExpansionStep
(
UEdGraph* Graph, |
Expands out nodes that need it. |
![]() ![]() |
const UK2Node_FunctionEntry * | FindLocalEntryPoint
(
const UFunction* Function |
Scan FunctionList and return Entry point, for matching one |
![]() ![]() |
void | FinishCompilingClass
(
UClass* Class |
Handles final post-compilation setup, flags, creates cached values that would normally be set during deserialization, etc... |
![]() |
void | FinishCompilingFunction
(
FKismetFunctionContext& Context |
Handles final post-compilation setup, flags, creates cached values that would normally be set during deserialization, etc... |
![]() ![]() |
TSharedPtr< FKismetCompilerContext > | GetCompilerForBP
(
UBlueprint* BP, |
|
![]() |
FName | GetEventStubFunctionName
(
UK2Node_Event* SrcEventNode |
Picks the name to use for an autogenerated event stub |
![]() ![]() |
FString | GetGuid
(
const UEdGraphNode* Node |
|
![]() ![]() |
const UEdGraphSchema_K2 * | GetSchema () |
|
![]() ![]() |
FName | Gets the unique name for this context's ExecuteUbergraph function | |
![]() ![]() ![]() |
bool | IsNodePure
(
const UEdGraphNode* Node |
Determines if a node is pure |
![]() |
void | MapExpansionPathToTunnelInstance
(
const UEdGraphNode* InnerExpansionNode, |
Maps the nodes in an intermediate tunnel expansion path back to the owning tunnel instance node. |
![]() ![]() |
void | MergeUbergraphPagesIn
(
UEdGraph* Ubergraph |
Merges in any all ubergraph pages into the gathering ubergraph |
![]() |
FPinConnectionResponse | MovePinLinksToIntermediate
(
UEdGraphPin& SourcePin, |
Moves pin links over from the source-pin to the specified intermediate, and validates the result (additionally logs a redirect from the intermediate-pin back to the source so we can back trace for debugging, etc.) |
![]() |
FOnFunctionListCompiled & | Broadcasts a notification immediately after the function list for this context has been compiled. | |
![]() ![]() |
void | OnNewClassSet
(
UBlueprintGeneratedClass* ClassToUse |
|
![]() ![]() |
void | OnPostCDOCompiled
(
const UObject::FPostCDOCompiledContext& Context |
|
![]() |
void | PostCDOCompiled
(
const UObject::FPostCDOCompiledContext& Context |
Called after the CDO has been generated, allows assignment of cached/derived data: |
![]() ![]() |
void | PostCompile () |
|
![]() ![]() |
void | Gives derived classes a chance to emit debug data. | |
![]() ![]() |
void | PostcompileFunction
(
FKismetFunctionContext& Context |
Final phase of compiling a function graph; called after all functions have had CompileFunction called |
![]() ![]() |
void | ||
![]() ![]() |
void | PostExpansionStep
(
const UEdGraph* Graph |
Gives derived classes a chance to process post-node expansion. |
![]() ![]() |
void | PreCompile () |
Gives derived classes a chance to hook up any custom logic. |
![]() ![]() |
void | PrecompileFunction
(
FKismetFunctionContext& Context, |
First phase of compiling a function graph |
![]() ![]() |
void | Used for performing custom patching during stage IX of the compilation during load. | |
![]() ![]() |
void | PrintVerboseInformation
(
UClass* Class |
|
![]() ![]() |
void | PrintVerboseInfoStruct
(
UStruct* Struct |
|
![]() |
void | ProcessIntermediateTunnelBoundary
(
UK2Node_Tunnel* TunnelInput, |
Processes an intermediate tunnel expansion boundary. |
![]() ![]() |
void | ProcessOneFunctionGraph
(
UEdGraph* SourceGraph, |
Merges macros/subgraphs into the graph and validates it, creating a function list entry if it's reasonable. |
![]() |
void | PropagateValuesToCDO
(
UObject* NewCDO, |
Non virtual wrapper to encapsulate functions that occur when the CDO is ready for values: |
![]() |
void | PruneIsolatedNodes
(
UEdGraph* InGraph, |
Prune isolated nodes given the specified graph |
![]() |
void | Searches the function graphs and ubergraph pages for any delegate proxies, which are then registered with the compiler context. | |
![]() ![]() |
void | RegisterCompilerForBP
(
UClass* BPClass, |
|
![]() ![]() |
void | SaveSubObjectsFromCleanAndSanitizeClass
(
FSubobjectCollection& SubObjectsToSave, |
Saves any SubObjects on the blueprint that need to survive the clean |
![]() ![]() |
void | SetCalculatedMetaDataAndFlags
(
UFunction* Function, |
Adds metadata for a particular compiled function based on its characteristics |
![]() ![]() |
void | Function works only if subclass of AActor or UActorComponent. | |
![]() ![]() |
void | SetDefaultInputValueMetaData
(
UFunction* Function, |
Reflects each pin's user set, default value into the function's metadata (so it can be queried for later by CallFunction nodes, etc.) |
![]() |
void | SetNewClass
(
UBlueprintGeneratedClass* ClassToUse |
Function used to assign the new class that will be used by the compiler |
![]() |
void | SetPropertyDefaultValue
(
const FProperty* PropertyToSet, |
Adds a default value entry into the DefaultPropertyValueMap for the property specified |
![]() |
NodeType * | SpawnIntermediateEventNode
(
UEdGraphNode* SourceNode, |
Spawns an intermediate event node associated with the source node (for error purposes) |
![]() |
UEdGraph * | SpawnIntermediateFunctionGraph
(
const FString& InDesiredFunctionName, |
Spawn an intermediate function graph for this compilation using the specified desired name (and optional signature), which may be modified to make it unique. |
![]() |
NodeType * | SpawnIntermediateNode
(
UEdGraphNode* SourceNode, |
Spawns an intermediate node associated with the source node (for error purposes) |
![]() |
UK2Node_TemporaryVariable * | SpawnInternalVariable
(
UEdGraphNode* SourceNode, |
|
![]() ![]() |
void | SpawnNewClass
(
const FString& NewClassName |
|
![]() ![]() |
void | TransformNodes
(
FKismetFunctionContext& Context |
Performs transformations on specific nodes that require it according to the schema |
![]() ![]() |
bool | ||
![]() |
void | Ensures that all class reference Properties are legal overrides of the parent class by checking the default value set on any PC_Class variable types. | |
![]() |
void | Ensures that all component class overrides are legal overrides of the parent class | |
![]() |
void | Ensures that all function graphs have valid names for compilation/replication | |
![]() ![]() |
bool | ValidateGeneratedClass
(
UBlueprintGeneratedClass* Class |
Validates the generated class |
![]() |
void | ValidateNoWildcardPinsInGraph
(
const UEdGraph* SourceGraph |
Checks if pin types are unresolved (e.g. still wildcards). |
![]() |
void | ValidateSelfPinsInGraph
(
FKismetFunctionContext& Context |
Checks if self pins are connected. |
![]() |
void | Ensures that all timelines have valid names for compilation/replication | |
![]() |
void | Ensures that all variables have valid names for compilation/replication | |
![]() |
void | VerifyValidOverrideEvent
(
const UEdGraph* Graph |
If a function in the graph cannot be placed as event make sure that it is not. |
![]() |
void | VerifyValidOverrideFunction
(
const UEdGraph* Graph |
If a function in the graph cannot be overridden make sure that it is not. |
Overridden from FGraphCompilerContext
Type | Name | Description | |
---|---|---|---|
![]() ![]() ![]() |
bool | CanIgnoreNode
(
const UEdGraphNode* Node |
Can this node be ignored for further processing? |
![]() ![]() ![]() |
bool | PinIsImportantForDependancies
(
const UEdGraphPin* Pin |
Does this pin potentially participate in data dependencies? |
![]() ![]() |
void | PruneIsolatedNodes
(
const TArray< UEdGraphNode* >& RootSet, |
Prunes any nodes that weren't visited from the graph, printing out a warning |
![]() ![]() ![]() |
bool | ShouldForceKeepNode
(
const UEdGraphNode* Node |
Should this node be kept even if it's not reached? |
![]() ![]() ![]() |
void | ValidateLink
(
const UEdGraphPin* PinA, |
Validates that the interconnection between two pins is schema compatible |
![]() ![]() ![]() |
void | ValidateNode
(
const UEdGraphNode* Node |
Validates that the node is schema compatible |
![]() ![]() ![]() |
void | ValidatePin
(
const UEdGraphPin* Pin |
Validate that the wiring for a single pin is schema compatible |
Classes
Type | Name | Description | |
---|---|---|---|
![]() |
FDelegateInfo | ||
![]() |
FNameParameterHelper | ||
![]() |
FOnFunctionListCompiled | ||
![]() |
FSubobjectCollection |
Typedefs
Name | Description |
---|---|
Super |
Constants
Name | Description |
---|---|
OnPostCompile | |
OnPreCompile |