A model is a collection of data, resources, and assets that fully describes a virtual 3D object. In ViewAR ecosystem, models are created externally by 3D designers and uploaded to ViewAR model repository, making them available to apps build using ViewAR SDK. A model uploaded to the ViewAR model repository is theoretically usable by any app built using ViewAR SDK, even those belonging other users. After upload models are assigned to model catalogs belonging to ViewAR user accounts. Model catalogs are shared by all of user’s apps.

Models often contain semantic information used to describe the model to the user, such as names and textual descriptions of a product, gallery images, translations, semantic tags, etc.. Semantic information is stored in JSON format.

Additionally, models may have arbitrary app-specific data attached to them. This data can be used by the app to provide further functionality beyond what’s offered by ViewAR SDK. App-specific data has no meaning outside the app itself.

Due to their often large size, models are usually not bundled with the app, and need to be downloaded by the app itself before they can be used. Fortunately, ViewAR SDK encapsulates the resource management almost entirely, meaning that you don’t have to worry about the status of any model’s resources - ViewAR SDK downloads and caches any required resources on demand. This also means that the app is required to be online most of the time. If this is an issue, complete download of a model catalog can be via certain API call.