<!--
{
  "availability" : [
    "iOS: 17.0.0 -",
    "iPadOS: 17.0.0 -",
    "macCatalyst: 17.0.0 -",
    "macOS: 14.0.0 -",
    "tvOS: 17.0.0 -",
    "visionOS: -",
    "watchOS: 10.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "Swift",
  "identifier" : "/documentation/Distributed/DistributedActor/unownedExecutor",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Property",
  "symbol" : {
    "kind" : "Instance Property",
    "modules" : [
      "Distributed"
    ],
    "preciseIdentifier" : "s:11Distributed0A5ActorP15unownedExecutorScevp"
  },
  "title" : "unownedExecutor"
}
-->

# unownedExecutor

Retrieve the executor for this distributed actor as an optimized,
unowned reference. This API is equivalent to `Actor/unownedExecutor`,
however, by default, it intentionally returns `nil` if this actor is a reference
to a remote distributed actor, because the executor for remote references
is effectively never g

```
nonisolated var unownedExecutor: UnownedSerialExecutor { get }
```

## Custom implementation requirements

This property must always evaluate to the same executor for a
given actor instance, and holding on to the actor must keep the
executor alive.

This property will be implicitly accessed when work needs to be
scheduled onto this actor.  These accesses may be merged,
eliminated, and rearranged with other work, and they may even
be introduced when not strictly required.  Visible side effects
are therefore strongly discouraged within this property.

---

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)