ClassDB
Registry of native classes, inheritance and registered API.
ClassDB describes native classes in the current build and their bound members. Existence, exposure, enabled state and creation are different checks. This is neither the Entity instance tree nor a registry of arbitrary CLR classes.
Declarations checked against C# SDK 1.0.0. Expand a name to see declarations and documentation.
Properties1
SingletonProperty
public static ClassDBInstance Singleton { get; }Methods32
CanInstantiatebool
public static bool CanInstantiate(StringName @class);Checks whether ClassDB can instantiate the class in the current context. Abstract DocsNativeProbe is registered but returns false. This is not a factory or game-object readiness check.
| Name | Type | Default |
|---|---|---|
class | StringName | — |
classRegistered class name; use ClassExists first for potentially unknown names.
booltrue when instantiation is allowed; false for the checked abstract class. An unknown class also reports an error and returns false.
ClassCallStatic2 overloads
public static Variant ClassCallStatic(StringName @class, StringName method, params Variant[] args);Calls a static method on a class.
| Name | Type | Default |
|---|---|---|
class | StringName | — |
method | StringName | — |
args | Variant[] | — |
Variantpublic static Variant ClassCallStatic(StringName @class, StringName method, ReadOnlySpan<Variant> args);Calls a static method on a class.
| Name | Type | Default |
|---|---|---|
class | StringName | — |
method | StringName | — |
args | ReadOnlySpan<Variant> | — |
VariantClassExistsbool
public static bool ClassExists(StringName @class);Checks native class-name registration. Loading an extension can add a name and unloading can remove it. Existence does not imply instantiability.
| Name | Type | Default |
|---|---|---|
class | StringName | — |
classExact registered class name, such as DocsNativeProbe.
booltrue for a registered name. The check changed to false after DLL unloading.
ClassGetApiTypeClassDB.ApiType
public static ClassDB.ApiType ClassGetApiType(StringName @class);Returns the API type of the specified class.
| Name | Type | Default |
|---|---|---|
class | StringName | — |
ClassDB.ApiTypeClassGetEnumConstantsstring[]
public static string[] ClassGetEnumConstants(StringName @class, StringName @enum, bool noInheritance = false);Returns an array with all the keys in enum of class or its ancestry.
| Name | Type | Default |
|---|---|---|
class | StringName | — |
enum | StringName | — |
noInheritance | bool | false |
string[]ClassGetEnumListstring[]
public static string[] ClassGetEnumList(StringName @class, bool noInheritance = false);Returns an array with all the enums of class or its ancestry.
| Name | Type | Default |
|---|---|---|
class | StringName | — |
noInheritance | bool | false |
string[]ClassGetIntegerConstantlong
public static long ClassGetIntegerConstant(StringName @class, StringName name);Reads a registered class integer constant. Useful for checking values passed by an extension across the ABI; does not instantiate the class.
| Name | Type | Default |
|---|---|---|
class | StringName | — |
name | StringName | — |
classClass name in which to look up the constant.
nameExact constant name, such as ProductVersion.
longRegistered int64 value; 10000 and 22 were checked. A missing constant reports an error and returns 0, so zero does not prove existence.
ClassGetIntegerConstantEnumStringName
public static StringName ClassGetIntegerConstantEnum(StringName @class, StringName name, bool noInheritance = false);Returns which enum the integer constant name of class or its ancestry belongs to.
| Name | Type | Default |
|---|---|---|
class | StringName | — |
name | StringName | — |
noInheritance | bool | false |
StringNameClassGetIntegerConstantListstring[]
public static string[] ClassGetIntegerConstantList(StringName @class, bool noInheritance = false);Returns an array with the names all the integer constants of class or its ancestry.
| Name | Type | Default |
|---|---|---|
class | StringName | — |
noInheritance | bool | false |
string[]ClassGetMethodArgumentCountint
public static int ClassGetMethodArgumentCount(StringName @class, StringName method, bool noInheritance = false);Returns the declared argument count of a regular bound method, not only required arguments. Zero is also returned when the method is missing; check ClassHasMethod separately.
| Name | Type | Default |
|---|---|---|
class | StringName | — |
method | StringName | — |
noInheritance | bool | false |
classExact native registered class name.
methodNative regular bound method name, such as get_instance_id.
noInheritanceTrue for this class declarations only; false includes ancestors.
intDeclared argument count; 0 is ambiguous without an existence check.
ClassGetMethodListReckfell.Collections.Array<Reckfell.Collections.Dictionary>
public static Reckfell.Collections.Array<Reckfell.Collections.Dictionary> ClassGetMethodList(StringName @class, bool noInheritance = false);Returns registered class method metadata dictionaries. Includes ancestors by default; noInheritance=true restricts declarations to the current class. This is not CLR reflection or a complete set of special language operations.
| Name | Type | Default |
|---|---|---|
class | StringName | — |
noInheritance | bool | false |
classExact native registered class name.
noInheritanceTrue for this class declarations only; false includes ancestors.
Reckfell.Collections.Array<Reckfell.Collections.Dictionary>Collection of registered method metadata dictionaries.
ClassGetPropertyVariant
public static Variant ClassGetProperty(ReckfellObject @object, StringName property);Reads an instance value through native get_native, not CLR script properties. This is the instance value, not the class default; use Object.Get for the script path.
| Name | Type | Default |
|---|---|---|
object | ReckfellObject | — |
property | StringName | — |
objectLive object whose property value is read or changed.
propertyNative property name, such as position.
VariantCurrent property value on the supplied object.
ClassGetPropertyDefaultValueVariant
public static Variant ClassGetPropertyDefaultValue(StringName @class, StringName property);Returns the default value of property of class or its ancestor classes.
| Name | Type | Default |
|---|---|---|
class | StringName | — |
property | StringName | — |
VariantClassGetPropertyGetterStringName
public static StringName ClassGetPropertyGetter(StringName @class, StringName property);Returns the native getter name for a registered property, such as get_position. This is not the PascalCase C# wrapper property/method name.
| Name | Type | Default |
|---|---|---|
class | StringName | — |
property | StringName | — |
classExact native registered class name.
propertyNative property name, such as position.
StringNameNative property getter name.
ClassGetPropertyListReckfell.Collections.Array<Reckfell.Collections.Dictionary>
public static Reckfell.Collections.Array<Reckfell.Collections.Dictionary> ClassGetPropertyList(StringName @class, bool noInheritance = false);Returns registered class property descriptions, flags and hints. Use an object GetPropertyList for its dynamic/script-specific properties.
| Name | Type | Default |
|---|---|---|
class | StringName | — |
noInheritance | bool | false |
classExact native registered class name.
noInheritanceTrue for this class declarations only; false includes ancestors.
Reckfell.Collections.Array<Reckfell.Collections.Dictionary>Collection of registered property metadata dictionaries.
ClassGetPropertySetterStringName
public static StringName ClassGetPropertySetter(StringName @class, StringName property);Returns the native setter name for a registered property, such as set_position. Verify property availability and suitable arguments before dynamic invocation.
| Name | Type | Default |
|---|---|---|
class | StringName | — |
property | StringName | — |
classExact native registered class name.
propertyNative property name, such as position.
StringNameNative property setter name.
ClassGetSignalReckfell.Collections.Dictionary
public static Reckfell.Collections.Dictionary ClassGetSignal(StringName @class, StringName signal);Returns the signal data of class or its ancestry. The returned value is a Reckfell.Collections.Dictionary with the following keys: args, default_args, flags, id, name, return: (class_name, hint, hint_string, name, type, usage).
| Name | Type | Default |
|---|---|---|
class | StringName | — |
signal | StringName | — |
Reckfell.Collections.DictionaryClassGetSignalListReckfell.Collections.Array<Reckfell.Collections.Dictionary>
public static Reckfell.Collections.Array<Reckfell.Collections.Dictionary> ClassGetSignalList(StringName @class, bool noInheritance = false);Returns registered class signals and, by default, ancestor signals. A single instance user signal does not become a ClassDB declaration.
| Name | Type | Default |
|---|---|---|
class | StringName | — |
noInheritance | bool | false |
classExact native registered class name.
noInheritanceTrue for this class declarations only; false includes ancestors.
Reckfell.Collections.Array<Reckfell.Collections.Dictionary>Collection of registered signal metadata dictionaries.
ClassHasEnumbool
public static bool ClassHasEnum(StringName @class, StringName name, bool noInheritance = false);Returns whether class or its ancestry has an enum called name or not.
| Name | Type | Default |
|---|---|---|
class | StringName | — |
name | StringName | — |
noInheritance | bool | false |
boolClassHasIntegerConstantbool
public static bool ClassHasIntegerConstant(StringName @class, StringName name);Returns whether class or its ancestry has an integer constant called name or not.
| Name | Type | Default |
|---|---|---|
class | StringName | — |
name | StringName | — |
boolClassHasMethodbool
public static bool ClassHasMethod(StringName @class, StringName method, bool noInheritance = false);Tests a regular registered class method respecting noInheritance. Use the corresponding object API for scripted instances and special dynamic operations.
| Name | Type | Default |
|---|---|---|
class | StringName | — |
method | StringName | — |
noInheritance | bool | false |
classExact native registered class name.
methodNative regular bound method name, such as get_instance_id.
noInheritanceTrue for this class declarations only; false includes ancestors.
boolTrue when a regular method is found in the selected scope.
ClassHasSignalbool
public static bool ClassHasSignal(StringName @class, StringName signal);Tests a registered class signal including inheritance. Use that object HasSignal/HasUserSignal for a dynamic user signal on one instance.
| Name | Type | Default |
|---|---|---|
class | StringName | — |
signal | StringName | — |
classExact native registered class name.
signalRegistered signal name.
boolTrue when a registered signal is found.
ClassSetPropertyError
public static Error ClassSetProperty(ReckfellObject @object, StringName property, Variant value);Writes a specific object property through native set_native. A script property can return Error.Unavailable; use Object.Set for the script path. Does not change the class default.
| Name | Type | Default |
|---|---|---|
object | ReckfellObject | — |
property | StringName | — |
value | Variant | — |
objectLive object whose property value is read or changed.
propertyNative property name, such as position.
valueCompatible Variant value for the object setter.
ErrorError.Ok on successful assignment, otherwise an error code.
GetClassListstring[]
public static string[] GetClassList();Returns native class names from the current registry. The set depends on the build and loaded extensions; this is not a list of all CLR classes. Sort explicitly for your own display.
string[]Array of current registry native names.
GetInheritersFromClassstring[]
public static string[] GetInheritersFromClass(StringName @class);Returns direct and indirect native descendants, excluding the base itself. Filter by GetParentClass for one level; inheritance is distinct from Entity tree parenting.
| Name | Type | Default |
|---|---|---|
class | StringName | — |
classExact native registered class name.
string[]Direct and indirect descendant names, excluding the base.
GetParentClassStringName
public static StringName GetParentClass(StringName @class);Reads the direct base class in the type registry, not an instance's parent Entity or Owner.
| Name | Type | Default |
|---|---|---|
class | StringName | — |
classRegistered class name.
StringNameBase-class StringName; Entity was verified for DocsNativeProbe.
InstantiateVariant
public static Variant Instantiate(StringName @class);Creates a registered native class instance. Check ClassExists and CanInstantiate first; this does not attach a CLR script or instantiate a prefab. The caller is responsible for subsequent ownership.
| Name | Type | Default |
|---|---|---|
class | StringName | — |
classExact native registered class name.
VariantVariant containing the created object; failure does not provide a usable instance.
IsClassEnabledbool
public static bool IsClassEnabled(StringName @class);Checks whether a registered class is enabled. Does not test exposure, creator availability or script type. Use ClassExists first for an unknown name.
| Name | Type | Default |
|---|---|---|
class | StringName | — |
classExact native registered class name.
boolTrue for an enabled class.
IsClassEnumBitfieldbool
public static bool IsClassEnumBitfield(StringName @class, StringName @enum, bool noInheritance = false);Returns whether class (or its ancestor classes if no_inheritance is false) has an enum called enum that is a bitfield.
| Name | Type | Default |
|---|---|---|
class | StringName | — |
enum | StringName | — |
noInheritance | bool | false |
boolIsClassExposedbool
public static bool IsClassExposed(StringName @class);Tests native class exposure in the registry. An exposed abstract class may still be non-instantiable; query CanInstantiate separately.
| Name | Type | Default |
|---|---|---|
class | StringName | — |
classExact native registered class name.
boolTrue for a publicly exposed class.
IsParentClassbool
public static bool IsParentClass(StringName @class, StringName inherits);Tests whether inherits is a native base of class. The first argument is the candidate derived class. Identical names also return true in this implementation.
| Name | Type | Default |
|---|---|---|
class | StringName | — |
inherits | StringName | — |
classExact native registered class name.
inheritsCandidate base class, not a child Entity name in the tree.
boolTrue when class equals or derives from inherits.
ClassDB.ApiType
| Value | Description |
|---|---|
Core = 0 | Native Core class type. |
Editor = 1 | Native Editor class type. |
EditorExtension = 3 | ReckfellExtension Editor class type. |
Extension = 2 | ReckfellExtension class type. |
None = 4 | Unknown class type. |