<!--
{
  "availability" : [
    "visionOS: 2.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "ARKit",
  "identifier" : "/documentation/ARKit/ReferenceObject",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "ARKit"
    ],
    "preciseIdentifier" : "s:5ARKit15ReferenceObjectV"
  },
  "title" : "ReferenceObject"
}
-->

# ReferenceObject

An object the framework can track.

```
struct ReferenceObject
```

## Topics

### Creating reference objects

[`init(from: URL) async throws`](/documentation/ARKit/ReferenceObject/init(from:))

Creates a reference object from a URL you provide.

[`init(named: String, from: Bundle?) async throws`](/documentation/ARKit/ReferenceObject/init(named:from:))

Creates a reference object from a bundle.

[`init(from: URL, configuration: ReferenceObject.Configuration) async throws`](/documentation/ARKit/ReferenceObject/init(from:configuration:))

Initializes a reference object from a URL, with reference object configuration.

[`init(named: String, from: Bundle?, configuration: ReferenceObject.Configuration) async throws`](/documentation/ARKit/ReferenceObject/init(named:from:configuration:))

Initializes a reference object from a bundle, with reference object configuration.

### Inspecting a reference object

[`var id: UUID`](/documentation/ARKit/ReferenceObject/id-swift.property)

The unique identifier of this reference object.

[`typealias ID`](/documentation/ARKit/ReferenceObject/ID-swift.typealias)

A type representing the stable identity of the entity associated with
an instance.

[`var inputFile: URL?`](/documentation/ARKit/ReferenceObject/inputFile)

The input file the framework uses for loading a reference object.

[`var usdzFile: URL?`](/documentation/ARKit/ReferenceObject/usdzFile)

The trained USDZ file, if the reference object includes one.

[`var name: String`](/documentation/ARKit/ReferenceObject/name)

The name of a reference object.

[`var description: String`](/documentation/ARKit/ReferenceObject/description)

A textual representation of this reference object.

### Structures

[`struct Configuration`](/documentation/ARKit/ReferenceObject/Configuration)

Defines a configuration for an individual reference object.

### Operators

[`static func == (ReferenceObject, ReferenceObject) -> Bool`](/documentation/ARKit/ReferenceObject/==(_:_:))

Returns a Boolean value indicating whether two reference objects are equal.

## Relationships

### Conforms To

[`SendableMetatype`](/documentation/Swift/SendableMetatype)

[`Identifiable`](/documentation/Swift/Identifiable)

[`Sendable`](/documentation/Swift/Sendable)

[`Equatable`](/documentation/Swift/Equatable)

[`CustomStringConvertible`](/documentation/Swift/CustomStringConvertible)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)