UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
Script.h File Reference

Go to the source code of this file.

Classes

class  FBlueprintContext
 
struct  FScriptInstrumentationSignal
 
class  FBlueprintCoreDelegates
 
struct  FEditorScriptExecutionGuard
 

Namespaces

namespace  verse
 
namespace  FunctionCallspace
 
namespace  EScriptInstrumentation
 

Macros

#define TOTAL_OVERHEAD_SCRIPT_STATS   (STATS && 0)
 
#define PER_FUNCTION_SCRIPT_STATS   ((STATS || ENABLE_STATNAMEDEVENTS) && 1)
 
#define SCRIPT_LIMIT_BYTECODE_TO_64KB   0
 
#define RESULT_PARAM   Z_Param__Result
 
#define RESULT_DECL   void*const RESULT_PARAM
 
#define FUNC_FuncInherit   ((EFunctionFlags)(FUNC_Exec | FUNC_Event | FUNC_BlueprintCallable | FUNC_BlueprintEvent | FUNC_BlueprintAuthorityOnly | FUNC_BlueprintCosmetic | FUNC_Const))
 
#define FUNC_FuncOverrideMatch   ((EFunctionFlags)(FUNC_Exec | FUNC_Final | FUNC_Static | FUNC_Public | FUNC_Protected | FUNC_Private))
 
#define FUNC_NetFuncFlags   ((EFunctionFlags)(FUNC_Net | FUNC_NetReliable | FUNC_NetServer | FUNC_NetClient | FUNC_NetMulticast))
 
#define FUNC_AccessSpecifiers   ((EFunctionFlags)(FUNC_Public | FUNC_Private | FUNC_Protected))
 
#define SCOPED_SCRIPT_NATIVE_TIMER(VarName)
 

Typedefs

typedef uint16 VariableSizeType
 
typedef uint32 CodeSkipSizeType
 

Enumerations

enum  { MAX_STRING_CONST_SIZE = 1024 }
 
enum  { MAX_SIMPLE_RETURN_VALUE_SIZE = 64 }
 
enum  EFunctionFlags : uint32 {
  FUNC_None = 0x00000000 , FUNC_Final = 0x00000001 , FUNC_RequiredAPI = 0x00000002 , FUNC_BlueprintAuthorityOnly = 0x00000004 ,
  FUNC_BlueprintCosmetic = 0x00000008 , FUNC_Net = 0x00000040 , FUNC_NetReliable = 0x00000080 , FUNC_NetRequest = 0x00000100 ,
  FUNC_Exec = 0x00000200 , FUNC_Native = 0x00000400 , FUNC_Event = 0x00000800 , FUNC_NetResponse = 0x00001000 ,
  FUNC_Static = 0x00002000 , FUNC_NetMulticast = 0x00004000 , FUNC_UbergraphFunction = 0x00008000 , FUNC_MulticastDelegate = 0x00010000 ,
  FUNC_Public = 0x00020000 , FUNC_Private = 0x00040000 , FUNC_Protected = 0x00080000 , FUNC_Delegate = 0x00100000 ,
  FUNC_NetServer = 0x00200000 , FUNC_HasOutParms = 0x00400000 , FUNC_HasDefaults = 0x00800000 , FUNC_NetClient = 0x01000000 ,
  FUNC_DLLImport = 0x02000000 , FUNC_BlueprintCallable = 0x04000000 , FUNC_BlueprintEvent = 0x08000000 , FUNC_BlueprintPure = 0x10000000 ,
  FUNC_EditorOnly = 0x20000000 , FUNC_Const = 0x40000000 , FUNC_NetValidate = 0x80000000 , FUNC_AllFlags = 0xFFFFFFFF
}
 
enum  EExprToken : uint8 {
  EX_LocalVariable = 0x00 , EX_InstanceVariable = 0x01 , EX_DefaultVariable = 0x02 , EX_Return = 0x04 ,
  EX_Jump = 0x06 , EX_JumpIfNot = 0x07 , EX_Assert = 0x09 , EX_Nothing = 0x0B ,
  EX_NothingInt32 = 0x0C , EX_Let = 0x0F , EX_BitFieldConst = 0x11 , EX_ClassContext = 0x12 ,
  EX_MetaCast = 0x13 , EX_LetBool = 0x14 , EX_EndParmValue = 0x15 , EX_EndFunctionParms = 0x16 ,
  EX_Self = 0x17 , EX_Skip = 0x18 , EX_Context = 0x19 , EX_Context_FailSilent = 0x1A ,
  EX_VirtualFunction = 0x1B , EX_FinalFunction = 0x1C , EX_IntConst = 0x1D , EX_FloatConst = 0x1E ,
  EX_StringConst = 0x1F , EX_ObjectConst = 0x20 , EX_NameConst = 0x21 , EX_RotationConst = 0x22 ,
  EX_VectorConst = 0x23 , EX_ByteConst = 0x24 , EX_IntZero = 0x25 , EX_IntOne = 0x26 ,
  EX_True = 0x27 , EX_False = 0x28 , EX_TextConst = 0x29 , EX_NoObject = 0x2A ,
  EX_TransformConst = 0x2B , EX_IntConstByte = 0x2C , EX_NoInterface = 0x2D , EX_DynamicCast = 0x2E ,
  EX_StructConst = 0x2F , EX_EndStructConst = 0x30 , EX_SetArray = 0x31 , EX_EndArray = 0x32 ,
  EX_PropertyConst = 0x33 , EX_UnicodeStringConst = 0x34 , EX_Int64Const = 0x35 , EX_UInt64Const = 0x36 ,
  EX_DoubleConst = 0x37 , EX_Cast = 0x38 , EX_SetSet = 0x39 , EX_EndSet = 0x3A ,
  EX_SetMap = 0x3B , EX_EndMap = 0x3C , EX_SetConst = 0x3D , EX_EndSetConst = 0x3E ,
  EX_MapConst = 0x3F , EX_EndMapConst = 0x40 , EX_Vector3fConst = 0x41 , EX_StructMemberContext = 0x42 ,
  EX_LetMulticastDelegate = 0x43 , EX_LetDelegate = 0x44 , EX_LocalVirtualFunction = 0x45 , EX_LocalFinalFunction = 0x46 ,
  EX_LocalOutVariable = 0x48 , EX_DeprecatedOp4A = 0x4A , EX_InstanceDelegate = 0x4B , EX_PushExecutionFlow = 0x4C ,
  EX_PopExecutionFlow = 0x4D , EX_ComputedJump = 0x4E , EX_PopExecutionFlowIfNot = 0x4F , EX_Breakpoint = 0x50 ,
  EX_InterfaceContext = 0x51 , EX_ObjToInterfaceCast = 0x52 , EX_EndOfScript = 0x53 , EX_CrossInterfaceCast = 0x54 ,
  EX_InterfaceToObjCast = 0x55 , EX_WireTracepoint = 0x5A , EX_SkipOffsetConst = 0x5B , EX_AddMulticastDelegate = 0x5C ,
  EX_ClearMulticastDelegate = 0x5D , EX_Tracepoint = 0x5E , EX_LetObj = 0x5F , EX_LetWeakObjPtr = 0x60 ,
  EX_BindDelegate = 0x61 , EX_RemoveMulticastDelegate = 0x62 , EX_CallMulticastDelegate = 0x63 , EX_LetValueOnPersistentFrame = 0x64 ,
  EX_ArrayConst = 0x65 , EX_EndArrayConst = 0x66 , EX_SoftObjectConst = 0x67 , EX_CallMath = 0x68 ,
  EX_SwitchValue = 0x69 , EX_InstrumentationEvent = 0x6A , EX_ArrayGetByRef = 0x6B , EX_ClassSparseDataVariable = 0x6C ,
  EX_FieldPathConst = 0x6D , EX_AutoRtfmTransact = 0x70 , EX_AutoRtfmStopTransact = 0x71 , EX_AutoRtfmAbortIfNot = 0x72 ,
  EX_Max = 0xFF
}
 
enum  EAutoRtfmStopTransactMode : uint8 { GracefulExit , AbortingExit , AbortingExitAndAbortParent }
 
enum  ECastToken : uint8 {
  CST_ObjectToInterface = 0x00 , CST_ObjectToBool = 0x01 , CST_InterfaceToBool = 0x02 , CST_DoubleToFloat = 0x03 ,
  CST_FloatToDouble = 0x04 , CST_Max = 0xFF
}
 
enum class  EBlueprintTextLiteralType : uint8 {
  Empty , LocalizedText , InvariantText , LiteralString ,
  StringTableEntry
}
 
enum  EScriptInstrumentation::Type {
  EScriptInstrumentation::Class = 0 , EScriptInstrumentation::ClassScope , EScriptInstrumentation::Instance , EScriptInstrumentation::Event ,
  EScriptInstrumentation::InlineEvent , EScriptInstrumentation::ResumeEvent , EScriptInstrumentation::PureNodeEntry , EScriptInstrumentation::NodeDebugSite ,
  EScriptInstrumentation::NodeEntry , EScriptInstrumentation::NodeExit , EScriptInstrumentation::PushState , EScriptInstrumentation::RestoreState ,
  EScriptInstrumentation::ResetState , EScriptInstrumentation::SuspendState , EScriptInstrumentation::PopState , EScriptInstrumentation::TunnelEndOfThread ,
  EScriptInstrumentation::Stop
}
 

Functions

 DECLARE_STATS_GROUP (TEXT("Scripting"), STATGROUP_Script, STATCAT_Advanced)
 
UE_FORCEINLINE_HINT FArchiveoperator<< (FArchive &Ar, EFunctionFlags &Flags)
 
COREUOBJECT_API bool IsValidCPPIdentifierChar (TCHAR Char)
 
COREUOBJECT_API FString ToValidCPPIdentifierChars (TCHAR Char)
 
COREUOBJECT_API FString UnicodeToCPPIdentifier (const FString &InName, bool bDeprecated, const TCHAR *Prefix)
 

Macro Definition Documentation

◆ FUNC_AccessSpecifiers

#define FUNC_AccessSpecifiers   ((EFunctionFlags)(FUNC_Public | FUNC_Private | FUNC_Protected))

◆ FUNC_FuncInherit

◆ FUNC_FuncOverrideMatch

◆ FUNC_NetFuncFlags

◆ PER_FUNCTION_SCRIPT_STATS

#define PER_FUNCTION_SCRIPT_STATS   ((STATS || ENABLE_STATNAMEDEVENTS) && 1)

◆ RESULT_DECL

#define RESULT_DECL   void*const RESULT_PARAM

◆ RESULT_PARAM

#define RESULT_PARAM   Z_Param__Result

◆ SCOPED_SCRIPT_NATIVE_TIMER

#define SCOPED_SCRIPT_NATIVE_TIMER (   VarName)

◆ SCRIPT_LIMIT_BYTECODE_TO_64KB

#define SCRIPT_LIMIT_BYTECODE_TO_64KB   0

a typedef for the number of bytes to skip-over when certain expressions are evaluated by the VM (e.g. context expressions that resolve to NULL, etc.) typedef'd because this type must be synchronized between the blueprint compiler and the VM

◆ TOTAL_OVERHEAD_SCRIPT_STATS

#define TOTAL_OVERHEAD_SCRIPT_STATS   (STATS && 0)

Typedef Documentation

◆ CodeSkipSizeType

◆ VariableSizeType

a typedef for the size (in bytes) of a property; typedef'd because this value must be synchronized between the blueprint compiler and the VM

Enumeration Type Documentation

◆ anonymous enum

Enumerator
MAX_STRING_CONST_SIZE 

◆ anonymous enum

this is the size of the buffer used by the VM for unused simple (not constructed) return values.

Enumerator
MAX_SIMPLE_RETURN_VALUE_SIZE 

◆ EAutoRtfmStopTransactMode

Enumerator
GracefulExit 
AbortingExit 
AbortingExitAndAbortParent 

◆ EBlueprintTextLiteralType

Enumerator
Empty 
LocalizedText 

Text is localized. The bytecode will contain three strings - source, key, and namespace - and should be loaded via FInternationalization

InvariantText 

Text is culture invariant. The bytecode will contain one string, and you should use FText::AsCultureInvariant to initialize the FText instance.

LiteralString 

Text is a literal FString. The bytecode will contain one string, and you should use FText::FromString to initialize the FText instance.

StringTableEntry 

Text is from a string table. The bytecode will contain an object pointer (not used) and two strings - the table ID, and key - and should be found via FText::FromStringTable

◆ ECastToken

Enumerator
CST_ObjectToInterface 
CST_ObjectToBool 
CST_InterfaceToBool 
CST_DoubleToFloat 
CST_FloatToDouble 
CST_Max 

◆ EExprToken

Enumerator
EX_LocalVariable 
EX_InstanceVariable 
EX_DefaultVariable 
EX_Return 
EX_Jump 
EX_JumpIfNot 
EX_Assert 
EX_Nothing 
EX_NothingInt32 
EX_Let 
EX_BitFieldConst 
EX_ClassContext 
EX_MetaCast 
EX_LetBool 
EX_EndParmValue 
EX_EndFunctionParms 
EX_Self 
EX_Skip 
EX_Context 
EX_Context_FailSilent 
EX_VirtualFunction 
EX_FinalFunction 
EX_IntConst 
EX_FloatConst 
EX_StringConst 
EX_ObjectConst 
EX_NameConst 
EX_RotationConst 
EX_VectorConst 
EX_ByteConst 
EX_IntZero 
EX_IntOne 
EX_True 
EX_False 
EX_TextConst 
EX_NoObject 
EX_TransformConst 
EX_IntConstByte 
EX_NoInterface 
EX_DynamicCast 
EX_StructConst 
EX_EndStructConst 
EX_SetArray 
EX_EndArray 
EX_PropertyConst 
EX_UnicodeStringConst 
EX_Int64Const 
EX_UInt64Const 
EX_DoubleConst 
EX_Cast 
EX_SetSet 
EX_EndSet 
EX_SetMap 
EX_EndMap 
EX_SetConst 
EX_EndSetConst 
EX_MapConst 
EX_EndMapConst 
EX_Vector3fConst 
EX_StructMemberContext 
EX_LetMulticastDelegate 
EX_LetDelegate 
EX_LocalVirtualFunction 
EX_LocalFinalFunction 
EX_LocalOutVariable 
EX_DeprecatedOp4A 
EX_InstanceDelegate 
EX_PushExecutionFlow 
EX_PopExecutionFlow 
EX_ComputedJump 
EX_PopExecutionFlowIfNot 
EX_Breakpoint 
EX_InterfaceContext 
EX_ObjToInterfaceCast 
EX_EndOfScript 
EX_CrossInterfaceCast 
EX_InterfaceToObjCast 
EX_WireTracepoint 
EX_SkipOffsetConst 
EX_AddMulticastDelegate 
EX_ClearMulticastDelegate 
EX_Tracepoint 
EX_LetObj 
EX_LetWeakObjPtr 
EX_BindDelegate 
EX_RemoveMulticastDelegate 
EX_CallMulticastDelegate 
EX_LetValueOnPersistentFrame 
EX_ArrayConst 
EX_EndArrayConst 
EX_SoftObjectConst 
EX_CallMath 
EX_SwitchValue 
EX_InstrumentationEvent 
EX_ArrayGetByRef 
EX_ClassSparseDataVariable 
EX_FieldPathConst 
EX_AutoRtfmTransact 
EX_AutoRtfmStopTransact 
EX_AutoRtfmAbortIfNot 
EX_Max 

◆ EFunctionFlags

Enumerator
FUNC_None 
FUNC_Final 
FUNC_RequiredAPI 
FUNC_BlueprintAuthorityOnly 
FUNC_BlueprintCosmetic 
FUNC_Net 
FUNC_NetReliable 
FUNC_NetRequest 
FUNC_Exec 
FUNC_Native 
FUNC_Event 
FUNC_NetResponse 
FUNC_Static 
FUNC_NetMulticast 
FUNC_UbergraphFunction 
FUNC_MulticastDelegate 
FUNC_Public 
FUNC_Private 
FUNC_Protected 
FUNC_Delegate 
FUNC_NetServer 
FUNC_HasOutParms 
FUNC_HasDefaults 
FUNC_NetClient 
FUNC_DLLImport 
FUNC_BlueprintCallable 
FUNC_BlueprintEvent 
FUNC_BlueprintPure 
FUNC_EditorOnly 
FUNC_Const 
FUNC_NetValidate 
FUNC_AllFlags 

Function Documentation

◆ DECLARE_STATS_GROUP()

DECLARE_STATS_GROUP ( TEXT("Scripting")  ,
STATGROUP_Script  ,
STATCAT_Advanced   
)

◆ IsValidCPPIdentifierChar()

COREUOBJECT_API bool IsValidCPPIdentifierChar ( TCHAR  Char)
Returns
True if the char can be used in an identifier in c++

◆ operator<<()

UE_FORCEINLINE_HINT FArchive & operator<< ( FArchive Ar,
EFunctionFlags Flags 
)

◆ ToValidCPPIdentifierChars()

COREUOBJECT_API FString ToValidCPPIdentifierChars ( TCHAR  Char)
Returns
A string that contains only Char if Char IsValidCPPIdentifierChar, otherwise returns a corresponding sequence of valid c++ chars

◆ UnicodeToCPPIdentifier()

COREUOBJECT_API FString UnicodeToCPPIdentifier ( const FString &  InName,
bool  bDeprecated,
const TCHAR Prefix 
)
Parameters
InNameThe string to transform
bDeprecatedwhether the name has been deprecated @Param Prefix The prefix to be prepended to the return value, accepts nullptr or empty string
Returns
A corresponding string that contains only valid c++ characters and is prefixed with Prefix