Marks a field for serialization and editor exposure. Required for fields that reference other objects, components, or assets. Primitive types (string, number, boolean) work without a type argument.
@serializable()speed: number = 1;@serializable()label: string = "Hello"; Copy
@serializable()speed: number = 1;@serializable()label: string = "Hello";
@serializable(Object3D)target: Object3D | null = null;@serializable(Renderer)myRenderer: Renderer | null = null; Copy
@serializable(Object3D)target: Object3D | null = null;@serializable(Renderer)myRenderer: Renderer | null = null;
@serializable([Object3D])waypoints: Object3D[] = []; Copy
@serializable([Object3D])waypoints: Object3D[] = [];
syncField for automatic network synchronization
https://engine.needle.tools/docs/reference/typescript-decorators.html#serializable
Optional
The constructor type for complex objects. Omit for primitives.
Marks a field for serialization and editor exposure. Required for fields that reference
other objects, components, or assets. Primitive types (string, number, boolean) work without a type argument.
Example: Primitive types (no type needed)
Example: Object references
Example: Arrays
See
syncField for automatic network synchronization
Link
https://engine.needle.tools/docs/reference/typescript-decorators.html#serializable