Changelog #
All notable changes to this project are documented in this page.
The format is based on Keep a Changelog.
1.7.13 - 2024-10-01 #
Fixed #
- Null Reference Exception with newly created VRCAnimatorPlayAudio
#1199
- Particle System that uses local scale will be broken
#1197
- Avatars with Visame Skinned Mesh disabled will not able to upload
#1202
- Default value for RemoveMeshInBox is not correct in Play mode
#1217
- This fix will make
Initialize
method set default value forboxes
.
- This fix will make
1.7.12 - 2024-08-27 #
Changed #
- Rewritten Check for Update system
#1151
Fixed #
- VRCConstraints with Target might be removed unexpectedly
#1150
- FinalIK Gimmicks with IKExecutionOrder is broken
#1153
- Broken validation for MergePhysBone merging PhysBones with specified target
#1160
1.7.11 - 2024-08-08 #
Added #
- VRCSDK 3.7.0 support
#1140
- This includes VRCConstraints support
Fixed #
- Some Humanoid Bones might be removed
#1137
- Repeated
AddPathDependency
is broken.
- Repeated
- Render is broken if all weighted bone is none and some other non-weight bone is not none
#1138
1.7.10 - 2024-08-02 #
Added #
- Experimental VRCConstraints support
#1129
#1130
- This only works for VRCSDK
3.6.2-constraints.3
3.6.2-constraints.4
and not works with other versions including future versions.
- This only works for VRCSDK
Fixed #
- AutoMergeSkinnedMesh is broken if all merging meshes has no SubMeshes
#1127
1.7.9 - 2024-07-25 #
Fixed #
- Index out of bounds error with remove mesh by mask with negative UV
#1123
1.7.8 - 2024-07-22 #
Fixed #
1.7.7 - 2024-07-08 #
Added #
- Add Traditional Chinese
#1102
Fixed #
VRCAnimatorPlayAudio
support is broken#1114
1.7.6 - 2024-06-17 #
Fixed #
- BlendTree with NormalizedBlendValues Broken with MergeBlendTree
#1096
- Remove Zero Sized Polygon may remove small polygons
#1098
1.7.5 - 2024-06-10 #
Added #
- Warnings for bad API Usages
#1091
Changed #
- Ignore floating point precision error in Merge PhysBone
#1086
- Animation Warning of Merge Skinned Mesh will not generated if source Renderer is not animated
#1087
- Expression Parameters are now considered as a part of Avatar Dynamics Parameter destination
#1089
- Relax condition for scaled evenly check
#1092
- Trace and Optimize will merge more bones than before.
Removed #
- Write to Asset on Play menu item which is no-op
#1085
- Particle Syatem with Mesh Renderer shape will be broken
#1093
Fixed #
- Merge BlendTree Layer will break some BlendTrees that have overriden by other layers
#1084
1.7.4 - 2024-05-17 #
Fixed #
- Some rare material swap animation can cause exception
#1067
- Invalid AABB error message from UnityEngine if there are no source for Merge Skinned Mesh
#1068
1.7.3 - 2024-05-10 #
Added #
- Declare VRCSDK 3.6.x compatibility
#1060
Fixed #
- Mesh preview may cause empty mesh on enter play mode if reload scene is disabled
#1064
- MMD Compatibility can be broken with Merge BlendTree Layers
#1065
1.7.2 - 2024-05-09 #
Fixed #
- Entry/Exit to BlendTree broken with None motion in default state
1057
- An error with MergePhysBone
#1061
- Animators depends on the WD=off behavior can be broken
#1062
1.7.1 - 2024-05-07 #
Added #
Changed #
- Improved behavior with Read/Write Off
#1045
- Because of Unity limitation, AAO cannot process meshes with R/W off on
Start
so it will be error. - However, on
Awake
, we can read them so AAO should process them. - Since this version, AAO will process meshes with R/W off on
Awake
. - This reduces the number of errors on the apply on play.
- If you’re using Av3Emulator, you still see the error.
- In addition, in such case, we’ll show
Auto Fix
button on the error message. - If you press the button, AAO will fix the error by changing the mesh to read/write enabled.
- Because of Unity limitation, AAO cannot process meshes with R/W off on
Advanced Options
section has benn renamed toDebug Options
#1052
- This express the purpose of the section more clearly.
- Added
Advanced Optimizations
and movedRemove Zero sized Polygons
to it#1052
- The
Remove Zero sized Polygons
can break some shaders or animations so it’s not enabled by default. - To make it more clear, we moved it to
Advanced Optimizations
.
- The
Fixed #
- Material Slot animations for multi-material multi-pass rendering are broken
#1042
- Previously we only preserves animations for the number of submeshes instead of material slots.
- Relax Bounds condition for Automatic Merge Skinned Mesh
#1043
- Previously, AAO doesn’t merge Skinned Meshes if bounds are different accurately.
- Since this version, AAO will merge meshes if bounds are the same with precision to the last 6 digits of decimal point.
- Entry/Exit to BlendTree broken with None state
1048
- Particle System with bone-rigged Skinned Mesh Renderer will be broken
#1054
1.7.0 - 2024-04-30 #
Added #
- Animator Optimizer
#854
- Most features of Animator Optimizer is not available in Unity 2019.
- Animator Optimizer optimizes your Animator Controller without behaviour Changes
- Current Optimizer includes the following optimization
- Asset Description
#847
- Asset Description is the file to provide information of your assets for Avatar Optimizer.
- Please see documentation for more details.
- Warning for material animation in Merge Skinned Mesh
#769
- Merge Skinned Mesh does not support animating material properties differently. (In other words, it can be broken.)
- Since this version, AAO will warn for such a case.
- If you animated all materials from same animations, your animation will not be warned.
- API for declaring dependency relationship to the name of the component
#943
- You can use this API to not change the name of the GameObject.
- Configuring
Clamp BlendShapes (Deprecated)
#957
- Since VRCSDK 3.5.1, VRCSDK sets
Clamp BlendShapes (Deprecated)
to true on assembly reload. - This is not a good setting for AAO in EditMode since AAO does not support clamping BlendShapes.
- That’s why AAO now configures
Clamp BlendShapes (Deprecated)
to false in edit mode and true in play mode. - PlayMode is usually used for testing the avatar behavior so it’s better to have the same setting as VRChat client.
- If you want not to change this setting, please disable
Tools/Avatar Optimizer/Configure Clamp BlendShape Weight
.
- Since VRCSDK 3.5.1, VRCSDK sets
- Automatic Merge Skinned Mesh
#952
#972
#1010
#1020
#1021
- Trace and Optimize now automatically merges Skinned Meshes if possible.
- Trace and Optimize will merge your mesh if the material properties or enablement of the mesh is animated similarly and has no BlendShapes.
- Components API for Scripting Usage
#976
- You can now add AAO components from your script.
- Animations animating missing GameObject is removed
#994
- Since this update, animations that targeting GameObjects with post-AAO paths is no longer working.
- Please create animations that targeting GameObjects with pre-AAO paths.
- Remove Mesh by Mask
#998
- With this component, you can remove polygons with mask texture.
- You can use use mask for MeshDeleterWithTexture or alpha mask to remove polygons.
- Remove Empty SubMesh in Trace and Optimize
#1007
- This removes empty SubMeshes including becomes empty by optimization.
Changed #
- MergePhysBone now corrects curve settings
#775
- MergePhysBone now warns if chain length are not same
#775
- MergePhysBone with only one source is now error
#775
- It was not working well and not a error by a bug.
- Animator Parser is completely rewritten
#850
#968
#1011
- New Animator Parser allow us to track animating properties animated by components removed by AAO.
- PhysBone that swings no bones are now removed
#864
- I found such a PhysBone on Lime so I added this feature.
- Switched Localization system to NDMF from CL4EE
#873
- Since this release, Avatar Optimizer is no longer depends on CL4EE.
- Because VCC doesn’t remove unused packages, CL4EE may still be installed on your project.
- If you want to remove CL4EE, please remove it manually.
- Suppressed animated BlendShape warning of FreezeBlendShape if it’s animated to a few constants
#881
- Modern models have tons of BlendShapes to change their face shape but emotion animation of some of them animates such a BlendShapes to constant (default value).
- That’s unnecessary (incorrect I think) and force users to remove or change the clip when user wants to face shape.
- I see AAO users use
FreezeBlendShapes
for overriding such a BlendShapes on twitter. - I think using this way is reasonable enough so I suppressed the warning if AAO detected such a usage.
- Changed minimum VRCSDK to 3.3.0
#882
- VRCSDK 3.3.0 is required for stable NDMF-VRCSDK compatibility.
- Endpoint Position settings for newly created MergePhysBone is now Copy instead of Clear
#945
- The Clear settings will increase the number of PhysBone Transforms so it’s not better as a default settings.
- Improved activeness animation warning in Merge Skinned Mesh
#948
- Reduced false-positive warnings
- Previously, AAO warns if activeness warning is applied to different GameObjects.
- However, this can be false-positive if animation is applied to different GameObjects with same timing.
- Since this version, AAO will not warn if the activeness is animated in same animation clip with same curve.
- Combined warning per Merge Skinned Mesh component.
- Previously, AAO warns for each source Renderers.
- Since this version, AAO creates one warning for each Merge Skinned Mesh component.
- Reduced false-positive warnings
- Add error for Cloth component in Merge Skinned Mesh component
#949
- The Cloth component is not supported by Merge Skinned Mesh component.
- In previous versions, AAO will keep the source Skinned Mesh Renderer if it’s with Cloth component by bug.
- Since this version, AAO will make an error if the source Skinned Mesh Renderer is with Cloth component.
- Remove Unused Objects now removes PhysBones and Contact Receivers with parameters defined but not used by Animator Controllers
#959
- Previously, AAO did not remove PhysBones and Contact Receivers if they are defined in Animator Controllers whether they are used or not.
- I thought such a PhysBones on the base body are rare but my friend told me there is Manuka has such a PhysBone so I added this feature.
- Dropping GameObject to PrefabSafeSet adds the All components on the GameObject to the PrefabSafeSet
#960
- You can add all PhysBones on the GameObject by dropping the GameObject to the MergePhysBone component.
- MergeSkinnedMesh now warns if Root Bone or Anchor Override are not set
#963
- It will be error if read/write mesh is off in play mode again
#1018
- I found that we may not possible to read mesh with r/w mesh off mode in play mode with the Av3Emulator.
- Disabled AutoFreezeBlendShape for Skinned Mesh Renderers with Cloth component
#1029
- According to the report, making some polygons zero-size by AutoFreezeBlendShape will make initializing avatar extremely heavy.
- After a small discussion, we decided to not automatically optimize Skinned Mesh Renderers with Cloth component.
Removed #
- Compatibility with VRCQuestTools v1.x
#847
- Please use VRCQuestTools v2.x, which has compatibility with AAO.
Fixed #
- Inspector of ComponentTypePair (GCDebug) is broken
#846
- Bones swung by unused PhysBones (which will be removed by AAO) are not merged
#850
- Note that To fix this problem, AnimatorParser is almost completely rewritten.
- It’s not expected to have behavior change, but if you found some, please report it.
- Re-fix Nested Constraint can be broken with Trace and Optimize
#880
- Fix non-VRChat project support
#884
- Fix VRM support
#892
- ArgumentNullException in Edit-mode Remove Mesh Preview
#942
- Bad behavior if EditMode preview is enabled when entering play mode
#956
- PlayableLayerControl or AnimatorLayerControl on non-root animator are ignored
#964
- Box Editor of Remove Mesh in Box can be broke with scale of Skinned Mesh Renderer
#1019
1.6.13 - 2024-04-13 #
Fixed #
- Animator Controller on the VRCStation will be broken
#1002
- Remove Component can be fails with RequireComponent attribute
#1003
1.6.12 - 2024-04-09 #
Removed #
- Activeness Optimization for Constraint component
#996
- The constraint component is too complex to optimize correctly and reliably
1.6.11 - 2024-04-07 #
Fixed #
- Bounds become broken if Update When Offscreen is enabled
#990
1.6.10 - 2024-04-05 #
Fixed #
- Missing Reference Exception with Trace and Optimize
#986
1.6.9 - 2024-03-27 #
Added #
Fixed #
- ContextHolder become unknown component in NDMF 1.4.0
#946
1.6.8 - 2024-03-12 #
Fixed #
- If some component refers external component, internal error
#921
1.6.7 - 2024-02-28 #
Fixed #
- Compilation Error due to VRCImposterSettings with VRCSDK 3.2.x
#905
- Skinned Mesh Renderers with None mesh will become Mesh with no polygons
#906
- This may affects bounds of Performance Rank in VRChat
- Exclusions not working with Automatically Remove Zero Sized Polygons
#907
- Fix non-VRChat project support
#884
(backport in#909
) - Merge Toonlit with uv tiling is broken
#911
1.6.6 - 2024-01-31 #
Fixed #
- Some features are not working well if
Trace and Optimize
is not attached#876
1.6.5 - 2024-01-29 #
Changed #
- AvatarOptimizer now uses ErrorReporting API of NDMF instead of our own API
#805
- Project is slightly renamed to AAO: Avatar Optimizer
#830
- The term
AAO
andAvatar Optimizer
are not changed, but display name on the VCC is changed toAAO: Avatar Optimizer
- The term
Fixed #
- Fix support for UniVRM components
#802
- VRM: Fix MergeSkinnedMesh breaking BlendShapeClip / VRM10Expression
#810
- Unknown component warning were shown multiple time for one type
#818
- In addition, location of the unknown components are shown on the error report.
- Empty Armature trick broken
#819
- Added workaround for
Array index (n) is out of bounds (size=m)
error - Humanoid Bones may be removed by Trace and Optimize
#831
- Add
license
,documentationUrl
, andchangelogUrl
to package.json#851
- Nested Constraint can be broken with Trace and Optimize
#857
1.6.4 - 2023-12-10 #
Fixed #
1.6.3 - 2023-12-09 #
Added #
- Support for VRCSDK 3.5.x
#787
- Actually, previous version of AAO works well with VRCSDK 3.5.x / Unity 2022 with tiny bugs.
- I’ve fixed some bugs in Unity 2022 in this release.
- Since this version, package.json declares Avatar Optimizer is compatible with VRCSDK 3.5.x.
- I was planned to release this changes while VRCSDK 3.5.0 is in beta.
- However, VRCSDK 3.5.0 beta was only 3 hours so I could not.
Fixed #
- Fix NullReferenceException on Unity 2022 when extra Animator components are present
#778
- Fix Errors with Generic Avatars
#779
- Editing Prefabs with AAO Components in Unity 2022 will cause Error
#782
- Error if there are reference to Prefab Asset PhysBone Collider
#783
- Remove Mesh in Box editor broken if inspector is narrow
#784
- Errors for partially incorrectly configured avatars
#786
- Since this release, instead of internal errors, warnings are shown
1.6.2 - 2023-11-30 #
Fixed #
- Path remapping for merge bone will not work well in some (relatively rare) case
#764
- Error due to PhysBone collider with root bone outside avatar
#766
1.6.1 - 2023-11-29 #
Fixed #
- Error if there are None colliders for PhysBone
#758
- BlendShapes can broken in extreamly rare cases
#760
- It seems this is due to Unity bug.
1.6.0 - 2023-11-27 #
Added #
- Public API for registering component information
#632
#668
- Disabling PhysBone animation based on mesh renderer enabled animation
#640
- If you toggles your clothes with simple toggle, PhysBones on the your avatar will also be toggled automatically!
- Small performance improve
#641
- Ability to prevent changing enablement of component
#668
- Remove Zero Sized Polygons
#659
- Add support for UniVRM components
#653
- Support for Mesh Topologies other than Triangles
#692
- Skip enablement mismatched Renderers in Merge Skinned Mesh
#670
- This is now enabled by default for newly added Merge Skinned Mesh.
- Error for MergeBone on the Avatar Root
#716
- Warning for conflicts with animation
- PhysBone Optimization
#733
- Unnessesary isAnimated is now unconfigured
- Floor Colliders with same configuration will be merged to one floor collider
- Minimum Support for FinalIK
#735
Changed #
- All logs passed to ErrorReport is now shown on the console log
#643
- Improved Behaviour with multi-material multi pass rendering
#662
- Previously, multi-material multi pass rendering are flattened.
- Since 1.6, flattened if component doesn’t support that.
- Remove Unused Objects removes meaningless Animators and Renderers
#709
- Renderers without Mesh and Animators without AnimatorController is meaningless
Removed #
- Legacy GC
#633
- Preventing removing
IEditorOnly
in callback order -1024#658
- This is no longer needed since 1.5.0 but I forgot to remove so I removed in 1.6
Fixed #
- Improve support of newer Unity versions
#608
- Improve support of projects without VRCSDK
#609
#625
#627
- Prefab blinks when we see editor of PrefabSafeSet of prefab asset
#645
#664
- complex shader with SkinnedMeshRenderer without Bones Brokebn
#694
- bounds can be changed in apply on play if updateWhenOffscreen is true
#697
- Compatibility with transform moving plugins
#715
- Remove Mesh in Box was not working well with FloorAdjuster
- Some missing components warnings
#736
- warning for
ONSPAudioSource
,VRCImpostorSettings
, andRectTransform
are fixed
- warning for
- Remove Unused Object may break ParticleSystem
#738
- Trigger Colliders can be disapper if you specify Transform instead of Collider instance.
- Initially diabled particle system module will be ignored
- MergeBone breaks
ignoreTransforms
of PhysBone#745
1.5.11 - 2023-11-18 #
Fixed #
- Dynamic Bone support not working
#727
1.5.10 - 2023-11-04 #
Fixed #
- RigidBody Joint can be broken
#683
1.5.9 - 2023-10-29 #
Fixed #
- Animation clip length can be changed
#647
1.5.8 - 2023-10-20 #
Fixed #
- warning about VRCTestMarker when Build & Test
#628
1.5.7 - 2023-10-19 #
Added #
- Add compatibility for VRCQuestTools
#619
Fixed #
- AutoFreezeBlendShape will freeze BlendShapes with editor value instead of animated constant
#622
1.5.6 - 2023-10-17 #
Changed #
- Make no-op as possible if no AAO component attached for your avatar
#603
- Error Report window is refreshed after exiting play mode
#606
Removed #
- Error for Read/Write Mesh off Mesh
#615
- Since AAO creates Mesh every time, no more error is required!
Fixed #
- Multi-frame BlendShape can be broken
#601
- Update notice may show incorrect version
#602
Preview
button is not disabled even if mesh is none#605
- BindPose Optimization may break mesh with scale 0 bone
#612
1.5.5 - 2023-10-15 #
Fixed #
- Constraints and Animations can be broken with Automatic MergeBone
#594
- NRE with SMR with None with preview system
#596
- Some Multi-Frame BlendShape broken
#597
- BlendShape can be broken with MergeBone Optimization
#599
1.5.4 - 2023-10-14 #
Added #
- Add compatibility for Satania’s KiseteneEx
#584
Changed #
- Normal check is skipped for empty mesh
#588
- Meshes without Normal are shown on the normal existance mismatch warning
#588
Fixed #
- Error with MeshRenderer without MeshFilter
#581
- Preview not working with VRMConverter
#582
- AvatarMask about HumanoidBone broken
#586
- Unused Humanoid Bones can be removed
#587
1.5.3 - 2023-10-11 #
Changed #
- Ignore the warning instead of migration from 0.3.x or older
#570
Fixed #
- AnimatorController with Synced can be broken
#564
- AnimatorOverrideController may not be proceed correctly
#567
- Unclear behaviour if we merged meshes with and without normals
#569
1.5.2 - 2023-10-10 #
Added #
- Feature for debugging GC Objects
#543
- More MMD BlendShapes are registered
#552
- New English Translation BlendShapes are compatible with AAO!
- Check for update
#554
Changed #
- You now cannot key any of AvatarOptimizer Components
#551
- Previously you can key AvatarOptimizer Coponent but it was meaningless.
Fixed #
- EditMode Preview of RemoveMeshInBox is not correct
#550
- Avatar Standard Colliders can be removed
#553
- Freeze BlendShape may break Visame with MergeSkinnedMesh
#561
1.5.1 - 2023-10-08 #
Fixed #
1.5.0 - 2023-10-07 #
Added #
- Support for NDMF integration
#375
- Pre-building validation for MergeBone
#417
- There are some (rare) cases that are not supported by MergeBone. This adds warning for such case.
- Validation error for self recursive MergeSkinnedMesh
#418
- Advanced Settings Section for Trace and Optimize
#419
- Moved
Use Advanced Animator Parser
to there - Added
Exclusions
for exclude some GameObjects from optimization - In this section, there are for debugging GC Objects
#464
- Moved
- Avoid Name Conflict in MergeBone
#467
- Full EditMode Preview of RemoveMesh Components
#500
- Significant Performance Improvements with small code changes
#523
Changed #
- Improved ‘Remove Unused Objects’
#401
- Remove Unused Objects now removes unnecessary Components & Bones!
- With new algorithm, you can preserve end bones (
#430
) - You may use
Use Legacy GC
to use legacy algotythm for Remove Unused Objects inAdvanced Settings
(#419
)
- Performance: Share MeshInfo2 between SkinnedMesh processing and MergeBone
#421
- Declare compatible with VRCSDK 3.4.x
#513
- Change Japanese Translation of “BlendShape”
#535
Deprecated #
- UnusedBonesByReferenceTool component is now obsolete
#430
- Newly introduced algorithm of
Remove Unused Objects
does same thing! - You can migrate to
Remove Unused Objects
only with one click!
- Newly introduced algorithm of
Removed #
- internal ApplyOnPlay framework
#504
Fixed #
- Crash with Unity 2022
#423
- Due to bug in Unity Editor 2022.3 or later, Avatar Optimizer was not compatible with Unity 2022.
- Error if all vertices of some BlendShape is removed by RemoveMeshByBlendShape or RemoveMeshInBox
#440
- RemoveMeshByBlendShape on the SkinnedMeshRenderer with MergeSkinnedMesh not working
#451
- MergeBone may make some bone inactive to active if bone being merged is inactive
#454
- Avoid problematic material slot in MergeSkinnedMesh
#508
- This avoids Unity’s bug in 2019. In Unity 2022, this is no longer needed.
- Editor of EditSkinnedMesh components may not work well if the object is inactive
#518
1.4.3 - 2023-09-05 #
Fixed #
- Mesh broken with BlendShape Frame with weight 0
#408
1.4.2 - 2023-09-04 #
Fixed #
- Components/GameObjects can falsely detected as always disabled / inactive.
#403
1.4.1 - 2023-09-02 #
Fixed #
- RootBone become None with Merge SkinedMesh
#399
1.4.0 - 2023-09-02 #
Added #
- Support for Multi Frame BlendShapes
#333
- Add link to help page
#382
- Advanced Animator Parser
#343
- This is new AnimatorController parser to collect animated properties
- This parser understands AnimatorLayers, so with this parser, AAO can freeze BlendShapes which are always finally animated to a constant value.
- This also understands Additive Layer and BlendTree, so extremely rare problem in previous Animator Parser with Additive Layer or BlendTree will be fixed with this parser.
- Multi Pass Rendering of Last SubMesh support
#384
- Remove Mesh By BlendShape Editor now can set BlendShape weights to 0/100
Changed #
- Auto FreezeBlendShape now freezes meaningless BlendShape
#334
- If you removed some vertices with RemoveMeshInBox or RemoveMeshWithBlendShape, some BlendShape may transform no vertices
- Auto FreeseBlendShae now freezez such a BlendShapes
- Auto FreezeBlendShape now freezes vertices even if already FreezeBlendShape is configured.
#334
- Meshes generated by AAO now have name
#371
- This will improve compatibility with UniVRM.
- VPM Package now doesn’t include Test code
#372
#373
- Better error infomation for MeshInfo2 error
#381
- Declare compatible with VRCSDK 3.3.x
#395
- Understandable Error if there are Missing Script Component
#398
- Why VRCSDK doesn’t have such a error system?
Fixed #
- MergeBone not working well with non-restpose bones
#379
- Unclear Error with Mesh with Read/Write off
#386
- Clear Endpoint Position may not work well with ignore transforms
#390
- Clear Endpoint Position doesn’t support Undo
#390
1.3.4 - 2023-08-22 #
Changed #
1.3.3 - 2023-08-21 #
Added #
- BlendShape Weight mismatch warning is now build-time warning instad of validate time warning
#359
- Thanks to FreeseBlendShape by TraceAndOptimize, most pre-build this warning is false positive. So this warning is moved to build-time only.
Fixed #
- ClearEndpointPosition is not applied for non-first PhysBones on the GameObject
#357
- Incompatbile with Reload Scene disabaled
#358
1.3.2 - 2023-08-20 #
Fixed #
- Children of IsActive animated object is not considered
#342
- Multi Passs Rendering not supported error doesn’t have location info
#347
1.3.1 - 2023-08-19 #
Fixed #
- Unity Editor may freezes when there are circular dependency
#329
- Network ID is not assigned for newly created PBs
#331
- Internally assigned animator controller is not skipped for default choosen playable layer in Trace and Optimize
#332
- VRCSDK assigned default animators are not considered in Trace and Optimize
#332
- This bug doesn’t create bad behavior for now but will does in the feature.
- Humanoid Animation are not considered in Trace and Optimize
#332
- This bug doesn’t create bad behavior for now but will does in the feature.
- Material Slot with null material is created if there are more SubMesh than Material Slots
#337
- AAO silently ignored multi pass rendering
#337
- For now, multi pass rendering of last SubMesh is not (yet) supported so now cause error but will be supported.
- There is no warning about BlendShape weight difference
#336
1.3.0 - 2023-08-12 #
Added #
- Remove always disabled objects
#278
- The new Remove Mesh By BlendShape component removes mesh data based on BlendShapes.
#275
- Option to process Make Children before modular avatar
#296
Changed #
- Use UnityEditor api to compress texture
#276
- This also adds some supported texture formats.
- Every component have
AAO
prefix in their name now#290
- The official shorthand for this tools is
AAO
!
- The official shorthand for this tools is
Automatic Configuration
component has been renamed toTrace And Optimize
#295
Fixed #
- UnusedBonesByReferenceTool error with SMR without mesh
#280
- MergeSkinnedMesh doesn’t work well with eyelids
#284
- Animating Behaviour.m_Enabled not working
#287
- Error Report Window may not refreshed after build error
#299
- Apply On Play may not working well
#305
- Some components unexpectedly can be added multiple times
#306
1.2.0 - 2023-07-26 #
Added #
- Automatic bounds computation in MergeSkinnedMesh
#264
- Automatic Configuration System
#265
- Currently FreezeBlendShape can be automatically configured.
- Support for material swapping animation in MergeSkinnedMesh
#274
Changed #
- Support newly activated avatars in play mode for apply on play
#263
Fixed #
- Breaks mesh without tangent
#271
1.1.1 - 2023-07-14 #
Changed #
- Avatar GameObject marked as EditorOnly no longer be removed
#261
- Previously, if avatar GameObject is marked as EditorOnly, whole avatar is removed and this confuses users.
Fixed #
- Name of failed ApplyOnPlayCallback is not included in error message
#260
- Entering play mode can be extremely slow if you have many avatar on the scene
#262
1.1.0 - 2023-07-13 #
Added #
- Now we can choose texture format for Merge Toon Lit Material
#251
- This includes one tiny BREAKING CHANGES.
- Previously MergeToonLit uses ARGB32 as texture format but for now, it use ASTC 6x6 or DXT5 by default based on platform.
Changed #
- Move Components into
Avatar Optimizer
folder#247
- Previously they are
Optimizer
folder
- Previously they are
- Completely rewrite apply on play system
#249
- This will remove EditorOnly on play.
- This enable UnusedBonesByReferencesTool component on play.
- This replaces way to apply [modular-avatar by bdunderscore] on play.
- modular avatar will be applied before AvatarOptimizer main logic and after removing EditorOnly.
- This will remove enable/disable checkbox on components, which had no meaning.
- The framework for this changes will be published as separated framework when ready.
- Use binary form of asset file in avatar optimizer output
#252
Fixed #
- Manual bake not working with avatars with invalid file name chars
#253
- Merge Toon Lit duplicates vertex too many
#256
- This could causes huge increase in avatar size. this is now fixed.
1.0.0 - 2023-06-27 #
If you’re using v0.3.x or older, Please upgrade to v0.4.x before upgrading v1.x.x!
もし v0.3.x 以前を使用しているのであれば, v1.x.xに更新する前に v0.4.x に更新してください!
Removed #
- Save format migration system
#199
- We no longer see save data in format of v0.3.x or older.
- Please migrate to v0.4.x format before installing v1.0.0.
0.4.12 - 2023-06-22 #
Added #
- MergePhysBone without ClearEndpointPosition
#239
- Instead of ClearEndpointPosition, you can use original value, or override Endpoint Position.
0.4.11 - 2023-06-19 #
Changed #
- Show error with user friendly message if BlendShape for eyelids are removed / frozen.
#253
Fixed #
- eyelids BlendShape settings are mapped even if it’s disabled
#235
- This fixes error if internally eyelids BlendShape are frozen.
0.4.10 - 2023-06-17 #
Fixed #
- PrefabSafesSet’s prefab modifications on latest layer are invisible on inspector
#229
0.4.9 - 2023-06-16 #
Fixed #
- NullReferenceException if window is in background
#226
0.4.8 - 2023-06-16 #
0.4.7 - 2023-06-13 #
Fixed #
0.4.6 - 2023-06-10 #
Changed #
- Improve ErrorReport window on build error
#216
0.4.5 - 2023-06-06 #
Fixed #
- Error in MergeSkinnedMeshProcessor with RecordMoveProperty
#214
0.4.4 - 2023-06-04 #
Changed #
- Make
Remove Empty Renderer Object
enabled by default#208
0.4.3 - 2023-06-02 #
Added #
- Adding multiple values to PrefabSafeSet
#200
- See this video for more details.
- Overriden PrefabSafeSet properties are now highlighted as blue and bold
#200
Fixed #
- Error when we removed some modification in PrefabSafeSet
#201
- There are several situations for this problem:
- When we removed value in original component
- When we removed new value in overrides
- When we reverted added twice in overrides
- When we reverted deletion in overrides
- When we reverted fake deletion in overrides
- There are several situations for this problem:
- Error when we reverted whole PrefabSafeSet with modifications
#201
0.4.2 - 2023-05-30 #
Fixed #
- MergeSkinnedMesh depends on other EditSkinnedMesh components does not working
#195
- Error with removed modified property in PrefabSafeSet Editor
#196
- Apply on Play may not work
#198
0.4.1 - 2023-05-23 #
Changed #
- Reimplemented Animation Mapping System Completely
#168
- This should fixes problem with objects/components at same place.
- Improve Animation Mapping System
#172
- This should reduce build time
- Disable animating
m_Enabled
of source SkinnedMeshRenderer#190
- Animating
m_Enabled
of source SkinnedMeshRenderer now doesn’t affects merged SkinnedMeshRenderer - If you actually want to enable/disable merged SkinnedMeshRenderer,
animate
m_Enabled
of merged SkinnedMeshRenderer instead.
- Animating
Fixed #
- Error is not cleared on build
#170
- Merge PhysBone is not working
#177
- Previously, values are not copied correctly
- The help box for description of components without description were shown
#178
- Name of Is Animated and Parameter field are not correct
#183
- We cannot set override setting of Colliders to Copy
#183
- Error with MergeToonLit
#185
- Poor word choice in Japanese Translation
#174
- Localization is not applied for some fields
#186
0.4.0 - 2023-05-20 #
Added #
- Japanese Translation: 日本語化
#152
Changed #
- Save format for MergePhysBone
#166
- Previously used backed PhysBone component for override values are removed.
- There are no changes in behaviour. Just migrate your assets.
Removed #
- Delete GameObject feature
#153
- Use
EditorOnly
tag instead
- Use
Fixed #
0.3.5 - 2023-05-15 #
Changed #
- Internal Errors not relates to any Object are now reported
#160
Fixed #
- Error if there are multiple GameObjects with same path
#159
0.3.4 - 2023-05-15 #
Fixed #
- Reference to Component will become None
#156
- BlendShapes for Eyelids can be broken with FreezeBlendShape
#154
0.3.3 - 2023-05-14 #
0.3.2 - 2023-05-14 #
Added #
- Error Reporting System
#124
- This adds window shows errors on build
- This is based on Modular Avatar’s Error Reporting Window. thanks
@bdunderscore
- Website for AvatarOptimizer
#139
- Available at https://vpm.anatawa12.com/avatar-optimizer/
- Manual Bake Avatar
#147
- Left click the avatar and click
[AvatarOptimizer] Manual Bake Avatar
- Left click the avatar and click
Changed #
- Improved & reimplemented Animation (re)generation system
#137
- This is completely internal changes. Should not break your project
- In previous implementation, animations for GameObjects moved by MergeBone, MergePhysBone or else doesn’t work well
- This reimplementation should fix this problem
Fixed #
- Migration fails with scenes/prefabs in read-only packages
#136
- Now, migration process doesn’t see any scenes/prefabs in read-only packages.
0.3.1 - 2023-05-05 #
Fixed #
- Can’t remove SkinnedMeshRenderer error
#133
- This error should do nothing bad but it confuses everyone
- Bad behaviour with VRCFury on build
#134
0.3.0 - 2023-05-04 #
Added #
- Make Children of Me
#100
- As a alternative of feature removal in same pull request
- UnusedBonesByReferencesTool
#112
- This is port of UnusedBonesByReferencesTool by Narazaka
- Support for VRCSDK 3.2.0!
#117
- This includes support for PhysBone Versions and PhysBone 1.1
Changed #
- Use IEditorOnly instead of mokeypatching VRCSDK
#102
- Move the toggle for Override and the setting of the value after Override closer together.
#105
- With this changes, the merged PhysBone is now hidden.
- The merged PhysBone will be shown in Play mode.
- Now we can Copy (instead of Override)
Pull
,Gravity
,Immobile
properties even ifIntegration Type
is overriden.#105
- During migration, if
Integration Type
(previously calledForce
) is configured to be Override,Pull
,Gravity
,Immobile
will be configured to be Override. - This is BREAKING changes.
- During migration, if
- Now we can Copy / Override
Immobile Type
andImmobile
(strength) separately.#105
- Previously, if you override
Immobile Type
, you also required to overrideImmobile
but no longer required. - This is BREAKING changes in the semantics of
immobile
property.
- Previously, if you override
- Upgrade CL4EE to 1.0.0
#121
Removed #
- BREAKING Removed Prefab Safe List
#95
- BREAKING Removed RootTransform feature from MergePhysBone
#100
- See this issue comment for more datails.
- Removed support for VRCSDK 3.1.x.
#117
- Dropping VRCSDK support is a BREAKING changes.
- However, we may drop old VRCSDK support in the minor releases of AvatarOptimizer in the feature.
- In the other hand, we promise we’ll never drop old VRCSDK support in the patch releases.
- Notice: in the 0.x.y release, y is a minor releases in this project.
Fixed #
- ShouldIgnoreComponentPatch cases compilation error
#108
- Merge PhysBone is working even if parents are differ
#129
0.2.8 - 2023-04-19 #
Fixed #
- NullReferenceException with prefabs in editor for PrefabSafeSet
#92
0.2.7 - 2023-04-01 #
Added #
- Support for VRCSDK 3.1.12 and 3.1.13
0.2.6 - 2023-03-31 #
Added #
- Internationalization support
#77
- This adds way to translate editor elements.
- However, no other language translation than English is not added yet.
- Please feel free to make PullRequest if you can maintain the translation.
Fixed #
- Remove Empty Renderer Object is not shown on the inspector
#76
- normal vector and tangent vector might not be unit length
#81
- This can be problem with FreezeBlendShape.
- Assertion does not work well
#85
- This can make invalid mesh
- Mesh is broken if more than 65536 vertices are exists
#87
- Because we didn’t check for vertices count and index format, vertex index can be overflow before.
- Generated assets are invisible for a while
#88
0.2.5 - 2023-03-24 #
Added #
- Show SaveVersion internal property on editor.
#71
- This makes it easier to make it easier to see prefab overrides
Changed #
- reduce unnecessary modification in PrefabSafeSet/List
#64
- Previously PrefabSafeSet/List will always generates array size change modification.
- Now, array size change will be generated when added/removed elements from the collection.
- use ExecuteAlways instead of ExecuteInEditMode
#72
Fixed #
0.2.4 - 2023-03-22 #
Changed #
- make Accessing v1 error
#61
- This reduces future mistakes like #59
Fixed #
- RemoveMeshInBox refers old v1 configuration
#60
0.2.3 - 2023-03-20 #
Fixed #
- instantiating material occurs
#58
0.2.2 - 2023-03-20 #
Added #
- Make Children
#53
Changed #
- Do not use cache on applying components now
#56
Fixed #
- NullReferenceException if some component is removed
#54
- save version is not saved. this may break future migration
#55
0.2.1 - 2023-03-20 #
Fixed #
- Migration failed if some renderer is None
#49
0.2.0 - 2023-03-19 #
Added #
- Support for Prerelease in publish system
#19
- Changelogs (including ones for traditional releases)
#19
- Auto Test
#23
- Prefab support
#11
Changed #
- BREAKING Save format for many components
#11
- Even if you added more elements than before on prefab, added elements on prefab instance will be kept.
- In previous implementation (unity default array prefab overrides implementation), can be broken easily.
- BREAKING All materials are merged by default
#11
- Due to save format migration, every materials will be marked as merged.
- If you have some materials not to be merged, please re-reconfigure that.
Fixed #
- Fixed IndexOutOfError if there are more bones than bindposes
#30
- SkinnedMeshRenderers without bones will break mesh
#35
- We may forget checking components on disable objects
#46
0.1.4 #
Added #
- Support for feature Migration
be0147b
Changed #
- Box editor of RemoveMeshInBox
15fc931
- Installer unitypackage name
b32167f
- Warn if MergeSkinnedMesh is with SkinnedMeshRenderer with Mesh
1016aa6
Fixed #
- MergeToonLit is always marked as dirty
82ba212
- RemoveMeshInBox does not handle bone correctly
b2fea4f
0.1.3 #
Fixed #
0.1.2 #
Fixed #
- FreezeBlendShape behaviour
0cebf27
0.1.1 #
Added #
Changed #
Fixed #
- Several bugs
0.1.0 - 2023-01-16 #
Changed #
- Move components from
Anatawa12/
toOptimizer/
949d267
Fixed #
- Several bugs
0.0.2 - 2023-01-15 #
Added #
Fixed #
- FreezeBlendShape remains
95c0d43
0.0.1 - 2023-01-13 #
Added #
- Merge Skinned Mesh
- Merge PhysBone
- Freeze BlendShape
- Merge Bone
- Clear Endpoint Position