Unreal ToolsDeck Toolkit / DocsAll tools ↗
DECK TOOLKIT / DOCUMENTATION

Find the API you need.

Public types, native integration methods, Blueprint access and module dependencies for version 0.3.0.

Modules and includes

ModulePurposePublic headers
DeckToolkitRuntime / RuntimeAssets, session, rules, examples and live tracingDeckToolkitCard.h, DeckToolkitExamples.h, DeckToolkitSession.h, DeckToolkitRules.h, DeckToolkitLiveTrace.h
DeckToolkitUI / RuntimeNative Slate workshop and optional persistenceDeckToolkitWorkshop.h, DeckToolkitPersistentWorkshop.h
DeckToolkitEditor / EditorWorkbench, preview and trace inspectorEditor implementation; omit from runtime dependencies

Add modules to your host's Build.cs according to where their types are used. Public headers that expose toolkit types need public dependencies; implementation-only use can use private dependencies. For a native workshop host, the following is a typical implementation dependency list:

csharp
PrivateDependencyModuleNames.AddRange(new string[] {
    "DeckToolkitRuntime", "DeckToolkitUI", "Slate", "SlateCore"
});

The plugin uses standard Unreal modules including Core, CoreUObject, Engine, Slate, InputCore and Json. It has no additional marketplace plugin, GAS or external-service dependency. All three modules currently allow Win64 only.

Assets and examples

Type / methodAccess and purpose
UDeckToolkitCardBlueprint asset type; CardName, Description, EnergyCost, bRetain, bExhaust, Effects.
ValidateDefinition(FText&) constNative validation; returns bool and failure text.
UDeckToolkitDeck::CardsBlueprint-visible authored array of card references.
UDeckToolkitExamples::CreateExampleCards(UObject*)Returns TArray<UDeckToolkitCard*>; original transient definitions.

UDeckToolkitSession

FunctionResult / Blueprint access
Initialize(const TArray<UDeckToolkitCard*>&, int32 Seed, int32 HandLimit, FText&)bool; callable. Atomic reset and snapshot.
BeginTurn(int32 DrawCount, int32 TurnEnergy)bool; callable.
EndTurn(int32 EnemyDamage = 0)bool; callable. Does not begin another turn.
CanPlayCard(int32 InstanceId, FText&) constbool; pure.
QueueCard(int32 InstanceId, FText&)bool; callable. Reserve copy and spend energy.
StepEffect() / PlayCard(int32 InstanceId, FText&)bool; callable. Advance pending resolution / resolve a play.
GetHand()TArray<FDTCardInstance>; pure.
GetDrawCount / GetDiscardCount / GetExhaustCount / GetEnergyint32; pure, no arguments.
IsResolving / IsTurnActive / IsFinishedbool; pure, no arguments.
GetPlayer / GetEnemyFDTCombatState; pure, no arguments.
GetTrace()TArray<FDTTraceEntry>; pure.
OnChangedBlueprint-assignable multicast delegate; handlers must not mutate the session.

UDeckToolkitRules

CheckAddCard(const FDTDeckAddContext&) returns FDTDeckRuleResult. OpeningHandProbability(int32 DeckSize, int32 MatchingCards, int32 DrawCount) returns double. Both are static Blueprint-pure functions. Result.IsAllowed() is a native helper; Blueprint callers compare Failure with None.

Native workshop API

UDeckToolkitWorkshopModel methodSignature / result
Refreshvirtual void Refresh()
Addvirtual bool Add(FGuid Deck, const FString& Card, FText& Reason)
Removevirtual bool Remove(FGuid Deck, const FString& Card)
Createvirtual FGuid Create(const FString& Name)
RenameDeckvirtual void RenameDeck(FGuid Deck, const FString& Name)
Delete / Equipvirtual void Delete(FGuid Deck) / Equip(FGuid Deck)
Savevirtual bool Save(FText& Status)
CanAddbool CanAdd(FGuid Deck, const FString& Card, FText& Reason) const; non-virtual
LoadExamplesvoid LoadExamples(); replaces catalog and decks

UDeckToolkitPersistentWorkshopModel adds bool ConfigureFile(const FString& Filename, FText& Status), overrides Save and provides const FString& GetSavePath() const. These methods are native, not Blueprint-callable.

SDeckToolkitWorkshop takes Model and OnClosed Slate arguments. Public helpers: FGuid GetEditingDeck() const, void SelectDeck(FGuid), void SelectCard(const FString&), and void SetStatus(const FText&).

UDeckToolkitLiveTrace

MethodAccess / result
Find(const UObject* WorldContext)Native static; subsystem pointer or null.
IsCaptureEnabled / SetCaptureEnabled(bool)Native static capture controls.
BeginCard(const UObject* Card, const FString& Name, const AActor* Source, const AActor* Target)Native; FGuid.
Record(FGuid, FName Stage, const FString& Detail, const AActor* Target = nullptr)Native; void.
RecordValue(FGuid, FName Stage, double Before, double After, const FString& Detail, const AActor* Target = nullptr)Native; void.
GetEvents() const / Clear()Blueprint-pure event array / Blueprint-callable void.
GetRevision() const / ExportJson(const FString&) constNative int64 / bool.

Value types

FDTCardEffect: Type, Amount, Condition. FDTCardInstance: InstanceId, Definition. FDTCombatState: Health, MaxHealth, Block, Strength, VulnerableTurns. FDTTraceEntry: Sequence, CardInstanceId, Stage, Detail, Before, After. See live event fields and workshop presentation types for the remaining records.

© 2026 Hungry Ghost / Unreal Tools.
Independent tools for Unreal Engine. Not affiliated with or endorsed by Epic Games.
Documentation for version 0.3.0 · Updated September 10, 2026