---
title: "QuartzUIGASResolver: declaration reference"
description: "Quartz UI 0.57.0-dev: QuartzUIGASResolver: declaration reference. Source-reviewed guidance, usage and limitations."
status: approved
visibility: public
sourceRevision: fe5b709ec900e282b50e58b819a25041945005f9
reviewedAt: 2026-09-24
---

# QuartzUIGASResolver: declaration reference

> **0.57.0-dev · beta source documentation.** Native, Blueprint, Editor and rendering examples are source-reviewed, not executed in Unreal during this scan. See [validation and limits](https://betterbuilt.games/docs/quartz-ui/evidence).

Pinned source (source: `Source/QuartzUIGAS/Public/QuartzUIGASResolver.h`) · [integration recipe](https://betterbuilt.games/docs/quartz-ui/inventory#quartzuigasresolver) · [practical guide](https://betterbuilt.games/docs/quartz-ui/integrations)

## UQuartzUIGASResolver

**Public type.** Exact-player ASC resolver; the default supports PlayerState-, pawn-, and controller-owned GAS.

**Prerequisites / integration:** Exact-player view plus native asset/source ownership; GAS additionally requires GameplayAbilities. Use the [QuartzUIGASResolver recipe](https://betterbuilt.games/docs/quartz-ui/inventory#quartzuigasresolver) in the host module `QuartzUIGAS`.

**Minimal example / lifecycle:** Subclass resolver for unusual ownership; assign to binding configuration. Resolved ASC must still belong to exact local player.

**Avoid:** Returning a convenient foreign ASC or bypassing ownership guard. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.

Exact source line (source: `Source/QuartzUIGAS/Public/QuartzUIGASResolver.h#L13`)

## Complete header

Source snapshot, not an additional example. Unreal annotations distinguish exposed Blueprint nodes from native-only/private methods.

```cpp
#pragma once

#include "CoreMinimal.h"
#include "UObject/Object.h"

#include "QuartzUIGASResolver.generated.h"

class UAbilitySystemComponent;
class ULocalPlayer;

/** Exact-player ASC resolver; the default supports PlayerState-, pawn-, and controller-owned GAS. */
UCLASS(BlueprintType, Blueprintable, EditInlineNew)
class QUARTZUIGAS_API UQuartzUIGASResolver : public UObject
{
	GENERATED_BODY()

public:
	UFUNCTION(BlueprintNativeEvent, Category = "QuartzUI|GAS")
	UAbilitySystemComponent* ResolveAbilitySystem(ULocalPlayer* LocalPlayer) const;
	virtual UAbilitySystemComponent* ResolveAbilitySystem_Implementation(ULocalPlayer* LocalPlayer) const;

	/** Rejects an ASC unless its owner or avatar belongs to this exact LocalPlayer. */
	UFUNCTION(BlueprintPure, Category = "QuartzUI|GAS")
	static bool IsExactAbilitySystem(
		ULocalPlayer* LocalPlayer,
		const UAbilitySystemComponent* AbilitySystem);
};
```

Canonical HTML: https://betterbuilt.games/docs/quartz-ui/reference-quartzuigasresolver
