[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-07-14 UTC."],[[["\u003cp\u003e\u003ccode\u003eArResolveCloudAnchorFuture\u003c/code\u003e handles asynchronous operations for resolving a Cloud Anchor, launched by \u003ccode\u003eArSession_resolveCloudAnchorAsync\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers can get the resolved Cloud Anchor using \u003ccode\u003eArResolveCloudAnchorFuture_acquireResultAnchor\u003c/code\u003e and release it with \u003ccode\u003eArAnchor_release\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eArResolveCloudAnchorFuture_getResultCloudAnchorState\u003c/code\u003e provides the status of the resolving operation.\u003c/p\u003e\n"],["\u003cp\u003eRefer to the Cloud Anchors developer guide and \u003ccode\u003eArSession_resolveCloudAnchorAsync\u003c/code\u003e documentation for further information and context.\u003c/p\u003e\n"]]],["`ArResolveCloudAnchorFuture` manages asynchronous Cloud Anchor resolution initiated by `ArSession_resolveCloudAnchorAsync`. Key actions include defining a callback function, `ArResolveCloudAnchorCallback`, which provides context, an anchor, and the Cloud Anchor state. The `ArResolveCloudAnchorFuture` is a handle for this operation. `ArResolveCloudAnchorFuture_acquireResultAnchor` retrieves the resolved Cloud Anchor. `ArResolveCloudAnchorFuture_getResultCloudAnchorState` fetches the resolution status. The provided `context` memory should be freed after the callback is finished, and anchors should be released.\n"],null,["# ArResolveCloudAnchorFuture\n==========================\n\nAn asynchronous operation for resolving a Cloud Anchor launched by [ArSession_resolveCloudAnchorAsync](/ar/reference/c/group/ar-session#arsession_resolvecloudanchorasync).\n\nSee the [Cloud Anchors developer guide](https://developers.google.com/ar/develop/c/cloud-anchors/developer-guide) for more information.\n\nSummary\n-------\n\n| ### Typedefs ||\n|------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| [ArResolveCloudAnchorCallback](#arresolvecloudanchorcallback)`)(void *context, ArAnchor *anchor, ArCloudAnchorState cloud_anchor_state)` | typedef `void(*` Callback definition for [ArSession_resolveCloudAnchorAsync](/ar/reference/c/group/ar-session#arsession_resolvecloudanchorasync). |\n| [ArResolveCloudAnchorFuture](#arresolvecloudanchorfuture) | typedef `struct ArResolveCloudAnchorFuture_` Handle to an asynchronous operation launched by [ArSession_resolveCloudAnchorAsync](/ar/reference/c/group/ar-session#arsession_resolvecloudanchorasync). |\n\n| ### Functions ||\n|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------|\n| [ArResolveCloudAnchorFuture_acquireResultAnchor](#arresolvecloudanchorfuture_acquireresultanchor)`(const `[ArSession](/ar/reference/c/group/ar-session#arsession)` *session, const `[ArResolveCloudAnchorFuture](/ar/reference/c/group/ar-resolve-cloud-anchor-future#arresolvecloudanchorfuture)` *future, `[ArAnchor](/ar/reference/c/group/ar-anchor#aranchor)` **out_anchor)` | `void` Gets the resolved Cloud Anchor. |\n| [ArResolveCloudAnchorFuture_getResultCloudAnchorState](#arresolvecloudanchorfuture_getresultcloudanchorstate)`(const `[ArSession](/ar/reference/c/group/ar-session#arsession)` *session, const `[ArResolveCloudAnchorFuture](/ar/reference/c/group/ar-resolve-cloud-anchor-future#arresolvecloudanchorfuture)` *future, `[ArCloudAnchorState](/ar/reference/c/group/ar-anchor#arcloudanchorstate)` *out_cloud_anchor_state)` | `void` Gets the result status of the resolving operation, if the operation is done. |\n\nTypedefs\n--------\n\n### ArResolveCloudAnchorCallback\n\n```scdoc\nvoid(* ArResolveCloudAnchorCallback)(void *context, ArAnchor *anchor, ArCloudAnchorState cloud_anchor_state)\n``` \nCallback definition for [ArSession_resolveCloudAnchorAsync](/ar/reference/c/group/ar-session#arsession_resolvecloudanchorasync).\n\nThe `context` argument will be the same as that passed to [ArSession_resolveCloudAnchorAsync](/ar/reference/c/group/ar-session#arsession_resolvecloudanchorasync). The `anchor` argument will be the same as that returned by [ArResolveCloudAnchorFuture_acquireResultAnchor](/ar/reference/c/group/ar-resolve-cloud-anchor-future#arresolvecloudanchorfuture_acquireresultanchor) and must be released using [ArAnchor_release](/ar/reference/c/group/ar-anchor#aranchor_release). The `cloud_anchor_state` argument will be the same as that returned by [ArResolveCloudAnchorFuture_getResultCloudAnchorState](/ar/reference/c/group/ar-resolve-cloud-anchor-future#arresolvecloudanchorfuture_getresultcloudanchorstate).\n\nIt is a best practice to free `context` memory provided to [ArSession_resolveCloudAnchorAsync](/ar/reference/c/group/ar-session#arsession_resolvecloudanchorasync) at the end of the callback implementation. \n\n### ArResolveCloudAnchorFuture\n\n```scdoc\nstruct ArResolveCloudAnchorFuture_ ArResolveCloudAnchorFuture\n``` \nHandle to an asynchronous operation launched by [ArSession_resolveCloudAnchorAsync](/ar/reference/c/group/ar-session#arsession_resolvecloudanchorasync).\n\nRelease with [ArFuture_release](/ar/reference/c/group/ar-future#arfuture_release). ([reference type, long-lived](/ar/reference/c/group/concepts#object-ownership)).\n\nFunctions\n---------\n\n### ArResolveCloudAnchorFuture_acquireResultAnchor\n\n```gdscript\nvoid ArResolveCloudAnchorFuture_acquireResultAnchor(\n const ArSession *session,\n const ArResolveCloudAnchorFuture *future,\n ArAnchor **out_anchor\n)\n``` \nGets the resolved Cloud Anchor.\n\nIf the operation isn't done yet or the operation failed, this will be `NULL`. The caller must release the anchor using [ArAnchor_release](/ar/reference/c/group/ar-anchor#aranchor_release).\n\n\n| Details ||\n|------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| Parameters | |--------------|--------------------------------------------| | `session` | The ARCore session. | | `future` | The handle for the asynchronous operation. | | `out_anchor` | The anchor. | |\n\n### ArResolveCloudAnchorFuture_getResultCloudAnchorState\n\n```gdscript\nvoid ArResolveCloudAnchorFuture_getResultCloudAnchorState(\n const ArSession *session,\n const ArResolveCloudAnchorFuture *future,\n ArCloudAnchorState *out_cloud_anchor_state\n)\n``` \nGets the result status of the resolving operation, if the operation is done.\n\n\n| Details ||\n|------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| Parameters | |--------------------------|--------------------------------------------| | `session` | The ARCore session. | | `future` | The handle for the asynchronous operation. | | `out_cloud_anchor_state` | The result status. | |"]]