reckfellENGINE

ClassDB

Registry of native classes, inheritance and registered API.

On this page
class ClassDBReckfellSharp

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
# Singleton
C#
public static ClassDBInstance Singleton { get; }

Methods32

CanInstantiatebool
# CanInstantiate
C#
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.

Parameters
NameTypeDefault
classStringName—
class

Registered class name; use ClassExists first for potentially unknown names.

Returns bool

true when instantiation is allowed; false for the checked abstract class. An unknown class also reports an error and returns false.

ClassCallStatic2 overloads
# ClassCallStatic · 1/2
C#
public static Variant ClassCallStatic(StringName @class, StringName method, params Variant[] args);

Calls a static method on a class.

Parameters
NameTypeDefault
classStringName—
methodStringName—
argsVariant[]—
Returns Variant
# ClassCallStatic · 2/2
C#
public static Variant ClassCallStatic(StringName @class, StringName method, ReadOnlySpan<Variant> args);

Calls a static method on a class.

Parameters
NameTypeDefault
classStringName—
methodStringName—
argsReadOnlySpan<Variant>—
Returns Variant
ClassExistsbool
# ClassExists
C#
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.

Parameters
NameTypeDefault
classStringName—
class

Exact registered class name, such as DocsNativeProbe.

Returns bool

true for a registered name. The check changed to false after DLL unloading.

ClassGetApiTypeClassDB.ApiType
# ClassGetApiType
C#
public static ClassDB.ApiType ClassGetApiType(StringName @class);

Returns the API type of the specified class.

Parameters
NameTypeDefault
classStringName—
Returns ClassDB.ApiType
ClassGetEnumConstantsstring[]
# ClassGetEnumConstants
C#
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.

Parameters
NameTypeDefault
classStringName—
enumStringName—
noInheritanceboolfalse
Returns string[]
ClassGetEnumListstring[]
# ClassGetEnumList
C#
public static string[] ClassGetEnumList(StringName @class, bool noInheritance = false);

Returns an array with all the enums of class or its ancestry.

Parameters
NameTypeDefault
classStringName—
noInheritanceboolfalse
Returns string[]
ClassGetIntegerConstantlong
# ClassGetIntegerConstant
C#
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.

Parameters
NameTypeDefault
classStringName—
nameStringName—
class

Class name in which to look up the constant.

name

Exact constant name, such as ProductVersion.

Returns long

Registered int64 value; 10000 and 22 were checked. A missing constant reports an error and returns 0, so zero does not prove existence.

ClassGetIntegerConstantEnumStringName
# ClassGetIntegerConstantEnum
C#
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.

Parameters
NameTypeDefault
classStringName—
nameStringName—
noInheritanceboolfalse
Returns StringName
ClassGetIntegerConstantListstring[]
# ClassGetIntegerConstantList
C#
public static string[] ClassGetIntegerConstantList(StringName @class, bool noInheritance = false);

Returns an array with the names all the integer constants of class or its ancestry.

Parameters
NameTypeDefault
classStringName—
noInheritanceboolfalse
Returns string[]
ClassGetMethodArgumentCountint
# ClassGetMethodArgumentCount
C#
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.

Parameters
NameTypeDefault
classStringName—
methodStringName—
noInheritanceboolfalse
class

Exact native registered class name.

method

Native regular bound method name, such as get_instance_id.

noInheritance

True for this class declarations only; false includes ancestors.

Returns int

Declared argument count; 0 is ambiguous without an existence check.

ClassGetMethodListReckfell.Collections.Array<Reckfell.Collections.Dictionary>
# ClassGetMethodList
C#
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.

Parameters
NameTypeDefault
classStringName—
noInheritanceboolfalse
class

Exact native registered class name.

noInheritance

True for this class declarations only; false includes ancestors.

Returns Reckfell.Collections.Array<Reckfell.Collections.Dictionary>

Collection of registered method metadata dictionaries.

ClassGetPropertyVariant
# ClassGetProperty
C#
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.

Parameters
NameTypeDefault
objectReckfellObject—
propertyStringName—
object

Live object whose property value is read or changed.

property

Native property name, such as position.

Returns Variant

Current property value on the supplied object.

ClassGetPropertyDefaultValueVariant
# ClassGetPropertyDefaultValue
C#
public static Variant ClassGetPropertyDefaultValue(StringName @class, StringName property);

Returns the default value of property of class or its ancestor classes.

Parameters
NameTypeDefault
classStringName—
propertyStringName—
Returns Variant
ClassGetPropertyGetterStringName
# ClassGetPropertyGetter
C#
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.

Parameters
NameTypeDefault
classStringName—
propertyStringName—
class

Exact native registered class name.

property

Native property name, such as position.

Returns StringName

Native property getter name.

ClassGetPropertyListReckfell.Collections.Array<Reckfell.Collections.Dictionary>
# ClassGetPropertyList
C#
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.

Parameters
NameTypeDefault
classStringName—
noInheritanceboolfalse
class

Exact native registered class name.

noInheritance

True for this class declarations only; false includes ancestors.

Returns Reckfell.Collections.Array<Reckfell.Collections.Dictionary>

Collection of registered property metadata dictionaries.

ClassGetPropertySetterStringName
# ClassGetPropertySetter
C#
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.

Parameters
NameTypeDefault
classStringName—
propertyStringName—
class

Exact native registered class name.

property

Native property name, such as position.

Returns StringName

Native property setter name.

ClassGetSignalReckfell.Collections.Dictionary
# ClassGetSignal
C#
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).

Parameters
NameTypeDefault
classStringName—
signalStringName—
Returns Reckfell.Collections.Dictionary
ClassGetSignalListReckfell.Collections.Array<Reckfell.Collections.Dictionary>
# ClassGetSignalList
C#
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.

Parameters
NameTypeDefault
classStringName—
noInheritanceboolfalse
class

Exact native registered class name.

noInheritance

True for this class declarations only; false includes ancestors.

Returns Reckfell.Collections.Array<Reckfell.Collections.Dictionary>

Collection of registered signal metadata dictionaries.

ClassHasEnumbool
# ClassHasEnum
C#
public static bool ClassHasEnum(StringName @class, StringName name, bool noInheritance = false);

Returns whether class or its ancestry has an enum called name or not.

Parameters
NameTypeDefault
classStringName—
nameStringName—
noInheritanceboolfalse
Returns bool
ClassHasIntegerConstantbool
# ClassHasIntegerConstant
C#
public static bool ClassHasIntegerConstant(StringName @class, StringName name);

Returns whether class or its ancestry has an integer constant called name or not.

Parameters
NameTypeDefault
classStringName—
nameStringName—
Returns bool
ClassHasMethodbool
# ClassHasMethod
C#
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.

Parameters
NameTypeDefault
classStringName—
methodStringName—
noInheritanceboolfalse
class

Exact native registered class name.

method

Native regular bound method name, such as get_instance_id.

noInheritance

True for this class declarations only; false includes ancestors.

Returns bool

True when a regular method is found in the selected scope.

ClassHasSignalbool
# ClassHasSignal
C#
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.

Parameters
NameTypeDefault
classStringName—
signalStringName—
class

Exact native registered class name.

signal

Registered signal name.

Returns bool

True when a registered signal is found.

ClassSetPropertyError
# ClassSetProperty
C#
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.

Parameters
NameTypeDefault
objectReckfellObject—
propertyStringName—
valueVariant—
object

Live object whose property value is read or changed.

property

Native property name, such as position.

value

Compatible Variant value for the object setter.

Returns Error

Error.Ok on successful assignment, otherwise an error code.

GetClassListstring[]
# GetClassList
C#
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.

Returns string[]

Array of current registry native names.

GetInheritersFromClassstring[]
# GetInheritersFromClass
C#
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.

Parameters
NameTypeDefault
classStringName—
class

Exact native registered class name.

Returns string[]

Direct and indirect descendant names, excluding the base.

GetParentClassStringName
# GetParentClass
C#
public static StringName GetParentClass(StringName @class);

Reads the direct base class in the type registry, not an instance's parent Entity or Owner.

Parameters
NameTypeDefault
classStringName—
class

Registered class name.

Returns StringName

Base-class StringName; Entity was verified for DocsNativeProbe.

InstantiateVariant
# Instantiate
C#
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.

Parameters
NameTypeDefault
classStringName—
class

Exact native registered class name.

Returns Variant

Variant containing the created object; failure does not provide a usable instance.

IsClassEnabledbool
# IsClassEnabled
C#
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.

Parameters
NameTypeDefault
classStringName—
class

Exact native registered class name.

Returns bool

True for an enabled class.

IsClassEnumBitfieldbool
# IsClassEnumBitfield
C#
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.

Parameters
NameTypeDefault
classStringName—
enumStringName—
noInheritanceboolfalse
Returns bool
IsClassExposedbool
# IsClassExposed
C#
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.

Parameters
NameTypeDefault
classStringName—
class

Exact native registered class name.

Returns bool

True for a publicly exposed class.

IsParentClassbool
# IsParentClass
C#
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.

Parameters
NameTypeDefault
classStringName—
inheritsStringName—
class

Exact native registered class name.

inherits

Candidate base class, not a child Entity name in the tree.

Returns bool

True when class equals or derives from inherits.

ClassDB.ApiType

ValueDescription
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.

Reckfell Engine documentationBack to top ↑
QUICK LINKSGetting startedEntity hierarchyC# & .NET 10Scenes and prefabs
Reckfell guides and full API K
reckfellENGINE
RECKFELL ACCOUNT

Sign in

Sign in to your Reckfell account.

One account for the entire Reckfell platform.