com.phantomsxr.unityfusion
Version:
663 lines (384 loc) • 12.5 kB
Markdown
# 3.0.6
## Updated
- Update commit and docs
# 3.0.5
## Improved
- Add missing clrs and reduce GC
# 3.0.4
## Fixed
- Fixed UnityFusion not invoke
# 3.0.3
## Update
- Update core to newly version
# 3.0.2
## Fixed
- Fixed an issue where 'USE_AUDIO_MODULE' was invalid due to Foundation
# 3.0.1
## Changed
- Upgrade dependencies
# 2.0.6
## Fixed
- Compatible with Unity2022
# 2.0.5
## Added
- Added 'AudioModule' support
# 2.0.4
## Added
* Added `enum BindingPhase` to define explicit binding phases (`AddClass`, `SetValue`, `Activate`, `SetRenderer`)
instead of relying on magic indexes.
* Added `IBindingStep.Phase` property for clear phase identification per binding step.
* Added `IBindingStep.ExecuteAsync()` as the unified asynchronous execution interface.
* Added detailed error handling and logging for each binding phase to improve debugging and fault tolerance.
* Added dictionary-based step registration (`Dictionary<BindingPhase, IBindingStep>`) for easier lookup and
extensibility.
## Changed
* Changed constructor to accept `IEnumerable<IBindingStep>` instead of a fixed list; automatically builds a dictionary
by `Phase`.
* Changed `BindScript()` to `BindScriptAsync()` — now executes phases sequentially in logical order and isolates errors
per phase.
* Changed `BindScriptBatch()` to `BindScriptBatchAsync()` — executes each binding phase sequentially while running
binders in parallel within each phase.
* Changed flow to be based on ordered phases (`OrderBy(s => s.Phase)`) rather than hardcoded index access.
* Changed exception handling strategy — single phase failures no longer stop the entire binding process.
## Removed
* Removed direct array index references like `bindingSteps[0]`, `bindingSteps[1]`, etc., improving scalability and
readability.
## Fixed
* Fixed potential `NullReferenceException` in `BindScriptBatch()` when input arrays were empty or steps missing.
* Fixed inconsistent async handling that could block Unity’s main thread under heavy batch operations.
* Fixed lack of semantic mapping between binding logic and its execution order.
# 2.0.3
## Fixed
- Fix unable to get an object (script from a parent object) when initializing a child object script
- Fixed a type matching error when fetching a parent class type (child class object) resulting in components not
fetching correctly.
# 2.0.2
## Added
- Added missing compilerServices clr of loadassets
## Fixed
- Editor: PrefabChangeMonitor no longer re-dirties an open prefab after Ctrl+S save.
# 2.0.0-pre.88
## Fixed
- Compatible with Unity2022
# 2.0.0-pre.87
## Fixed
- Compatible with Unity2022
# 2.0.0-pre.86
## Fixed
- Fixed UnityFusionType component get failed.
# 2.0.0-pre.85
## Added
- Added new clrs:
- System_Func_1_ILTypeInstance_Binding
- Dictionary_2_Int32_Func_1_ILTypeInstance_Binding
- Dictionary_2_Type_List_1_Delegate_Binding
- List_1_Delegate_Binding_Enumerator_Binding
- List_1_Delegate_Binding
- and more...
## Fixed
- Fixed multiple inheritance issue
## Changed
- Clearer responsibilities. Remove codes that are not part of your own responsibilities
# 2.0.0-pre.84
## Added
- Added ProcessMonoBinderBatch eventer
# 2.0.0-pre.83
## Fixed
-Fixed When the Child Object's activate is False, using UnityFusion Build With Convert does not execute.(#186)
# 2.0.0-pre.82
## Fixed
- Fixed asset reference with new code struct
# 2.0.0-pre.81
## Fixed
- Fixed 'OnBeforeSerialize' and 'OnAfterDeserialize' methods in last urp UniversalAdditionalCameraData_Binding
# 2.0.0-pre.80
## Fixed
- Fixed incorrect runtimeScript name on inspector
## Changed
- Improved performance
- Use EditorNotification instead
- Improved code structure
# 2.0.0-pre.79
## Added
- Add binding method for NGO system
# 2.0.0-pre.78
## Changed
- Optimize the project
# 2.0.0-pre.77
## Added
- Added FileInfo binding
- Added TimeSpan binding
- Added FileSystemInfo binding
- Added Resolution binding
- Added Application binding
- Added Exists,ReadAllBytes,LoadImage method clr redirection
## Changed
- Changed Enable UnityFusion to Enable UnityFusion Trace
# 2.0.0-pre.76
## Added
- Added missing `MinMaxCurve_Binding` clrs
# 2.0.0-pre.75
## Fixed
- Remove non-related scripts
# 2.0.0-pre.74
## Added
- Added Missing CLRs
# 2.0.0-pre.73
## Fixed
- Fixed MonoBinder execute order when use Object.InstantiateAsync
# 2.0.0-pre.72
## Fixed
- Fixed an automatic postprocessor injection error when injection is not required
# 2.0.0-pre.71
## Fixed
- Fixed convert to monobinder batch not work after exit play mode
# 2.0.0-pre.70
## Fixed
- Fixed Null Exception when call Codehook.Dispose
## Changed
- Changed List<MonoBehaviour> to List<XRMOD.Adapter>
# 2.0.0-pre.69
## Added
- Added UnityFusion Log Redirection
## Fixed
- Fixed XRMODBehaviour.Adapter NicifyName
## Changed
- Changed package dependencies
# 2.0.0-pre.68
## Fixed
- Fixed XRMODBehaviour not work when call InstantiateAsync
# 2.0.0-pre.67
## Fixed
- Fixed GetComponentsInParent,GetComponentsInChild type error
## Changed
- Removed useless files
# 2.0.0-pre.66
## Fixed
- Fixed the error of using LayerMask directly instead of LayerMask.Value
- Fixed an issue with MonoBinder/MonoInspector not parsing DataProperty fields with non-public types but with
SerializeField
# 2.0.0-pre.65
## Added
- Added List<T> inject support
## Changed
- Changed DataProperty display style
# 2.0.0-pre.64
## Added
- Added Custom Data Property for MonoBinder support(Class Model)
# 2.0.0-pre.63
## Fixed
- Fixed List<UnityComponent>.AddRange bug
- Fixed batch convert To MonoBinder
- Add new clrs
## Changed
- Add `priority` for menu item
# 2.0.0-pre.62
## Fixed
- Fixed error after first-time installing
## Changed
- Combined all editor scripts into one editor folder
# 2.0.0-pre.61
## Fixed
- Fixed build error. Because the editor asmdef is not only Editor
# 2.0.0-pre.60
## Add
- Add support Localization component fixing
## Changed
- Remove the extra editor asmdef file. Merge them into UnityFusion.Editor.
# 2.0.0-pre.59
## Fixed
- Fixed RuntimeAssetReferenceDatabase load failed
- Fixed the Changelog's fixed tag from the previous version
# 2.0.0-pre.58
## Fixed
- Fixed load RuntimeAssetReferenceDatabase asset failed with in legacy project
# 2.0.0-pre.57
## Added
- Added load RuntimeAssetReferenceDatabase when xr-experience loaded
- Added auto collection Runtime asset references data when ConvertToMonoBinder
## Fixed
- Fixed incorrect type of Sprite and Texture2D when auto add asset reference object to Package tools contents
- Fixed List<T>/Array<T>/Unity Object support for ConvertToXRMODBehaviour
## Changed
- Separate ConvertToMonoBinder and ConvertToXRMODBehaviour from main file
# 2.0.0-pre.56
## Added
- Added add asset reference record for RuntimeAssetReferenceDatabase when ConvertToXRMODBinder
## Fixed
- Fixed Unity Component set value incorrect when Convert To XRMODBehaviour
# 2.0.0-pre.55
## Updated
- Update to support Unity6.1(Supported)
# 2.0.0-pre.54
## Fixed
- Fixed the error that the child object component could not be retrieved when MonoBinder was converted to
XRMODBehaviour.
- Fixed serializer field data
# 2.0.0-pre.53
## Fixed
- Fixed Cross-domain multiple inheritance bug
```C#
public class PlayerBase:XRMODBehaviour,IDamaage{}
public class AIPlayer:PlayerBase{}
// Error when call GetComponent<TutorialPlayer>()
public class TutorialPlayer:AIPlayer{}
```
# 2.0.0-pre.52
## Added
- Added MonoBinder to XRMODBehaviour
## Fixed
- Fixed Primitives data binding
- Fixed AnimationCurveArray data binding
- Fixed Vector2/3/4,Quaternion Array data binding
## Changed
- Changed MenuItem path to Tools/XR-MOD/Tools
# 2.0.0-pre.51
## Fixed
- Fixed **GetComponentsInChildren** Type error bug
# 2.0.0-pre.50
## Removed
- Removed useless adapter scripts of XRI
# 2.0.0-pre.49
## Added
- Add fix SDKInformation.asset process
# 2.0.0-pre.48
## Improved
- Improved UnityFusion Core. Slightly improved performance on accessing fields through aggressive inlining
# 2.0.0-pre.47
## Added
- Add XRMOD_INSTALL to defineconstraits
# 2.0.0-pre.46
## Added
- Add MaskableGraphic adapter
- Add Selectable adapter
- Add TMPro TextMesh clr
## Fixed
- Fix InvokeConstructor for MonoBinder
## Removed
- Remove **BundleDetails_Binding**
# 2.0.0-pre.45
## Added
- Add **InstantiateAsync** support
- Add **Diagnostics Stopwatch** Binding
- Add **AsyncInstantiateOperation GameObject** Binding
- Add **AsyncInstantiateOperation GameObject Awaiter** Binding
- Add **InstantiateParameters** Binding
- Add **LineRenderer List** Binding
- Add **Sprite List** Binding
- Add **Button List** Binding
- Add **UIImage List** Binding
- Add **RectTransform List** Binding
- Add **Canvas List** Binding
- Add **Canvas Group List** Binding
- Add **Toggle Group List** Binding
- Add **Toggle List** Binding
- Add **Dropdown List** Binding
- Add **TextMeshPro List** Binding
- Add **TextMeshProUGUI List** Binding
- Add **RawImage List** Binding
- Add **Slider List** Binding
- Add **Scrollbar List** Binding
- Add **InputField List** Binding
- Add **Particle System List** Binding
- Add **BoxCollider List** Binding
- Add **SphereCollider List** Binding
- Add **MeshCollider List** Binding
- Add **CapsuleCollider List** Binding
- Add **Character List** Binding
- Add **Animation List** Binding
- Add **Animator List** Binding
- Add **Quaternion List** Binding
- Add **MeshFilter List** Binding
- Add **MeshRenderer List** Binding
- Add **SplineContainer List** Binding
- Add **AudioSource List** Binding
- Add **AudioClip List** Binding
- Add **Light List** Binding
- Add **Sorting Group List** Binding
- Add **SpriteRenderer List** Binding
- Add **VideoPlayer List** Binding
- Add **Camera List** Binding
## Improved
- Optimize InstantiateCLRRedirection parameters name
# 2.0.0-pre.44
## Added
- Add trigger action to start process MonoBinder via ActionNotificationCenter
- Add DateTime getNow clr
- Add UnityFusion Debug Service
## Fix
- Fix CLR direction and Optimize
## Remove
- Remove Convert To MonoBinder Button on XRMODBehaviour component. Use Right-click component context menu insead.
- Remove On Multiplayer Event callback
## Improved
- Optimize code struct
- Optimize XRMODBehaviourAdapter
- Optimize XRMODBehaviourAdapter Component display name
# 2.0.0-pre.43
## Added
- Add AudioClipData asset load
## Fix
- Fix List<System.Int32> delegate Adapter missing error
- Fix MonoBinder error when bind the LayerMask field
- Fix when PackageTools does not have a project or is not opened, using binder to fill in asset will result in an error.
## Change
- Change Instantiate function name to DoBinding in the Hooks/Runtime/Utility.cs
- Change Convert To MonoBinder button to Context Menu(Right click the target)
## Improved
- Improved Delegate register of primitive types
# 2.0.0-pre.42
## Improved
- Improved location Services useage
# 2.0.0-pre.41
## Removed
- Remove Try catch in ILIntepreter
# 2.0.0-pre.40
## Fix
- Fix module clr not injected into application domain
# 2.0.0-pre.39
## Add
- Add Particle sub mode clrs
## Fix
- List\<GameObject\> Binding failed
## Fix
- Fix ConstrainSource not found error
- Fix [Particle]Cannot find method:set_enabled in type:UnityEngine.ParticleSystem+RotationOverLifetimeModule
# 2.0.0-pre.38
## Fix
- Fix does not work with start method when script componenthas not OnEnable method
# 2.0.0-pre.37
## Fix
- Fix when the object is in the Deactivate state, MonoBinder start still executes.
# 2.0.0-pre.36
## Removed
- Removed Fusion2 dependency from Clr. Move fusion2 clr to photon module UnityFusion.
# 2.0.0-pre.35
## Added
- Add Events,Particles clrs
- Add missing clr types
## Improved
- Reduce GC
- Improved OnEvent GC
# 2.0.0-pre.34
## Fix
- Fixed the issue that a large number of GCs were generated when loading Assetbundles.
# 2.0.0-pre.33
## Fix
- Fix component array render of mono behaviour adapter inspector.
## Removed
- Removed uesless code.
# 2.0.0-pre.32
## Fix
- Fix double-click log redirection
# 2.0.0-pre.31
## Removed
- Removed LoadTTypeAssetRedirection.cs. And move to XRMODAPI UnityFusion
- Removed XRMOD-API Reference
# 2.0.0-pre.30
# 2.0.0-pre.29
# 2.0.0-pre.28
## Added
- [CLRs]: Added CLRs
- [Cores]: Move to Cores folder
- [Hooks]: Added Hooks
- [Adapters]: Added Adapters