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.selectedPlacedIdBuilt-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.