Quartz UI ↗
Browse docs
On this page
Private preview · 0.57.0-devView Markdown

QuartzUIGASContract: 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/QuartzUIRuntime/Public/QuartzUIGASContract.h) · integration recipe · practical guide

FQuartzUIGASContextState

Public type. Data-only availability of the exact local player's configured GAS context. Wire role: payload of quartzui.gas.context (state).

Prerequisites / integration: Exact-player view plus native asset/source ownership; GAS additionally requires GameplayAbilities. Use the QuartzUIGASContract recipe in the host module QuartzUIRuntime.

Minimal example / lifecycle: client.subscribeState('quartzui.gas.context', value => { /* read this DTO */ }). Snapshots retained; events transient; actual producer is optional GAS module.

Avoid: Assuming presence of a DTO starts the integration. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.

Exact source line (source: Source/QuartzUIRuntime/Public/QuartzUIGASContract.h#L9)

FQuartzUIGASAttribute

Public type. One reflected attribute value; no AttributeSet object crosses the wire.

Prerequisites / integration: Exact-player view plus native asset/source ownership; GAS additionally requires GameplayAbilities. Use the QuartzUIGASContract recipe in the host module QuartzUIRuntime.

Minimal example / lifecycle: Subscribe to quartzui.gas.attributes after binding GAS. Snapshots retained; events transient; actual producer is optional GAS module.

Avoid: Assuming presence of a DTO starts the integration. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.

Exact source line (source: Source/QuartzUIRuntime/Public/QuartzUIGASContract.h#L25)

FQuartzUIGASAttributeState

Public type. GASAttribute State: a declared type in core immutable gas state, event and request dtos; use its exact fields/operations below. Wire role: payload of quartzui.gas.attributes (state).

Prerequisites / integration: Exact-player view plus native asset/source ownership; GAS additionally requires GameplayAbilities. Use the QuartzUIGASContract recipe in the host module QuartzUIRuntime.

Minimal example / lifecycle: client.subscribeState('quartzui.gas.attributes', value => { /* read this DTO */ }). Snapshots retained; events transient; actual producer is optional GAS module.

Avoid: Assuming presence of a DTO starts the integration. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.

Exact source line (source: Source/QuartzUIRuntime/Public/QuartzUIGASContract.h#L47)

FQuartzUIGASTag

Public type. GASTag: a declared type in core immutable gas state, event and request dtos; use its exact fields/operations below.

Prerequisites / integration: Exact-player view plus native asset/source ownership; GAS additionally requires GameplayAbilities. Use the QuartzUIGASContract recipe in the host module QuartzUIRuntime.

Minimal example / lifecycle: Subscribe to quartzui.gas.attributes after binding GAS. Snapshots retained; events transient; actual producer is optional GAS module.

Avoid: Assuming presence of a DTO starts the integration. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.

Exact source line (source: Source/QuartzUIRuntime/Public/QuartzUIGASContract.h#L62)

FQuartzUIGASTagState

Public type. GASTag State: a declared type in core immutable gas state, event and request dtos; use its exact fields/operations below. Wire role: payload of quartzui.gas.tags (state).

Prerequisites / integration: Exact-player view plus native asset/source ownership; GAS additionally requires GameplayAbilities. Use the QuartzUIGASContract recipe in the host module QuartzUIRuntime.

Minimal example / lifecycle: client.subscribeState('quartzui.gas.tags', value => { /* read this DTO */ }). Snapshots retained; events transient; actual producer is optional GAS module.

Avoid: Assuming presence of a DTO starts the integration. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.

Exact source line (source: Source/QuartzUIRuntime/Public/QuartzUIGASContract.h#L77)

FQuartzUIGASAbilityCost

Public type. One automatically quantified simple GAS cost or optional project override.

Prerequisites / integration: Exact-player view plus native asset/source ownership; GAS additionally requires GameplayAbilities. Use the QuartzUIGASContract recipe in the host module QuartzUIRuntime.

Minimal example / lifecycle: Subscribe to quartzui.gas.attributes after binding GAS. Snapshots retained; events transient; actual producer is optional GAS module.

Avoid: Assuming presence of a DTO starts the integration. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.

Exact source line (source: Source/QuartzUIRuntime/Public/QuartzUIGASContract.h#L93)

FQuartzUIGASAbility

Public type. One granted ability spec projected into immutable browser state.

Prerequisites / integration: Exact-player view plus native asset/source ownership; GAS additionally requires GameplayAbilities. Use the QuartzUIGASContract recipe in the host module QuartzUIRuntime.

Minimal example / lifecycle: Subscribe to quartzui.gas.attributes after binding GAS. Snapshots retained; events transient; actual producer is optional GAS module.

Avoid: Assuming presence of a DTO starts the integration. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.

Exact source line (source: Source/QuartzUIRuntime/Public/QuartzUIGASContract.h#L112)

FQuartzUIGASAbilityState

Public type. GASAbility State: a declared type in core immutable gas state, event and request dtos; use its exact fields/operations below. Wire role: payload of quartzui.gas.abilities (state).

Prerequisites / integration: Exact-player view plus native asset/source ownership; GAS additionally requires GameplayAbilities. Use the QuartzUIGASContract recipe in the host module QuartzUIRuntime.

Minimal example / lifecycle: client.subscribeState('quartzui.gas.abilities', value => { /* read this DTO */ }). Snapshots retained; events transient; actual producer is optional GAS module.

Avoid: Assuming presence of a DTO starts the integration. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.

Exact source line (source: Source/QuartzUIRuntime/Public/QuartzUIGASContract.h#L176)

FQuartzUIGASStatusEffect

Public type. One active GameplayEffect/status projection.

Prerequisites / integration: Exact-player view plus native asset/source ownership; GAS additionally requires GameplayAbilities. Use the QuartzUIGASContract recipe in the host module QuartzUIRuntime.

Minimal example / lifecycle: Subscribe to quartzui.gas.attributes after binding GAS. Snapshots retained; events transient; actual producer is optional GAS module.

Avoid: Assuming presence of a DTO starts the integration. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.

Exact source line (source: Source/QuartzUIRuntime/Public/QuartzUIGASContract.h#L192)

FQuartzUIGASStatusEffectState

Public type. GASStatus Effect State: a declared type in core immutable gas state, event and request dtos; use its exact fields/operations below. Wire role: payload of quartzui.gas.status-effects (state).

Prerequisites / integration: Exact-player view plus native asset/source ownership; GAS additionally requires GameplayAbilities. Use the QuartzUIGASContract recipe in the host module QuartzUIRuntime.

Minimal example / lifecycle: client.subscribeState('quartzui.gas.status-effects', value => { /* read this DTO */ }). Snapshots retained; events transient; actual producer is optional GAS module.

Avoid: Assuming presence of a DTO starts the integration. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.

Exact source line (source: Source/QuartzUIRuntime/Public/QuartzUIGASContract.h#L234)

FQuartzUIGASAttributeChangedEvent

Public type. GASAttribute Changed Event: a declared type in core immutable gas state, event and request dtos; use its exact fields/operations below. Wire role: payload of quartzui.gas.attribute-changed (event).

Prerequisites / integration: Exact-player view plus native asset/source ownership; GAS additionally requires GameplayAbilities. Use the QuartzUIGASContract recipe in the host module QuartzUIRuntime.

Minimal example / lifecycle: client.subscribeEvent('quartzui.gas.attribute-changed', value => { /* read this DTO */ }). Snapshots retained; events transient; actual producer is optional GAS module.

Avoid: Assuming presence of a DTO starts the integration. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.

Exact source line (source: Source/QuartzUIRuntime/Public/QuartzUIGASContract.h#L249)

FQuartzUIGASTagChangedEvent

Public type. GASTag Changed Event: a declared type in core immutable gas state, event and request dtos; use its exact fields/operations below. Wire role: payload of quartzui.gas.tag-changed (event).

Prerequisites / integration: Exact-player view plus native asset/source ownership; GAS additionally requires GameplayAbilities. Use the QuartzUIGASContract recipe in the host module QuartzUIRuntime.

Minimal example / lifecycle: client.subscribeEvent('quartzui.gas.tag-changed', value => { /* read this DTO */ }). Snapshots retained; events transient; actual producer is optional GAS module.

Avoid: Assuming presence of a DTO starts the integration. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.

Exact source line (source: Source/QuartzUIRuntime/Public/QuartzUIGASContract.h#L264)

FQuartzUIGASAbilityEvent

Public type. GASAbility Event: a declared type in core immutable gas state, event and request dtos; use its exact fields/operations below. Wire role: payload of quartzui.gas.ability (event).

Prerequisites / integration: Exact-player view plus native asset/source ownership; GAS additionally requires GameplayAbilities. Use the QuartzUIGASContract recipe in the host module QuartzUIRuntime.

Minimal example / lifecycle: client.subscribeEvent('quartzui.gas.ability', value => { /* read this DTO */ }). Snapshots retained; events transient; actual producer is optional GAS module.

Avoid: Assuming presence of a DTO starts the integration. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.

Exact source line (source: Source/QuartzUIRuntime/Public/QuartzUIGASContract.h#L279)

FQuartzUIGASStatusEffectEvent

Public type. GASStatus Effect Event: a declared type in core immutable gas state, event and request dtos; use its exact fields/operations below. Wire role: payload of quartzui.gas.status-effect (event).

Prerequisites / integration: Exact-player view plus native asset/source ownership; GAS additionally requires GameplayAbilities. Use the QuartzUIGASContract recipe in the host module QuartzUIRuntime.

Minimal example / lifecycle: client.subscribeEvent('quartzui.gas.status-effect', value => { /* read this DTO */ }). Snapshots retained; events transient; actual producer is optional GAS module.

Avoid: Assuming presence of a DTO starts the integration. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.

Exact source line (source: Source/QuartzUIRuntime/Public/QuartzUIGASContract.h#L296)

FQuartzUIGASAbilityActionRequest

Public type. GASAbility Action Request: a declared type in core immutable gas state, event and request dtos; use its exact fields/operations below. Wire role: payload of quartzui.gas.activate (request), payload of quartzui.gas.cancel (request).

Prerequisites / integration: Exact-player view plus native asset/source ownership; GAS additionally requires GameplayAbilities. Use the QuartzUIGASContract recipe in the host module QuartzUIRuntime.

Minimal example / lifecycle: client.request('quartzui.gas.activate', payload) with the generated exact payload; this type is its payload. Snapshots retained; events transient; actual producer is optional GAS module.

Avoid: Assuming presence of a DTO starts the integration. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.

Exact source line (source: Source/QuartzUIRuntime/Public/QuartzUIGASContract.h#L313)

FQuartzUIGASAbilityActionResult

Public type. GASAbility Action Result: a declared type in core immutable gas state, event and request dtos; use its exact fields/operations below. Wire role: result of quartzui.gas.activate (request), result of quartzui.gas.cancel (request).

Prerequisites / integration: Exact-player view plus native asset/source ownership; GAS additionally requires GameplayAbilities. Use the QuartzUIGASContract recipe in the host module QuartzUIRuntime.

Minimal example / lifecycle: client.request('quartzui.gas.activate', payload) with the generated exact payload; this type is its result. Snapshots retained; events transient; actual producer is optional GAS module.

Avoid: Assuming presence of a DTO starts the integration. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.

Exact source line (source: Source/QuartzUIRuntime/Public/QuartzUIGASContract.h#L322)

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 "QuartzUIGASContract.generated.h"

/** Data-only availability of the exact local player's configured GAS context. */
USTRUCT(BlueprintType, meta = (QuartzUITypeName = "QuartzUIGASContextState"))
struct QUARTZUIRUNTIME_API FQuartzUIGASContextState
{
	GENERATED_BODY()

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (QuartzUIName = "available"))
	bool bAvailable = false;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (QuartzUIName = "generation"))
	int64 Generation = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (QuartzUIName = "revision"))
	int64 Revision = 0;
};

/** One reflected attribute value; no AttributeSet object crosses the wire. */
USTRUCT(BlueprintType, meta = (QuartzUITypeName = "QuartzUIGASAttribute"))
struct QUARTZUIRUNTIME_API FQuartzUIGASAttribute
{
	GENERATED_BODY()

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (QuartzUIName = "id"))
	FString Id;

	/** Stable reflected class path, for example /Script/LyraGame.LyraHealthSet. */
	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (QuartzUIName = "attributeSetPath"))
	FString AttributeSetPath;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (QuartzUIName = "name"))
	FString Name;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (QuartzUIName = "baseValue"))
	float BaseValue = 0.0f;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (QuartzUIName = "currentValue"))
	float CurrentValue = 0.0f;
};

USTRUCT(BlueprintType, meta = (QuartzUITypeName = "QuartzUIGASAttributeState"))
struct QUARTZUIRUNTIME_API FQuartzUIGASAttributeState
{
	GENERATED_BODY()

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (QuartzUIName = "available"))
	bool bAvailable = false;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (QuartzUIName = "revision"))
	int64 Revision = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (QuartzUIName = "attributes"))
	TArray<FQuartzUIGASAttribute> Attributes;
};

USTRUCT(BlueprintType, meta = (QuartzUITypeName = "QuartzUIGASTag"))
struct QUARTZUIRUNTIME_API FQuartzUIGASTag
{
	GENERATED_BODY()

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (QuartzUIName = "id"))
	FString Id;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (QuartzUIName = "present"))
	bool bPresent = false;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (QuartzUIName = "count"))
	int32 Count = 0;
};

USTRUCT(BlueprintType, meta = (QuartzUITypeName = "QuartzUIGASTagState"))
struct QUARTZUIRUNTIME_API FQuartzUIGASTagState
{
	GENERATED_BODY()

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (QuartzUIName = "available"))
	bool bAvailable = false;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (QuartzUIName = "revision"))
	int64 Revision = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (QuartzUIName = "tags"))
	TArray<FQuartzUIGASTag> Tags;
};

/** One automatically quantified simple GAS cost or optional project override. */
USTRUCT(BlueprintType, meta = (QuartzUITypeName = "QuartzUIGASAbilityCost"))
struct QUARTZUIRUNTIME_API FQuartzUIGASAbilityCost
{
	GENERATED_BODY()

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (QuartzUIName = "id"))
	FString Id;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (QuartzUIName = "currentValue"))
	float CurrentValue = 0.0f;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (QuartzUIName = "requiredValue"))
	float RequiredValue = 0.0f;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (QuartzUIName = "affordable"))
	bool bAffordable = false;
};

/** One granted ability spec projected into immutable browser state. */
USTRUCT(BlueprintType, meta = (QuartzUITypeName = "QuartzUIGASAbility"))
struct QUARTZUIRUNTIME_API FQuartzUIGASAbility
{
	GENERATED_BODY()

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (QuartzUIName = "id"))
	FString Id;

	/** Ability class identity is data; the class UObject never crosses the wire. */
	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (QuartzUIName = "classPath"))
	FString ClassPath;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (QuartzUIName = "assetTags"))
	TArray<FString> AssetTags;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (QuartzUIName = "sourceTags"))
	TArray<FString> SourceTags;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (QuartzUIName = "inputId"))
	int32 InputId = INDEX_NONE;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (QuartzUIName = "granted"))
	bool bGranted = false;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (QuartzUIName = "active"))
	bool bActive = false;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (QuartzUIName = "availabilityKnown"))
	bool bAvailabilityKnown = false;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (QuartzUIName = "available"))
	bool bAvailable = false;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (QuartzUIName = "affordable"))
	bool bAffordable = false;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (QuartzUIName = "activationAllowed"))
	bool bActivationAllowed = false;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (QuartzUIName = "cancellationAllowed"))
	bool bCancellationAllowed = false;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (QuartzUIName = "onCooldown"))
	bool bOnCooldown = false;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (QuartzUIName = "level"))
	int32 Level = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (QuartzUIName = "cooldownRemainingSeconds"))
	float CooldownRemainingSeconds = 0.0f;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (QuartzUIName = "cooldownDurationSeconds"))
	float CooldownDurationSeconds = 0.0f;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (QuartzUIName = "capturedAtSeconds"))
	float CapturedAtSeconds = 0.0f;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (QuartzUIName = "failureReasons"))
	TArray<FString> FailureReasons;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (QuartzUIName = "costs"))
	TArray<FQuartzUIGASAbilityCost> Costs;
};

USTRUCT(BlueprintType, meta = (QuartzUITypeName = "QuartzUIGASAbilityState"))
struct QUARTZUIRUNTIME_API FQuartzUIGASAbilityState
{
	GENERATED_BODY()

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (QuartzUIName = "available"))
	bool bAvailable = false;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (QuartzUIName = "revision"))
	int64 Revision = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (QuartzUIName = "abilities"))
	TArray<FQuartzUIGASAbility> Abilities;
};

/** One active GameplayEffect/status projection. */
USTRUCT(BlueprintType, meta = (QuartzUITypeName = "QuartzUIGASStatusEffect"))
struct QUARTZUIRUNTIME_API FQuartzUIGASStatusEffect
{
	GENERATED_BODY()

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (QuartzUIName = "instanceId"))
	FString InstanceId;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (QuartzUIName = "statusId"))
	FString StatusId;

	/** GameplayEffect class identity as immutable text, never a class UObject. */
	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (QuartzUIName = "classPath"))
	FString ClassPath;

	/** Exact effect asset tags copied from the active spec. */
	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (QuartzUIName = "assetTags"))
	TArray<FString> AssetTags;

	/** Exact tags granted by the active spec. */
	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (QuartzUIName = "grantedTags"))
	TArray<FString> GrantedTags;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (QuartzUIName = "stackCount"))
	int32 StackCount = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (QuartzUIName = "durationSeconds"))
	float DurationSeconds = 0.0f;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (QuartzUIName = "remainingSeconds"))
	float RemainingSeconds = 0.0f;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (QuartzUIName = "capturedAtSeconds"))
	float CapturedAtSeconds = 0.0f;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (QuartzUIName = "infinite"))
	bool bInfinite = false;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (QuartzUIName = "inhibited"))
	bool bInhibited = false;
};

USTRUCT(BlueprintType, meta = (QuartzUITypeName = "QuartzUIGASStatusEffectState"))
struct QUARTZUIRUNTIME_API FQuartzUIGASStatusEffectState
{
	GENERATED_BODY()

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (QuartzUIName = "available"))
	bool bAvailable = false;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (QuartzUIName = "revision"))
	int64 Revision = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (QuartzUIName = "effects"))
	TArray<FQuartzUIGASStatusEffect> Effects;
};

USTRUCT(BlueprintType, meta = (QuartzUITypeName = "QuartzUIGASAttributeChangedEvent"))
struct QUARTZUIRUNTIME_API FQuartzUIGASAttributeChangedEvent
{
	GENERATED_BODY()

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (QuartzUIName = "revision"))
	int64 Revision = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (QuartzUIName = "previousValue"))
	float PreviousValue = 0.0f;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (QuartzUIName = "attribute"))
	FQuartzUIGASAttribute Attribute;
};

USTRUCT(BlueprintType, meta = (QuartzUITypeName = "QuartzUIGASTagChangedEvent"))
struct QUARTZUIRUNTIME_API FQuartzUIGASTagChangedEvent
{
	GENERATED_BODY()

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (QuartzUIName = "revision"))
	int64 Revision = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (QuartzUIName = "previousCount"))
	int32 PreviousCount = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (QuartzUIName = "tag"))
	FQuartzUIGASTag Tag;
};

USTRUCT(BlueprintType, meta = (QuartzUITypeName = "QuartzUIGASAbilityEvent"))
struct QUARTZUIRUNTIME_API FQuartzUIGASAbilityEvent
{
	GENERATED_BODY()

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (
		QuartzUIName = "kind",
		QuartzUIStringValues = "activated|availability-changed|cooldown-started|cooldown-ended|cost-committed|failed|ended|cancelled|granted|removed"))
	FString Kind;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (QuartzUIName = "revision"))
	int64 Revision = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (QuartzUIName = "ability"))
	FQuartzUIGASAbility Ability;
};

USTRUCT(BlueprintType, meta = (QuartzUITypeName = "QuartzUIGASStatusEffectEvent"))
struct QUARTZUIRUNTIME_API FQuartzUIGASStatusEffectEvent
{
	GENERATED_BODY()

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (
		QuartzUIName = "kind",
		QuartzUIStringValues = "added|removed|stack-changed|time-changed|inhibition-changed"))
	FString Kind;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (QuartzUIName = "revision"))
	int64 Revision = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (QuartzUIName = "effect"))
	FQuartzUIGASStatusEffect Effect;
};

USTRUCT(BlueprintType, meta = (QuartzUITypeName = "QuartzUIGASAbilityActionRequest"))
struct QUARTZUIRUNTIME_API FQuartzUIGASAbilityActionRequest
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "QuartzUI|GAS", meta = (QuartzUIName = "abilityId"))
	FString AbilityId;
};

USTRUCT(BlueprintType, meta = (QuartzUITypeName = "QuartzUIGASAbilityActionResult"))
struct QUARTZUIRUNTIME_API FQuartzUIGASAbilityActionResult
{
	GENERATED_BODY()

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (QuartzUIName = "accepted"))
	bool bAccepted = false;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|GAS", meta = (
		QuartzUIName = "reason",
		QuartzUIStringValues = "none|context-unavailable|ability-unknown|ability-not-granted|activation-disabled|cancellation-disabled|not-active|rate-limited|authority-rejected"))
	FString Reason = TEXT("context-unavailable");
};