com.unity.graphtools.foundation 0.10.0-preview
com.unity.graphtools.foundation
Notes: processedReleased April 30, 2021
Unity Compatibility
Minimum Unity: 2020.3
Package Dependencies
✨ Features
- The models and their interfaces now interact with the stencil through the new `IStencil` interface.
- Added the `ContextNode` class.
⚡ API Changes
- `IBlackboardGraphModel.PopulateCreateMenu`; Please use `Stencil.PopulateBlackboardCreateMenu` now.
- The version of `GraphModel.CreateItemizedNode` that took a `GraphToolState` as a parameter; Use the other version instead.
- `SerializableGUID.FromParts`. Use the appropriate `SerializableGUID` constructor instead.
- The Resources folder.
📈 Improvements
- `NodeModel.m_Collapsed` is now serialized.
- `Stencil` are not serialized anymore.
- `GraphViewEditorWindow.CanHandleAssetType` is now abstract.
- Moved the following to the new `Unity.GraphTools.Foundation.Overdrive.Model` assembly:
- - All the model interfaces and extensions
- - GTF implementations of the model interfaces
- - `Capabilities`
- - `Direction`
- - `Orientation`
- - `PortType`
- - Helpers to convert `SerializableGUID` to `GUID` and vice versa
- - `IDependency`, `LinkedNodesDependency` and `PortalNodesDependency`
- Moved the following to the new `Unity.GraphTools.Foundation.Overdrive` runtime assembly:
- - `Enumeration`
- - `SerializableGUID`
- - `MemberInfoUtility`
- - `TaskUtility`
- - `TypeHandle` and all the supporting classes and extensions
- - Extensions for `Assembly`, `HashSet`, `IEnumerable` and `string`
- - Serialization dictionary helpers
- `StringExtensions.CodifyString` is now a real extension method.
- Reworked `EditorStateCache.GetState` to always add newly created state components to cache.
- `Command` was renamed `UndoableCommand`.
- `CommandDispatcher.GraphToolState` is obsolete. Use `CommandDispatcher.State`.
- `GraphToolState.PreDispatchCommand` and `GraphToolState.PostDispatchCommand` are now methods of the `CommandDispatcher`.
- `StateObserver` is now a generic. Use the observed state type as the type parameter.
- `PersistedEditorState` was renamed `PersistedState`.
- `BlackboardField.NameLabel` setter is now protected.
- `DeclarationModel.Title` is not anymore modified after renaming to make it C# compatible.
- `GraphView` name is now mandatory in constructor.
- `IGraphModel.Name` no longer has a setter. The default `GraphModel` implementation returns the name of the associated asset.
- The default value of `GraphView.SupportsWindowedBlackboard` changed from `false` to `true`.
- By default, the "Build All" and "Live Tracing" buttons will not show up for graph tools.
- You will need to provide your own ToolbarProvider to enable them.
- When opening an graph window on its blank page, only the "New Graph", "Save All" (both disabled) and "Option" (enabled) buttons will now show in the toolbar.
🔧 Bug Fixes
- Math book samples using functions now reload properly.
- Math book graphs have access to shortcut keys.
- EditableLabels no longer need 3 clicks to focus on recent editors.
- Shortcuts registered with `ToolShortcutEventAttribute` can now be registered for a specific tool.
- When a graph asset is deleted or renamed, the window is updated to reflect the change.
- Fixed rendering issue that occurs when the UI Toolkit package is installed.
- Fixed Unity shortcuts being broken by using a GTF based tool.
- Fixed the dispatcher not notifying observers of state modified by another observer.
