All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
2.7.3 - 2025-04-09
- Fixed
Transactiondisposed twice when play mode ends.
2.7.2 - 2025-02-05
- Fixed json conversion error when processing
Collectiontypes.
2.7.1 - 2024-08-08
- Restore Ignored
.metafiles.
2.7.0 - 2024-07-12
- Add integration support for Cysharp's R3.
- Updated minimum Unity version to 2021.3 (LTS).
- Refactor handling multiple library in regard to R3 integration support.
- Forwards all UniRx related methods to R3.
- UniRx is now considered obsolete, as its support is no longer maintained.
- Separates
GameEventCollectionclass (obsolete) into its own file. - Separates
Subscriptionclass into its own file.
- Add Documentation source files
- Add Actions for deploying documentation static website.
- Published Documentation static website on GitHub Pages.
2.6.1 - 2024-02-25
- Add
UnityEventBatchBinderthat binds multiple GameEvents intoUnityEvent.
- Mark
GameEventCollectionas Obsolete. - Fix refactoring file rename leak.
- Fix unexpected behavior when editor's domain reload is disabled.
- Rename
RequestResponseEventUniTaskSampleand its contents toTransactionUniTaskSample.
- Removed
SaveAndRefreshHelper. It is considered unnecessary and can be a heavy process on larger project.
2.6.0 - 2024-01-08
- Add
Transactionas a replacement toRequestResponseEventfor naming purpose. - Mark
RequestResponseEventas Obsolete. - Rename
RequestResponseEventsample intoTransactionsample.
2.5.10 - 2023-09-26
- Add null check on
CollectionCore
2.5.9 - 2023-06-12
- Fixed
Collection<TKey, TValue>which does notClear()properly.
2.5.8 - 2023-06-01
- Removed debug log from
VariableCore - Ignore ArgumentException on
VariableCore"hack". → Ignore exception for Engine Types.
2.5.7 - 2023-05-16
- Fixed token handling and disposal of Reactive Properties on UniTask's
RequestResponseEvent. - Fixed json not loaded when loading on Awake/Start.
- Fixed (hack)
VariableCore'sautoResetValueon Class type due to shallow copy. Since this is a hack, it is better to avoidautoResetValueon class type and try to usestructinstead.
2.5.6 - 2023-04-28
- Update
Collectionvalue subscription index when inserting an element.
2.5.5 - 2023-04-27
- Fixed infinite loop on Cleanup (Dispose) operation.
- Removed redundant code.
- Null and loop check.
2.5.4 - 2023-04-27
- Fixed unnecessary
GameEventRaise on Inspector code. - Attempt to improve ScriptableObjects' lifetime event handling.
- Expose RequestResponseEvent's
RequestAsObservable,ResponseAsObservable,RequestAsAsyncEnumerable, andResponseAsAsyncEnumerable. - Added
SubscribeToCountalong withCountObservableandCountAsyncEnumerableon Collection. - Disposal handling and other minor performance improvement attempt.
2.5.3 - 2023-03-28
- Fixed build error from refactored code being unchanged inside
#if - #endifconditionals. - Fixed
autoResetValueonVariableCoreand update related callback methods. - Prevents multiple call of Editor code for every Kassets instances.
- Fixed
VariableCoreunable to compare null value onValueChangedcheck.
2.5.2 - 2023-03-18
- Editor-Only Json File Operation in Inspector for Kassets' Variable derived Instances.
- Log feedback when raising event from Inspector.
- Command's
Execute()is now abstract on UniTask version andExecuteAsync()is now virtual (which callsExecute()by default). - Fixed missing extension when checking existence of json file.
- Removed some sample's dependency from UniRx.
- removed
InstanceSettingsas a class and use them as individual field. This prevents 'GameEvent' to have unecessary settings for 'Variable'.CAUTION: as Unity Serialization lose access toinstanceSettingsfield, the settings for existing instances will reset.
2.5.1 - 2023-02-25
- Fixed Editor Extension Custom Drawer to display properly when viewed over a Component.
- Json Extension Utility will convert custom types in root level without "value" label.
- Fixed Custom Editor not drawing Quaternion field properly on Unity 2020.
2.5.0 - 2023-01-19
- Sample for
KassetsJsonExtensionutility.
- Fixed Editor Drawer compilation error on Unity 2020.3.
- Added Unity 2021 Conditional for
ObjectPoolsamples. - Added Non-Generic interface
IVariablefor Variable Systems. - Json Extension Utility now use interface
IVariable<T>as parameter instead ofVariableCore<T>. - Added Experimental feature on Json Extension Utility which use IVariable as parameter. This allows conversion to/from json string using reflection without knowing variable's generic type. Please use with care.
2.4.3 - 2022-10-26
- Added
AsObservable()andAsAsyncEnumerable()when bothUniRxandUniTaskexists together. - Minor improvement and code formatting on editor code.
- Note : Updated minimum Unity version to 2020.1 due to some
C#formatting.
2.4.2 - 2022-10-25
- Fixed timing of entering play mode (use ExitingEditMode instead) which were used for
AutoResetValuetiming.
2.4.1 - 2022-10-24
QuaternionCollectionPoseCollectionInstanceSettings: Grouped kassets instance's settings (i.e. Variable event type) into one class.
- Fixed wrong type of
Vector3Collection, fromVector2to the correctVector3. - Fixed conditionals (Scripting Define) on UniTask Samples.
- Improve Custom Editor code (Custom class no longer show "Value" dropdown).
- Kassets' Instance Inline inspector editing for
Collectioncurrently doesn't work. - Kassets' Instance Settings
Auto Reset Valuecurrently doesn't work properly.
2.4.0 - 2022-06-10
- Wrap Object Pool into Kassets' ScriptableObject
- Object Pool Sample
- Note: Object Pool is a new feature and only available from Unity version 2021 or later.
- Fixed error when adding an element into
Collection<TKey, TValue> - Added Fire-and-Forget for
RequestResponse<TRequest, TResponse>
2.3.1 - 2022-04-21
- Fixed Subscribe to Request do not receive Request.
2.3.0 - 2022-04-21
- Added feature to Subscribe to Request of
RequestResponse<TRequest, TResponse>without reponse. - Added feature to Subscribe to Response of
RequestResponse<TRequest, TResponse>without requesting. - Added sample for Subscribe to Request and Subscribe to Response.
2.2.1 - 2022-04-14
- Fixed
Collection<TKey, TValue>doesn't reflect its value correctly asIDictionary<TKey, TValue>. - Set independent
GameEventbuffereddefault value tofalse. - Fixed
Null Reference Exceptionon subscription disposal and buffered subscription.
2.2.0 - 2022-04-04
- Scriptable Object can now be added to a Prefab or another Scriptable Object.
- Samples to demonstrate adding Scriptable Objects to a Prefab and other Scriptable Object.
- Refrenece : https://tsubakit1.hateblo.jp/entry/2017/08/03/233000
2.1.4 - 2022-03-29
- Fixed
Variable's properties not drawn properly.
2.1.3 - 2022-03-29
- Editor Script to reorder
Variablefield.Valueis now at the very bottom of the Inspector.
2.1.2 - 2022-02-15
- Update
CancellationTokenhandling. - Handle
asyncoprations using only UniTask when using Multiple library (bothUniRxandUniTaskimported). - Fix typos
2.1.1 - 2022-01-09
VariableCoreforUniTasknow Inherits InterfaceIAsyncReactiveProperty<>- Reword
BasetoCorefor some filenames. BoolUnityEventBindernow handles negatedboolvalue.StringUnityEventBindernow handlesToString()for value type other than string.- Change subscription handling on
UnityEventBinder.
2.1.0 - 2021-12-16
- Persistent Json Extension Utility for
VariableCore<T>derivations.
2.0.0 - 2021-10-27
Major version upgrade. Not backward compatible with version 1.0.x.
- Interface ICommand, ICommand
- Interface IGameEventRaiser, IGameEventRaiser
- Interface IGameEventHandler, IGameEventHandler
- Interface IVariable
- KassetsCore. Base class for all Kassets' classes.
- Kassets now Independent from external libraries.
- Kassets supports two external libraries: UniRx and UniTask.
- Samples for each Kassets' classes.
- Editor Code to view or edit ScriptableObject's from MonoBehavior's Inspector window.
- Renamed ExchangeEvent to RequestResponseEvent
- DebugLogger.
- GameEvent Forwarder
- FileLoadUtility
- RecenterCommandBinder
- XRDeviceUtility
- TransformBindUtilityExtension
- GameObjectBindUtilityExtension
- ByteConverterUtilityExtension
- ExternalJsonHandler
- PersistentScriptableObject
- Kassets Unity's Components Binder
- Removed other Non-related component
1.0.1 - 2021-09-13
- Fixed Transform binder comparison mistake.
1.0.0 - 2021-05-26
- Asynchronous Variable ScriptableObject
- Asynchronous GameEvent ScriptableObject
- Asynchronous Collection ScriptableObject
- Asynchronous ExchangeEvent (Transaction, Request-Response) Scriptable Object
- Binder and helper for Unity's Components (Transform, GameObject, etc)
- Binder and helper for Unity's UI Components
- Binder and helper for Unity's TextMeshPro
- Binder and helper for Unity's (new) Input System
- Release-excluded DebugLogger utility. See: here and there
- PersistentScriptableObject. ScriptableObject that was made to be easily exported to json.
- ExternalJsonHandler. Unity's JsonUtility Extension Wrapper.
- ByteConverterUtilityExtension. Extention Methods to convert various value into byte array.
- GameObjectBindUtilityExtension. Extention Methods for Unity's GameObject to bind with Variable value.
- TransformBindUtilityExtension. Extention Methods for Unity's Transform to bind with values such as Position, Rotation, Pose, or bind with other Transforms.
- XRDeviceUtility. Contains XR related static methods and properties.
- RecenterCommandBinder. Bind GameEvents to XR Recenter Method.
- FileLoadUtility. Contains a static method to load/download files.
- GameEvent Forwarder. Forwards GameEvent to another GameEvent or UnityEvent.
- Context on DebugLogger. Click a log on Console to highlight the log caller's GameObject on hierarchy.
- Raise Button on Inspector. Click the button to simulate GameEvent Raise from inspector.
- CancellationTokenUtility. Helper class for cancelling and refreshing CancellationToken.