Properties

SDK decorators defining and exposing Operator instance fields to the Aircada synchronization engine and Visual Studio panels.
Published: 7/10/2026

Property decorators in the Aircada SDK tell the system which class properties to expose to the visual Studio UI, enabling designer-led wiring, network replication, and real-time state synchronization.

While a generic @Property({ systemType }) exists, you MUST use the newer, more descriptive forms (e.g., @StringProperty, @FloatProperty) for clarity and better docs.studio integration.

The Golden Rule of Initialization#

Always initialize properties using standard TypeScript assignment (= value) rather than passing a default inside the decorator's configuration object.

Correct: @FloatProperty() speed = 1.5;

Incorrect: @FloatProperty({ default: 1.5 }) speed;

Media Item References#

Connect your Operator to external assets like images, videos, or 3D models stored in the Aircada Media Registry.

The @MediaItemProperty holds a unique ID pointing to an asset in the project's central media repository.

Direct Instruction: Any image, video, or 3D model referenced within an Operator or System MUST use this decorator. This allows the Aircada backend to perform complex asset optimization, bundling, and secure delivery.

Instead of hardcoding URLs or raw string IDs, always reference items from the auto-generated MediaRegistry to ensure your logic remains portable and performant.

Scene Object References#

Establish relationships between your Operator and other 3D entities within the scene.

The @SceneObjectProperty is used when an Operator needs to interact with or monitor another 3D object.

Rule: Always initialize these using Layer 2 Operator Refs (e.g., SceneObjects.NAME) from your project's scene registry rather than raw string IDs.