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.
Pinned source (source: Source/QuartzUIGAS/Public/QuartzUIGASResolver.h) · integration recipe · practical guide
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 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.
#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);
};