Skip to main content

Change Log

Version 1.33#

  • Added ObjectsUnderPointer property to InterfaceManager
  • Added ObjectUnderPointer method to InterfaceManager
  • Added OpenHyperlink method to InterfaceManager
  • Added check for empty tooltip text
  • Added TriggerByAnyKey component

Version 1.32#

  • Added NumberSpinner control
  • Added onPointerDown and onPointerUp events to CommandButton
  • Added Checkbox value to ToggleEvent parameters
  • Added Spawn Object action sequence plugin
  • Marked "Spawn Prefab" action sequence plugin as "Obsolete"
  • Plugins now use Unity's CustomEditor instead of UniversalPluginEditor

Version 1.31#

  • Fixed issue with StringExtensions.Matches and ListExtensions.Matches when passing a null
  • Added Minimum Distance to Targeting System
  • Added IInfoObject interface
  • Added support for FormerlySerializedAs attribute to SimpleJson
  • Added ApplyStringListChanges, GenerateListChanges, GenerateStringListChanges, ReadStringListChanges, and WriteStringListChanges to ListExtensions
  • Added SaveData models for BasicInfo, ImageInfo, jsonUniversalPluginWrapper, SpawnInfo, and UniversalPluginWrapper
  • Improved Actor Inspector's display of Blackboard
  • Improved serialization of generic list types SimpleJson
  • Improved serialization of generic type dictionaries SimpleJson
  • Improved deserialization array handling SimpleJson

Version 1.30#

  • Fixed issue with JSONDeserializer throwing error on fields marked DoNotSerialize that have data in string
  • Fixed issue in MathSolver preventing using a function directly after a (
  • Added onDisplayNameChanged and onColorChanged events to Actor
  • Added displayName and color properties to Actor
  • Added support for System.Nullable<T> values to SimpleJson
  • Editor improvements

Version 1.29#

  • Fixed floating-point parsing in SimpleJson for cultures using , as a decimal
  • Added IBlackboardHost interface
  • Added Blackboard Host component
  • Added ability to create Actor from context menu
  • Improved handling of window sizing
  • Interactors now automatically register InteractorComponents from Actor (if present) or children (if no Actor)

Version 1.28#

This update contains breaking changes to combat interfaces

  • Fixed issue with FlexList editor
  • Fixed issue with click to select on FlexList
  • Added Blackboard
  • Added Blackboard to Actor
  • Added SystemExtensions
  • Added Matches<T> to ListExtensions
  • Added onNextUpdate event to InterfaceManager
  • Added IMatchComparable interface
  • Added Window component
  • All GDTK UI components now honor modals
  • Improved external thread handling
  • Updated combat methods to use callback actions
  • Updated IAttack to return HitResult (enum) on CalculateHit
  • Updated IAttack to accept IDamageSource in CalculateHit
  • Updated IDamageable to have Actor, Parent, and InstanceId
  • Updated IDamageValue to accept IDamageSource in CalculateHit
  • Updated IDamageValue to accept IDamageable, IDamageSource, and CriticalHit in GetDamageAmount

Version 1.27#

  • Added UIDisplay
  • Added UIDisplayGrid
  • Added UIDisplayList
  • Added UIListSource

Version 1.26#

  • Fixed issue with Interactor2D
  • Updated pickers to auto-focus the search field on open
  • Improved handling of InterfaceManager on editor mode Stop
  • Added UIDisplay, UIDisplayList, and UIDisplayGrid base classes

Version 1.25#

  • Added Photon Fusion 2 integration
  • Added TriggerStateByInput component

Version 1.24#

  • Added Basic Combat components and interfaces
  • Added Matches method to ActionSequenceList, ActionSequenceWrapper, List<string>
  • Added AutoDocImage, AutoDocNoImage, and AutoDocPosition attributes
  • Added alpha property to UILabel

Version 1.23#

  • Added Actor component
  • Added GetComponentInActor<T> and GetComponentsInActor<T> to GameObjectExtensions
  • Added sqrt and pow functions to MathSolver
  • Updated Interactors to be able to get components from Actor
  • Corrected typo in InterfaceManager inspector

Version 1.22#

  • Fixed locking issue around InterfaceManager.SyncRequest method
  • Fixed saving of child objects in UniversalPluginEditor
  • Fixed demos for Circular Placement Spawner and Pull from Spawn
  • Added Action Sequence Pool
  • Added Local Host to Action Sequence
  • Added DataSave/DataLoad methods to AnimationModifier
  • Updated Mouse Interactor demo to use mouse button for interaction

Version 1.21#

  • Fixed editor bug when updating BasicInfo title with AutoGenId enabled
  • Added ability to use mouse button for interaction in InteractorMouse
  • Added onDisabled event to UIMenu
  • Made collisions a protected variable in Interactor
  • Implemented CollisionOnly detection type for Interactor2D

Version 1.20#

  • Fixed gizmo drawing of box cast on Interactor
  • Improved deserialization of List<T> objects (SimpleJson)
  • Improved serailization of abstract and inherited classes (SimpleJson)
  • Improved generics support for CustomUniversalPluginEditors
  • Added new constructor and ToObject method to jsonUniversalPlugin
  • Added the ability to exlude fields/properties in UniveralPluginEditor
  • Added support for [Range(,)] attribute in UniveralPluginEditor
  • Added SetSpriteAsset method to UILabel
  • Added CrossFadeColor method to UILabel
  • Added AddComponentMenu attribute to all items making them easier to find
  • Added some editor icons
  • Moved onResized event from Label to UILabel
  • Updated all components previously using Label to use UILabel (the base class for Label)

Version 1.19#

  • Fixed Mouse Interactor not releasing interaction in some cases
  • Added ICustomSaveTarget
  • Improved JSON serialization of classes with inheritance

Version 1.18#

Upgrades#

  • Upgraded Action Icons to work with any active map/input
  • Upgraded Labels to automatically use ActionIcons and not require an InputActionAsset
  • Upgraded ImageInputIcon to no longer need an InputActionAsset
  • Upgraded InputManagers to have GetMousePosition, GetMouseButton and GetMouseButtonDown methods (this fixes the last known bug related to using only the Input System New package)
  • Upgraded save/load for BasicInfo and GDTKImageInfo (this breaks save compatibility but future proofs against other changes)

Additions#

  • Added ability to create Action Icons object from menus
  • Added a new Interactor (Interactor Mouse) that can interact via raycast from MainCamera to mouse in 2D/3D
  • Added save/load to ActionSequenceList
  • Added new constructor for ActionSequenceWrapper that loads from a stream
  • Added new constructor for UniversalPluginWrapper that loads from a stream
  • Added RuntimeDataSource enum

Version 1.17#

Changes#

  • Removed old Input Cursor and replaced with a new system (for Input System Package only)

Fixes#

  • Fixed an issue when using "Input System Package (New)"

Updates#

  • Added FromJSONOverwrite to SimpleJson
  • Added onGotFocus and onLostFocus events to CommandButton
  • Removed SendPublicBroadcast method from Broadcaster (use PublicBroadcast instead)

Version 1.16#

Fixes#

  • RPGOpenCloseAction now properly raises onOpen and onClose events after delay time
  • Fixed interactor UI not switching between overlapped items
  • Fixed issue with SimpleJSON and certain array types
  • Fixed issue with SimpleJSON not allowing non-string keys for Dictionary<,> objects
  • Fixed TriggerByKey not honoring Modals
  • Fixed UIMenu not registering as modal
  • Fixed UIMenu not auto-closing when clicking away from the menu
  • Fixed UIMenu not honoring keyboard input
  • Fixed UIMenuItem not raising onSubmit event

Updates#

  • Added support for private properties in SimpleJSON
  • Added ability to place tooltips on world objects ("enableObjectTooltips" in InterfaceManager)
  • Added "additionalTooltips" to InterfaceManager allowing tooltips to be addressed by id
  • Added "additionalInteracrtors" to InterfaceManager allowing interactors to be addressed by id
  • Added OnInteractorChanged method to RPGAction
  • Added HorizontalXAMLLayoutGroup component
  • Added InvertAxis option to UI1DNav
  • InteractableObjects can now set custom UI by id
  • InteractableRPGObjects can now send 'forbidden' actions ot UI
  • BroadcastMessageList now accepts a GameObject as template

Version 1.15#

Fixes#

  • Fixed issue with InterfaceManager creating new instances in edit mode
  • Fixed naming of files in AutoDoc for classes with a generic type

Additions#

  • Added BroadcastMessageList

Updates#

  • Broadcaster no longer has ExecuteInEditMode

Version 1.14#

Fixes#

  • Fixed issue with textures from Multiple Mode Sprites in GDTKImageInfo
  • Fixed issue with non-Latin characters in Ids (IsAllowedId & ToAllowedId in StringExtensions)
  • Fixed issue with InteractableDoor when no animator is assigned
  • Fixed RPGOpenCloseAction not automatically getting animator
  • Fixed Json serialization of null arrays
  • Fixed UICanvas issue in InterfaceManager when moving between scenes
  • Fixed compile issue with UICursorInputModule

Additions#

  • Added SyncRequest method to InterfaceManager
  • Added LoadedOrNonPrefab method to GameObjectExtensions
  • Added onOpenComplete and onCloseComplete events to InteractableDoor

Updates#

  • Exposed onInteracrt event in editor for InteractableDoor & InteractableSwitch
  • Exposed receiveErrors field on DebugConsole Editor
  • Updated InterfaceManager execution order to -999
  • Updated InterfaceManager to use ToolRegistry instead of FindObjectOfType for instancing
  • Updated ToolRegistry.GetComponent methods to use .ToList() to avoid list change issues
  • Updated Label editor to allow editing multiple items at once

Version 1.13#

Fixes#

  • Interactor now properly checks IsInteractable property instead of interactable field
  • Interactor now properly sets Interable's CurrentAgent to null on removal
  • Interactor2D now honors InterfaceManager.ActiveModal
  • Localize properly handles requests prior to initialization
  • RewiredInput manager now properly retrieves player
  • Fixed input issue for Tooltips when using Input System

Additions#

  • Added Input Cursor - a UI tool that allows you to show a pointer for both mouse and controller
  • InterfaceManager now has ShowInputerCursor property
  • Added Interactable RPG Object (allows multiple interactions on a single object at once)
  • Added Interactor UI Action and Interactor Label to support Interactable RPG Object UI display
  • Added RPG Empty Action, RPG Lockpick Action, RPG Unlock Action, PRG Open Close Action, and RPG Trapped Action
  • Added MultiActionInteractorUI for display Interactable with multiple actions
  • Added ToolRegistryKeyedHelper (allows you to add any component to the ToolRegistry with a key)

Updates#

  • Moved Create Asset menus from Tools/GDTK to GDTK
  • Removed collider requirement from InteractableChild to make compatible with 2D
  • InteractableDoor now supports an open/close wait time
  • All InteractableObjects now support Callbacks and Parameters
  • Interactor now has activeUI property
  • InteractorUI now has overrideInteraction property and initializes with args and callbacks
  • InteractorUI now has a UseAction method (for RPG Actions)
  • JsonSerializationObject max depth updated to 25
  • Input managers now suport GetVector2D method
  • AutoDoc can now automatically generate usages for properties (csharp only)
  • AutoDocSuppress can now be applied to interfaces
  • GDTKSpawnInfo now has a rotation value

Version 1.12#

Fixes#

  • Fixed issue with Compass pointing South instead of North
  • Fixed Label auto-sizing on when changed while disabled

Additions#

  • Added overloads to StringExtensions to pass in GameObject
  • Added collision support to InteractableObject
  • Added collision support to Interactor
  • Added ColisionOnly option to Interactor
  • Added ActiveModal property to InterfaceManager
  • Added attributes: AutoDocAs, AutoDocExcludeBase, AutoDocLocation, AutoDocYouTubeVideo
  • Added AutoDocGenerator component
  • Added DataLoad/DataSave methods to jsonUniversalPluginWrapper

Updates#

  • ActionSequenceHelper is no longer a MonoBehaviour
  • Removed "Usage" parameter from AutoDoc attribute

Version 1.11#

Fixes#

  • Fixed issue with Nav begin recreated on awake by some controls
  • Label now properly updates ActionIcons on enable

Additions#

  • Added LabelParentResizer component
  • Added Drawer for ImageInfo
  • Added editor for ImageInputIcon

Updates#

  • Plugin editors now respect NonSerialized attribute
  • MathSolver is no longer a static class
  • Interactor can now choose between Raycast & Boxcast modes
  • ColorTransition component now defaults colors to the same as a button
  • CircularPlacement now allows you to target ground to ensure proper Y placement
  • ToolRegistry updated to be threadsafe
  • GDTKSpawnInfo added threadsafe loading of object on deserialization

Version 1.10#

Fixes#

  • Fixed typo in ObjectPullSource
  • Fixed typo in ObjectPullSource2D
  • Fixed issue where Label using localization & action icons wouldn't lose icon on language change

Additions#

  • Added JSON support (SimpleJson)
  • Added SliderInput component
  • Added IsChildOf to GameObjectExtensions
  • Added "yes", "on", "checked", "check" as true values in StringExtensions ToBool method
  • Added IsBlockedByModal, RemoveActiveModal, and SetActiveModal methods to InterfaceManager
  • Added randomRotation to CircularPlacementSpawner
  • Added Matches method to BasicInfo
  • Added Matches method to ImageInfo

Updates#

  • Improved Action Icons with modifier support (+ and -)
  • Removed rotation values from WeightedUnityItem
  • Removed FromJSON and ToJSON methods from all objects (use SimpleJson instead)
  • Updated Simple3rdPersonCamera to get input from InterfaceManager.Input

Version 1.9#

Additions#

  • Added FlexList & FlexListItem UI controls
  • Added SortAndFilter plugin system
  • Added StringFilter Plugin
  • Added ImageFilter plugin
  • Added Nav2D

Version 1.8#

Fixes#

  • Fixed issue with compiled projects using ActionSequence failing

Updates#

  • General code cleanup/optimization
  • Removed ActionPluginEditor (obsolete)

Version 1.7#

Fixes#

  • Fixed UIMenu issues

Additions#

  • Added MathSolver
  • Added TriggerByInput

Updates#

  • FocusScaleElement can now select a target
  • Updated tooltip handling

Version 1.6#

Fixes#

  • Fixed issue showing Custom UI on InteractableObjects
  • Fixed initial Checkbox state when using groups

Additions#

  • Added Custom Tooltip option to Tooltip Client
  • Added Label Source to Tooltip Client
  • Added universal backend for plugins reducing code overhead
  • Added UIExtensions class
  • Added ColorTransition component
  • UI Menu & UI Menu Item added to UI Components
  • Introduced UniversalPlugin backend
  • Added UI1DNav class

Updates#

  • Improved Custom Tooltip
  • Improved ColorTransition component

Version 1.5#

Fixes#

  • Fixed UI issue with Command Button
  • Fixed issue with Remove Item

Additions#

  • Added TemplatedLabel
  • Updated Targeting System

Version 1.4#

Additions#

  • Added SetActivePlugin
  • Added WaitForFramePlugin
  • Added SimpleFollowCamera
  • Added ability to show Alternate Text on Interactable's when interactable = false
  • Added ability to create InterfaceManager & Interactor via right-click

Updates#

  • Updated LockPlayerController & PreventInteractions to has Sets on InterfaceManager

Version 1.3#

Fixes#

  • Corrected editor issue for Inline List

Additions#

  • Added Editor for LocalizationSettings
  • Added excludeClaimed to CircularPlacement methods

Updates#

  • Changed LockOnTarget.SetIndicator to LockOnTarget.UpdateIndicator

Version 1.2#

Additions#

  • Added Targeting System
  • Localization Settings and now be included as part of the Interface Manager
  • Added Object Manager to Interface Manager, this allows you to customize creating/destroying Game Objects in a single place (useful for networked games)
  • Spawn Prefab plug-in added to Action Sequence
  • Added Tag List to Basic Info
  • Added TriggerByCollider3D component
  • Added "--identify" command to Debug Console
  • Added FocusScaleUIElement component

Updates#

  • Improved Label functionality

Version 1.1#

Additions#

  • Added Action Sequence
  • Added DataList components
  • Added RaycastingExtensions
  • Added ToCamelCase to StringExtensions
  • Added CustomUI to Interactable Object
  • Added placementOffset to CircularPlacement
  • Added Checkbox UI component
  • Added Inline List UI component
  • Added DebugConsole
  • Added Label UI component

Updates#

  • Updated Broadcaster to be DoNotDestroyOnLoad
  • Updated Public Broadcast to supply Sender parameter