Vizbl

Core Concepts

Key SDK concepts, architecture, and interaction model.

iOS Core Concepts

This page summarizes the main ideas used by Vizbl iOS SDK integrations.

tinuuid

tinuuid is the Vizbl object identifier. Your app copies it from the object's page in connection.vizbl.com and passes it to the SDK when adding an object.

try await controller.add(tinuuid: "your-tinuuid", hid: nil)

Material ID

Material ID selects a material for the object. In the iOS API, this parameter is named hid.

If hid is nil, the SDK loads the default material.

AR scene

ARView renders the AR scene. When it is presented, the SDK starts the AR session, shows guidance, and displays the configured built-in AR controls.

AR controller

ARViewController manages the AR scene. Use it to add, replace, remove, or inspect placed objects.

try await controller.add(tinuuid: "your-tinuuid", hid: nil)

if let id = controller.selectedPlacedId {
    controller.remove(id: id)
}

controller.removeAll()

Placement

Placement behavior comes from the object configuration in Vizbl. The current mobile SDK supports floor, wall, and ceiling placement.

Carpet and floor covering placement are planned for a future mobile SDK update.

The SDK handles surface-specific guidance and placement behavior automatically.

Interaction

Interaction can be configured through ARObjectConfiguration.

ARObjectConfiguration(
    allowsTapToSelect: true,
    allowsMove: true,
    allowRotation: true,
    allowScale: true,
    scaleFactor: 1.0
)

Common gestures include tap to select, drag to move, pinch to scale, and rotate gesture to rotate.

Scene state

The controller exposes scene state that your app can use to sync custom UI.

controller.placedObjects
controller.selectedPlacedId

Built-in AR controls

The SDK provides built-in AR controls for common AR actions. On iOS, these controls are configured through AROverlayControls; your app can use SDK-provided controls such as AddButton, BuyButton, and FavoriteButton, or build custom SwiftUI controls around the AR scene.

Responsibility split

The SDK owns AR rendering, placement, guidance, interaction, material UI, and built-in AR control support.

Your app owns product selection, catalog UI, checkout, navigation, analytics, and any custom business logic around the AR experience.