Skip to content

Class: ComponentRegistry ​

Constructors ​

Constructor ​

ts
new ComponentRegistry(): ComponentRegistry;

Returns ​

ComponentRegistry

Methods ​

AddComponent() ​

ts
AddComponent<Component, Args>(
   entityId, 
   type, 
   ...args
): Component;

Type Parameters ​

Type Parameter
Component
Args extends unknown[]

Parameters ​

ParameterType
entityIdnumber
typeComponentClass<Component, Args>
...argsArgs

Returns ​

Component


Clear() ​

ts
Clear(): void;

Returns ​

void


GetAllDescriptors() ​

ts
static GetAllDescriptors(): readonly ComponentDescriptor[];

Returns ​

readonly ComponentDescriptor[]


GetComponent() ​

ts
GetComponent<Component>(entityId, type): Component;

Type Parameters ​

Type Parameter
Component

Parameters ​

ParameterType
entityIdnumber
typeComponentClass<Component>

Returns ​

Component


GetDescriptor() ​

ts
static GetDescriptor<T>(ctor): ComponentDescriptor;

Type Parameters ​

Type Parameter
T

Parameters ​

ParameterType
ctorComponentClass<T>

Returns ​

ComponentDescriptor


GetDescriptorByName() ​

ts
static GetDescriptorByName(name): 
  | ComponentDescriptor
  | undefined;

Parameters ​

ParameterType
namestring

Returns ​

| ComponentDescriptor | undefined


GetOrCreateSparseSet() ​

ts
GetOrCreateSparseSet<Component>(type): SparseSet<Component>;

Type Parameters ​

Type Parameter
Component

Parameters ​

ParameterType
typeComponentClass<Component>

Returns ​

SparseSet<Component>


GetOrCreateSparseSetByTypeId() ​

ts
GetOrCreateSparseSetByTypeId(typeId): SparseSet<any>;

Parameters ​

ParameterType
typeIdnumber

Returns ​

SparseSet<any>


GetSparseSet() ​

ts
GetSparseSet<Component>(type): 
  | SparseSet<Component>
  | undefined;

Type Parameters ​

Type Parameter
Component

Parameters ​

ParameterType
typeComponentClass<Component>

Returns ​

| SparseSet<Component> | undefined


GetSparseSetByTypeId() ​

ts
GetSparseSetByTypeId(typeId): 
  | SparseSet<any>
  | undefined;

Parameters ​

ParameterType
typeIdnumber

Returns ​

| SparseSet<any> | undefined


GetTypeId() ​

ts
static GetTypeId<T>(ctor): number;

Type Parameters ​

Type Parameter
T

Parameters ​

ParameterType
ctorComponentClass<T>

Returns ​

number


GetView() ​

ts
GetView<Components>(...types): View<Components>;

Type Parameters ​

Type Parameter
Components extends readonly ComponentClass<any, any[]>[]

Parameters ​

ParameterType
...typesComponents

Returns ​

View<Components>


HasComponent() ​

ts
HasComponent<Component>(entityId, type): boolean;

Type Parameters ​

Type Parameter
Component

Parameters ​

ParameterType
entityIdnumber
typeComponentClass<Component>

Returns ​

boolean


OnComponentAdded() ​

ts
OnComponentAdded(listener): () => void;

Parameters ​

ParameterType
listenerComponentEventListener

Returns ​

() => void


OnComponentRemoved() ​

ts
OnComponentRemoved(listener): () => void;

Parameters ​

ParameterType
listenerComponentEventListener

Returns ​

() => void


Register() ​

ts
static Register<T>(ctor, schema): ComponentDescriptor;

Type Parameters ​

Type Parameter
T

Parameters ​

ParameterType
ctorComponentClass<T>
schemaComponentSchema

Returns ​

ComponentDescriptor


RegisterScript() ​

ts
static RegisterScript<T>(ctor, schema): ComponentDescriptor;

Fields come from @property decorators on the class plus schema.fields; an explicit entry wins over a decorated one of the same name.

Type Parameters ​

Type Parameter
T

Parameters ​

ParameterType
ctorComponentClass<T>
schemaScriptSchema

Returns ​

ComponentDescriptor


RemoveComponent() ​

ts
RemoveComponent<Component>(entityId, type): void;

Type Parameters ​

Type Parameter
Component

Parameters ​

ParameterType
entityIdnumber
typeComponentClass<Component>

Returns ​

void


RemoveEntity() ​

ts
RemoveEntity(entityId): void;

Scripts first: their OnDisable / OnDestroy can still read the entity's other components (Unity) — removal otherwise goes by type id, which puts Name / Transform ahead of scripts.

Parameters ​

ParameterType
entityIdnumber

Returns ​

void


RemoveScripts() ​

ts
RemoveScripts(entityId): void;

Just the script components — Scene.DestroyEntity runs them before taking the hierarchy apart.

Parameters ​

ParameterType
entityIdnumber

Returns ​

void


TryGetComponent() ​

ts
TryGetComponent<Component>(entityId, type): Component | undefined;

Type Parameters ​

Type Parameter
Component

Parameters ​

ParameterType
entityIdnumber
typeComponentClass<Component>

Returns ​

Component | undefined

© 2026 PlayAdGentic