UNPKG

com.phantomsxr.unityfusion

Version:

663 lines (384 loc) 12.5 kB
# 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