Skip to content

Error Lexicon

This reference contains every error and warning code emitted by the Ignition engine. Use the keys below to identify and resolve issues in your class definitions and runtime logic.


Ignition Core & Environment

ALREADY_LOADED

Ignition has already loaded

Triggered if the library is initialized more than once in the same VM.

THREAD_CONTEXT_REQUIRED

%s must be called from a Luau thread context

Thrown when a function requiring a coroutine or thread (for yielding safety) is called from a non-yielding context.

CLASS_ENVIRONMENT_REQUIRED

%s must be called inside a class function

Thrown when attempting to call environment-specific logic (like super()) outside of a class method.

CLASS_INTERFACE_REQUIRED

%s must be called inside a class definition file

Thrown when using class descriptors like property or func in a standard script instead of a .class definition file.

RAISE_DEV_MODE

Class library is on Development Mode, set FORCE_PRODUCTION_MODE to true to disable

A reminder that production optimizations are currently disabled, ensuring standard safety checks and StackSpider monitoring are active.


Reactive State

CONSTANT_SET

Cannot set constant from %s to %s

An attempt was made to modify a Value atom that was locked as a constant during the class linking phase.

REACTIVE_EVAL_FAIL

An error happened while attempting to evaluate state reactivity: %s

The internal xpcall caught an error within a Property or Observe effect. The specific Lua error is appended to the message.

INST_WRAPPER_NO_DEST

Creating a Value wrapping an Instance without a destructor may lead to memory leaks.

Warning: A Roblox Instance has been wrapped in a Value atom without a provided cleanup method, risking "zombie" instances if the state is destroyed.

EXPOSE_CALLED_TWICE

ExposeProperty can only be called once (Value metamethods initialization)

Internal engine error: The reactivity-to-class-bridge was initialized more than once.


Registry & Definition

CLASS_EXISTS

Class '%s' already exists

An attempt was made to define a class with a name that is already registered in the Ignition Registry.

OUT_OF_SCOPE

Attempt to call Registry-related functions outside of Class scope (current caller: %s)

Registry logic was triggered from a script or context that is not recognized as a valid Ignition class scope.

ILLEGAL_REGISTRY_CALL

Attempt to illegally call Registry-related functions out of caller scope

A security violation where a caller tried to bypass standard Registry access checks.

WAIT_INTERFACE_TIMEOUT

Infinite yield for WaitForInterface whilst waiting for Class '%s'

The WaitForInterface utility exceeded its internal timeout while waiting for a specific class to be registered.

WRONG_FILE_EXT

Class interface '%s' must be defined in a '.%s' file (got '%s')

Validation failed because the class definition file does not match the engine's required file extension.

WRITE_ONLY_IMPL

'%s' implementation is write-only. Use the header for type info.

You attempted to read data from an implementation file; Ignition enforces that type info and headers are the primary source of truth.

CANNOT_FIND_IMPLEMENTATION

Cannot find implement %s as it is missing its definition

The class header points to a definition file that cannot be located by the file loader.

CONSTRUCTOR_EXISTS

Constructor for %s already exists

Multiple constructor calls were found within a single class definition.

INVALID_IMPORT_CALL

Invalid import call. Expected a constructor or non-empty type signature.

An import() call was made with missing or malformed arguments.

CANNOT_FIND_FROM

`Unable to find %s from the Class library

A from() call failed to locate the requested` member or library component.

CLASS_ABSTRACTED

!!! quote "Cannot instantiate abstracted class %s" An attempt was made to call new() on a class marked with the abstract modifier.

OBJECT_NOT_FOUND

Attempt to access environment of a non-Ignition object or deleted instance

Triggered when trying to fetch the internal Environment of an object that is either not an Ignition instance or has already been garbage collected.

FINAL_TO_ABSTRACT

Cannot abstract the finalized class %s

Definition Conflict: A class cannot be marked as abstract after it has already been finalized.

ABSTRACT_TO_FINAL

Cannot finalize the abstract class %s

Definition Conflict: An abstract class cannot be finalized, as it must remain open for inheritance.


Inheritance & Mixins

ALREADY_INHERITS

'%s' already inherits from '%s'

Redundant extends call detected for a relationship that is already established.

INHERIT_FINALIZED

Cannot inherit from finalized class '%s'

Inheritance violation: You cannot extend a class marked with the final modifier.

SELF_INHERITANCE

Class '%s' cannot inherit from itself

Logic error where a class attempted to use its own name in an extends call.

MIXIN_FINALIZED

Cannot mixin finalized class '%s' into '%s'

An attempt was made to use a final class as a component for a mixin.

OVERRIDE_NON_VIRTUAL

Cannot override non-virtual member '%s' in class '%s'

A child class tried to overwrite a member that was not explicitly marked with the Virtual flag in the superclass.

MISSING_SUPER

Class '%s' has no superclass defined. Did you forget to use 'extends'?

A super() call was found in a constructor or method, but no parent class exists in the inheritance chain.

MIXIN_COLLISION

Member '%s' in '%s' is defined in multiple components (Check component: %s)

Two or more mixins are providing a member with the same name, resulting in a naming collision.

FALLBACK_EXISTS

Fallback implementation for %s is already defined in %s.

Multiple fallback implementations were provided for the same overloaded method.


Access Control (Visibility)

PRIVATE_ACCESS

Attempt to access private property '%s'

Unauthorized read: The StackSpider blocked an external caller from reading a private member.

PROTECTED_ACCESS

Attempt to access protected property '%s'

Unauthorized read: The caller is neither a subclass nor a friend of the target object.

PRIVATE_WRITE

Attempt to write private property '%s' %s

Unauthorized write: An external caller attempted to modify a private member.

PROTECTED_WRITE

Attempt to write protected property '%s' %s

Unauthorized write: An external caller attempted to modify a protected member.

READONLY_SET

Cannot set readonly property '%s'

Access violation: Attempted to modify a property marked with the Readonly flag after the initialization phase.

REQUIRED_SET_NIL

Property '%s' cannot be optional

Integrity violation: A property not marked with the Optional flag was set to nil.

OPERATOR_VIOLATION

Operator %s %s access violation

The StackSpider blocked a metatable operator (e.g., __add) because the caller lacked sufficient visibility.


Runtime Dispatch

MISSING_PROP_INDEX

Attempt to index missing property '%s'

The requested property does not exist in any visibility ring of the object.

MISSING_PROP_WRITE

Attempt to write missing property '%s'

Ignition objects are sealed at runtime. You cannot add new properties to an instance after it has been created.

MISSING_STATIC_INDEX

%s is not a valid static member of %s

The requested key was not found in the Class Interface's static property ring.

MISSING_STATIC_WRITE

Cannot write static member %s of %s

Static members are immutable once the class definition is finalized.

NO_OVERLOAD_MATCH

No overload for method '%s' matches the provided arguments: %s got: %s

Dispatch failure: The arguments provided do not match any of the defined function signatures for this overloaded method.

INVALID_CALL_SIG

Invalid call signature: %s must be called with ':' on %s

The method was called using the . operator, causing the self argument to be missing.

UNIMPLEMENTED

Method '%s' is unimplemented in %s

An abstract or virtual method was called but no implementation was found in the inheritance chain.

DESTROYED_OP

Attempt to perform operation '%s' on a destroyed object

The object has already been cleaned up via delete() and its environment has been purged.

DELETING_STATE

%s is currently being deleted!

An operation was attempted while the object was in the middle of its destruction lifecycle.

FAILED_TYPE_CHECK

Property %s expected a %s, got %s

Type violation: The assigned value failed either the primitive typeof check or the CustomType.match validation.

DESTROYING_ERROR

An error occured while destroying an object via delete() %s

The object's destructor threw an error. The stack trace is provided for debugging.

THREAD_YIELDED

Function %s had yielded

The named function had yielded in an unyieldable context.


Friending

FRIEND_TARGET_INVALID

friend() subject must be a valid Class Object

The "subject" granting access must be a registered Ignition instance.

FRIEND_GUEST_INVALID

friend() guest must be a valid Class Object, function, or table; got %s

The "guest" receiving access must be an entity that Ignition can track (Object, closure, or library table).

FRIEND_METHOD_NOT_FOUND

Method '%s' not found in guest object

When performing specific method friending, the provided name could not be resolved in the guest's visibility rings.