UTrackedInstance
UCLASS(ClassGroup=(Custom), meta=(BlueprintSpawnableComponent))
class AR51SDK_API UTrackedInstance : public UActorComponent
Inherits: UActorComponent (Unreal Engine)
The per-detection data record. One UTrackedInstance is attached to each spawned tracked actor; its owning AActor is what actually moves in the world. You normally read these from UObjectDetectionConsumer rather than create them yourself.
The AR 51 system reports positions in meters; the consumer converts spawned actor transforms to Unreal centimeters internally. The fields below that are not converted — notably Radius — remain in AR 51 meters. See the per-field note.
Properties
All EditAnywhere, BlueprintReadWrite unless noted.
| Property | Type | Blueprint | Description |
|---|---|---|---|
| Identity | |||
Id | FString | EditAnywhere, BlueprintReadWrite | Stable tracking id from the feed (underscores are replaced with dashes when used to name spawned actors). Used as the tracking-map key, so it is unique per live instance. |
Type | EInstanceType | EditAnywhere, BlueprintReadWrite | Whether this is a Marker or an Object. Set by the consumer at spawn. |
| Marker appearance | |||
ColorName | FString | EditAnywhere, BlueprintReadWrite | The marker's type/color label as a string (e.g. a color or marker-type name). For markers it is populated from the feed's type field and used both for material tint and for FMarkerItem matching. Empty for objects. |
Color | FColor | EditAnywhere, BlueprintReadWrite | RGBA color. ⚠️ Declared but unused: not assigned anywhere in the consumer .cpp — color is applied via ColorName parsing instead, so this field may be reserved/unused at present. |
Radius | float | EditAnywhere, BlueprintReadWrite | Marker radius as reported by the feed. ⚠️ Units: applied directly as a scale multiplier (not unit-converted), so this is in AR 51 meters, not cm. Only meaningful for Marker instances. |
| Tracking state | |||
Rays | TArray<FVector> | EditAnywhere, BlueprintReadWrite | Array of direction/position vectors. ⚠️ Declared but unused: never populated by the consumer; likely reserved for camera-ray triangulation data. |
LastUpdateTime | float | EditAnywhere, BlueprintReadWrite | World time (seconds, GetWorld()->TimeSeconds) of the most recent update for this instance. Drives hide/destroy pruning. |
AttachedItem | AActor* | Transient (not Blueprint-exposed) | Optional secondary actor spawned from a matching FMarkerItem.Blueprint and parented to this marker (e.g. a visual prop). Destroyed with the marker. |
Method summary
Instance
| Method | Returns | |
|---|---|---|
ToString | FString | C++ only |
→ Full descriptions in Method details below.
Method details
ToString
FString ToString() const;
Debug string in the form "<Type>:<Id>@<worldLocation>". Plain C++ — not a UFUNCTION, so it is not Blueprint-callable.
"<Type>:<Id>@<worldLocation>" summary for loggingThe constructor UTrackedInstance() is empty/default.
EInstanceType
UENUM (uint8) BlueprintTypeUENUM(BlueprintType)
enum class EInstanceType : uint8
Discriminator for what a UTrackedInstance represents — the value carried in its Type field.
| Value | DisplayName | Meaning |
|---|---|---|
Marker | "Marker" | A point/sphere marker (id + color + radius, position only). |
Object | "Object" | A full 6-DoF tracked object (position + rotation, matched to a Blueprint prefab). |
See also
UObjectDetectionConsumer— the component that spawns, updates, and prunes these records; read them from itFMarkerItem— the rule matched againstColorNameto spawn anAttachedItem- Object Detection — area overview and units convention
- Class index — all Unreal SDK types