Welcome to GameKit’s documentation!
Goals
High level game framework built on top of Unreal Engine.
- Data Driven: focus on the game design
Configure your ability in json
Bootstrap Game wikis with the raw data
- Multiplayer Ready
Hosted
Dedicated
Standalone
- Ever growing documentation
Architecture Diagrams
Replication Diagrams
Code Search
- Community Friendly
Favour source code (C++, HLSL) for easier contribution workflow
Base UI & Menus for debugging and prototyping
- Automation framework on top of UAT
CI/CD
Testing Utilities
Note
While the code base favours text code for development and contributions, Gamekit makes sure to expose most of the logic to blueprint to extend or customize games without going through C++.
Releases
Latest Release
Warning
This is not meant to be an instroduction to UE. It expects some knowledge of UE and does not shy away from C++.
Welcome
Data Driven
Fog Of War
Developer Guide
- Documentation Generation
- Compilation
- Shaders
- Doxygen
- Contributions
- Command Line
- Continuous Integration
- Gamekit API
- Full API
- Namespaces
- Namespace EGKSaveGameVersion
- Namespace gamekit
- Namespace gamekit::cli
- Namespace gamekit::commands
- Namespace gamekit::commands::cook
- Namespace gamekit::commands::dedicated
- Namespace gamekit::commands::disable
- Namespace gamekit::commands::docs
- Namespace gamekit::commands::init
- Namespace gamekit::commands::install
- Namespace gamekit::commands::local
- Namespace gamekit::commands::python
- Namespace gamekit::commands::tests
- Namespace gamekit::commands::vscode
- Namespace gamekit::conf
- Namespace gamekit::fbm
- Namespace System::IO
- Namespace UnrealBuildTool
- Namespace UnrealBuildTool::Rules
- Classes and Structs
- Struct FGKAbilityCost
- Struct FGKAbilityEffect
- Struct FGKAbilityEffects
- Struct FGKAbilitySlot
- Struct FGKAbilityStatic
- Struct FGKAbilityStaticCustomization
- Struct FGKAbilityWidgetArgs
- Struct FGKAnimationArray
- Struct FGKAnimationSet
- Struct FGKBaseEditorToolCustomization
- Struct FGKDynamicFogMaterial
- Struct FGKEvent
- Struct FGKEventGatherer
- Struct FGKExperience
- Struct FGKFactionMinimap
- Struct FGKFailureTagMapping
- Struct FGKGameplayAbilityInputBinds
- Struct FGKGameplayEffectContainer
- Struct FGKGameplayEffectContainerSpec
- Struct FGKGrid
- Struct FGKInputAbilityPair
- Struct FGKLinePoints
- Struct FGKNamedObject
- Struct FGKNavQueryResult
- Struct FGKNetworkMetrics
- Struct FGKPoints
- Struct FGKProjectileStatic
- Struct FGKQuestData
- Struct FGKQuestObjectives
- Struct FGKQueuedAbility
- Struct FGKRichRow
- Struct FGKSimpleObjective
- Struct FGKSlope
- Struct FGKStructFromDataTable
- Struct FGKTeamInfo
- Struct FGKUnitGroup
- Struct FGKUnitStatic
- Struct FGKWidgetLocationData
- Struct FStatQuery
- Struct FUpscalingParameter
- Struct GKDamageStatics
- Template Struct TMatrix3D
- Class AGKAbilityEffectActor
- Class AGKAbilityTarget_Actor
- Class AGKAbilityTarget_PlayerControllerTrace
- Class AGKAIController
- Class AGKAOEActor
- Class AGKAOEActorNiagara
- Class AGKCharacterBase
- Class AGKFogOfWarTeam
- Class AGKFogOfWarVolume
- Class AGKGameModeBaseBase
- Class AGKGameplayCueNotify_Actor
- Class AGKGameResource
- Class AGKGameStateBase
- Class AGKHexGrid
- Class AGKMinimapVolume
- Class AGKPawnEnchancedInput
- Class AGKPlayerController
- Class AGKPlayerState
- Class AGKPrivatePlayerState
- Class AGKProjectile
- Class AGKTacticianController
- Class AGKTeamPlayerStart
- Class AGKTopDownPawn
- Class AGKTurnGameState
- Class AGKUnitAIController
- Class AGKUnitCharacter
- Class AGKWorldSettings
- Class FGamekitEdModule
- Class FGamekitEdStyle
- Class FGamekitModule
- Class FGamekitTestSuiteModule
- Class FGKCommands
- Class FGKRichStruct
- Class FUpscalingDispatcher
- Class FUpscalingShader
- Class Gamekit
- Class CookGame
- Class Dedicated
- Class Disable
- Class Docs
- Class Init
- Class Install
- Class Local
- Class Python
- Class RunTests
- Class VSCode
- Class Command
- Class FractionalBrownianmotion
- Class Vec2
- Class GamekitEd
- Class IActorReadyInterface
- Class IGamekitTestSuiteModule
- Class IGKAbilityInterface
- Class IGKCachedAbilityTargetActorInterface
- Class IGKPawnEnhancedInputInterface
- Class IGKSelectableInterface
- Class UCollisionProfileHack
- Class UGKAbilityBlueprintLibrary
- Class UGKAbilitySystemComponent
- Class UGKAbilitySystemGlobals
- Class UGKAbilityTask_MoveToDestination
- Class UGKAbilityTask_PlayMontageAndWaitForEvent
- Class UGKAbilityTask_WaitForTargetData
- Class UGKAbilityWidget
- Class UGKAssetManager
- Class UGKAsyncTask_GameplayEffectChanged
- Class UGKAsyncTaskAttributeChanged
- Class UGKAsyncTaskCooldownChanged
- Class UGKAttributeSet
- Class UGKCancelAbility
- Class UGKCanvasUpscaler
- Class UGKCastPointAnimNotify
- Class UGKCoordinateLibrary
- Class UGKCPUUpscalerStrategy
- Class UGKDamageExecution
- Class UGKEditorToolBase
- Class UGKEngineSubsystem
- Class UGKExplorationTransform
- Class UGKFogOfWarLibrary
- Class UGKFogOfWarStrategy
- Class UGKGameInstanceBase
- Class UGKGamekitSettings
- Class UGKGameplayAbility
- Class UGKGameplayAbilityEditorTool
- Class UGKGameplayEffect
- Class UGKGameplayEffectDyn
- Class UGKGameplayEffectUIData
- Class UGKGPUUpscalerStrategy
- Class UGKHexGridPathFollowingComponent
- Class UGKHexGridUtilities
- Class UGKInputLibrary
- Class UGKItemAbility
- Class UGKMazeGeneration
- Class UGKMovementAbility
- Class UGKMovementUtility
- Class UGKNavigationInterface
- Class UGKQuestBlueprintLibrary
- Class UGKQuestDataRef
- Class UGKQuestObjectiveRef
- Class UGKQuestSimpleObjectiveRef
- Class UGKRayCasting_Less
- Class UGKRayCasting_Line
- Class UGKRayCasting_Triangle
- Class UGKRichTextBlockDecorator
- Class UGKSaveGame
- Class UGKShadowCasting
- Class UGKSkillAbility
- Class UGKStopMovement
- Class UGKTargetType
- Class UGKTargetType_UseEventData
- Class UGKTargetType_UseOwner
- Class UGKTeamAgentLibrary
- Class UGKTransformerStrategy
- Class UGKTransformerStrategyCanvas
- Class UGKTransformerStrategyTexture2D
- Class UGKUtilityLibrary
- Class UGKWidgetDraggable
- Class UGKWidgetDragVisual
- Class UGKWidgetDropZone
- Class GamekitTestSuite
- Enums
- Enum EGK_AbilityAnimation
- Enum EGK_AbilityKind
- Enum EGK_ActivationBehavior
- Enum EGK_EffectSlot
- Enum EGK_GridKind
- Enum EGK_ItemSlot
- Enum EGK_MinimapColorMode
- Enum EGK_MOBA_AbilityInputID
- Enum EGK_ProjectileBehavior
- Enum EGK_TargetingMode
- Enum EGK_TargetMode
- Enum EGK_TileVisbility
- Enum EGK_UpscalingMethod
- Enum EGK_VisbilityLayers
- Enum EGK_VisibilityLayer
- Enum EGKRelativePosition
- Enum type
- Functions
- Function BroadCastEvents
- Function BroadcastTableChange
- Function CopyTexture
- Function DamageStatics
- Function DECLARE_DYNAMIC_MULTICAST_DELEGATE(FGKCancelBackswingDelegate)
- Function DECLARE_DYNAMIC_MULTICAST_DELEGATE(FGKTargetingStartDelegate)
- Function DECLARE_DYNAMIC_MULTICAST_DELEGATE(FGKAbilityRemovalDelegate)
- Function DECLARE_DYNAMIC_MULTICAST_DELEGATE(FGKEventGate)
- Function DECLARE_DYNAMIC_MULTICAST_DELEGATE_FiveParams
- Function DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FGKMoveToDestinationDelegate, const FGameplayAbilityTargetDataHandle&, TargetData)
- Function DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FGKOnGameplayEffectRemoved, FActiveGameplayEffectHandle, GameplayHandle)
- Function DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FGKTargetingResultDelegate, bool, TargetCancelled)
- Function DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FGKAbilityLevelUpDelegate, int, Level)
- Function DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FGKWaitTargetDataDelegate, const FGameplayAbilityTargetDataHandle&, Data)
- Function DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FSightingEventSignature, AActor *, Actor)
- Function DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FSightedEventSignature, AActor *, Actor)
- Function DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FGKNewFactionDelegate, FName, Name)
- Function DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnAttributeChanged, FGameplayAttribute, Attribute, float, NewValue, float, OldValue)
- Function DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnCooldownChanged, FGameplayTag, CooldownTag, float, TimeRemaining, float, Duration)
- Function DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FGKPlayMontageAndWaitForEventDelegate, FGameplayTag, EventTag, FGameplayEventData, EventData)
- Function DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FGKOnGameplayEffectStackChanged, FActiveGameplayEffectHandle, GameplayHandle, int, StackCount)
- Function DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnAbilityRemoved, int, SlotID, UGKGameplayAbility *, Ability)
- Function DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnAbilityAdded, int, SlotID, UGKGameplayAbility *, Ability)
- Function DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FGKAbilityFailedDelegate, const UGameplayAbility *, Ability, const FGameplayTagContainer&, FailureReason)
- Function DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FTargetValidityChanged, const FHitResult&, TraceHit, bool, IsValid)
- Function DECLARE_LOG_CATEGORY_EXTERN(LogGKGA, Log, All)
- Function DECLARE_LOG_CATEGORY_EXTERN(LogGKNav, Log, All)
- Function DECLARE_LOG_CATEGORY_EXTERN(LogGKFoW, Log, All)
- Function DECLARE_LOG_CATEGORY_EXTERN(LogGamekit, Log, All)
- Function DECLARE_LOG_CATEGORY_EXTERN(LogGamekitEd, Log, All)
- Function DEFINE_LOG_CATEGORY(LogGKNav)
- Function DEFINE_LOG_CATEGORY(LogGamekit)
- Function DEFINE_LOG_CATEGORY(LogGamekitEd)
- Function Distance
- Function gamekit::cli::main
- Function gamekit::cli::parse_args
- Function gamekit::commands::fetch_factories
- Function gamekit::conf::load_conf
- Function gamekit::conf::save_conf
- Function gamekit::fbm::dot
- Function gamekit::fbm::fract
- Function gamekit::fbm::mix
- Function gamekit::fbm::mult
- Function gamekit::fbm::noise
- Function gamekit::fbm::random
- Function gamekit::fbm::sub
- Function GAMEKIT_TEST(Abilities., UGKGameplayability, GetRelativePosition)
- Function GAMEKIT_TEST(Blueprint., UGKUtilityLibrary, GetRelativePosition)
- Function GAMEKIT_TEST(FogOfWar., AGKFogOfWarVolume, GetRelativePosition)
- Function GenerateAbility_CPP
- Function GenerateDisableNameMapping
- Function GenerateFailureMapping
- Function GenerateGameplayAbilitiesFromTable_CPP
- Function GenerateGameplayAbilitiesFromTable_Python
- Function GetDefaultParentAbility
- Function GetDisableNames
- Function GetFailureMapping
- Function GetImpactPoint
- Template Function GetRow
- Function GetTextureFormat
- Function GetTextureRHI
- Function GetUniqueCoodownGameplayTag
- Function GetX
- Function GetY
- Function GKTAGS
- Function IMPLEMENT_GLOBAL_SHADER
- Function InitNavigationControl
- Template Function IsSet
- Function IsTargetDataValid
- Template Function Log_Display
- Template Function Log_Error
- Template Function Log_Fatal
- Template Function Log_Log
- Template Function Log_Verbose
- Template Function Log_VeryVerbose
- Template Function Log_Warning
- Function MainComputeShader(uint3 GroupId :SV_GroupID, uint3 ThreadId :SV_DispatchThreadID, uint3 GroupThreadId:SV_GroupThreadID, uint GroupdIndex :SV_GroupIndex)
- Function MainComputeShader(uint3 GroupId :SV_GroupID, uint3 ThreadId :SV_DispatchThreadID, uint3 GroupThreadId:SV_GroupThreadID, uint GroupdIndex :SV_GroupIndex)
- Function NewPassiveRegenEffect(UObject *, FGameplayAttribute, float, float, FName)
- Function NewPassiveRegenEffect(UObject *, FGameplayAttribute, float, float, FName)
- Template Function ReadDataTable
- Template Function RemoveFlag
- Function ResolveAnimationPlayRate
- Template Function SetFlag
- Function ShowHeightMapInfo
- Function sign
- Function StyleSetName
- Function TrackCoverage(TArray<FVector2D>&, float64, float64, bool&, FVector2D&)
- Function TrackCoverage(TArray<FVector2D>&, float, float, bool&, FVector2D&)
- Function WilsonWalk
- Variables
- Variable AbilityExclusive
- Variable AbilityMove
- Variable AnimationCastPoint
- Variable Buff
- Variable BuffDebuffImmunity
- Variable BuffDisableImmunity
- Variable BufffMinor
- Variable BuffImmunity
- Variable BuffMedium
- Variable BuffStrong
- Variable CooldownParent
- Variable CostParent
- Variable Debuff
- Variable DebuffMedium
- Variable DebuffMinor
- Variable DebuffStrong
- Variable Dimensions
- Variable Dimensions
- Variable Disable
- Variable DisableBreak
- Variable DisableDead
- Variable DisableDisarmed
- Variable DisableEtheral
- Variable DisableMedium
- Variable DisableMinor
- Variable DisableMute
- Variable DisableRoot
- Variable DisableSilence
- Variable DisableStrong
- Variable DisableStun
- Variable Dispel
- Variable DispelDebuff
- Variable DispelDisable
- Variable DispelMedium
- Variable DispelMinor
- Variable DispelStrong
- Variable FailureBlocked
- Variable FailureCharge
- Variable FailureCooldown
- Variable FailureCost
- Variable FailureDead
- Variable FailureMissing
- Variable FailureNetwork
- Variable FailureNotLearned
- Variable FGamekitEdModule
- Variable FGamekitModule
- Variable Gamekit
- Variable gamekit::commands::commands
- Variable gamekit::commands::cook::COMMAND
- Variable gamekit::commands::dedicated::COMMAND
- Variable gamekit::commands::disable::COMMAND
- Variable gamekit::commands::docs::COMMAND
- Variable gamekit::commands::docs::COOKIECUTTER
- Variable gamekit::commands::init::COMMAND
- Variable gamekit::commands::local::COMMAND
- Variable gamekit::commands::python::COMMAND
- Variable gamekit::commands::tests::COMMAND
- Variable gamekit::commands::vscode::COMMAND
- Variable gamekit::conf::AUTHOR
- Variable gamekit::conf::CONFIG
- Variable gamekit::conf::CONFIGNAME
- Variable gamekit::conf::LATEST_CONF
- Variable gamekit::conf::NAME
- Variable gamekit::fbm::cmap
- Variable gamekit::fbm::fbm
- Variable gamekit::fbm::generated
- Variable gamekit::fbm::H
- Variable gamekit::fbm::interpolation
- Variable gamekit::fbm::m
- Variable gamekit::fbm::n
- Variable gamekit::fbm::S
- Variable gamekit::fbm::st
- Variable gamekit::fbm::T
- Variable GamekitEd
- Variable GenerateAbilitiesTemplate
- Variable GenerateAbilityCommand
- Variable GenerateAbilityTemplate
- Variable InputTexture
- Variable InputTexture
- Variable meta
- Variable meta
- Variable meta
- Variable meta
- Variable meta
- Variable Multiplier
- Variable NOFFSET
- Variable NOFFSET
- Variable ones
- Variable OutputTexture
- Variable OutputTexture
- Variable PatternMap
- Variable TimeStamp
- Variable TimeStamp
- Defines
- Define ATTRIBUTE_ACCESSORS
- Define CASES
- Define CHECK_CASE
- Define CODE
- Define DEBUG_MVT
- Define DEFAULT_FoW_COLLISION
- Define FULL
- Define GAMEKIT_LOG
- Define GAMEKIT_SHADERS
- Define GAMEKIT_TEST
- Define GENERATE_LOG_FUN
- Define GET
- Define GK_CONCAT
- Define GK_DISPLAY
- Define GK_ERROR
- Define GK_LOG
- Define GK_PLAYERSTATE_SANITY
- Define GK_PRIVATEPLAYERSTATE_SANITY
- Define GK_WARNING
- Define GKFOG_DISPLAY
- Define GKFOG_LOG
- Define GKFOG_WARNING
- Define GKGA_DISPLAY
- Define GKGA_LOG
- Define GKGA_WARNING
- Define GKGETATTR
- Define GKNAV_DISPLAY
- Define GKNAV_ERROR
- Define GKNAV_LOG
- Define GKNAV_WARNING
- Define GKTAG
- Define GKTAG
- Define GKTAGS
- Define HALF
- Define IS_VISIBLE
- Define IS_VISIBLE
- Define IS_VISIBLE
- Define LOCTEXT_NAMESPACE
- Define LOCTEXT_NAMESPACE
- Define LOCTEXT_NAMESPACE
- Define LOCTEXT_NAMESPACE
- Define LOCTEXT_NAMESPACE
- Define NAMESPACE
- Define NUM_THREADS_PER_GROUP_DIMENSION
- Define TEXEL_2x2
- Define TEXEL_2x2
- Define TEXEL_2x2
- Define UpscaledTextureType
- Define VISITED
- Define WALL
- Typedefs
- Namespaces
- Full API