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.28This 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>
andGetComponentsInActor<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
toGDTK
- 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