1
0

ChangeLog.txt 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270
  1. 2021/10/23
  2. - General
  3. + Fixed breaks caused by Mirror update 53x.
  4. 2021/09/11
  5. - Flex Network Transform
  6. + Removed Reliable and Resend Unreliable options. Component now always uses unreliable. This will not affect anyone's project.
  7. + Can now enable/disable synchronization for properties at runtime. Must be called from the authoritative side. Used by calling fntReference.SetSynchronizePosition ect).
  8. - Flex Network Animator
  9. + Added sendImmediately parameter to SetTrigger. This is generally not needed but can be useful if you wish to send the trigger as animator parameters are currently rather than what they may be next interval.
  10. 2021/07/14
  11. - Flex Network Animator
  12. + Fixed client authoritative throwing end of stream when a client would send data at irregular intervals to server.
  13. 2021/07/08
  14. - Flex Network Animator
  15. - Flex Network Transform
  16. + Moved a section of code away from using NetworkWriter/Readers. Mirror was unexpectedly trying to use empty Writers previously used in these components causing problems within Mirror.
  17. 2021/07/01
  18. - Flex Network Animator
  19. + Fixed break caused by Mirror update. Method not found WriteBool.
  20. -Flex Network Transform
  21. + Last release no longer experimental.
  22. + Fixed extrapolation sometimes not resetting in server authoritative environment.
  23. 2021/06/13
  24. - Flex Network Animator
  25. + Fixed Crossfade API regularly being one animation behind.
  26. + PlayInFixedTime API actually takes a time argument now; guess no one was using this!
  27. 2021/06/09
  28. - All
  29. + Mirage support officially removed.
  30. + Suppressed obsolete warnings for NetworkVisibility.
  31. + Fixed Length errors caused by most recent Mirror changes.
  32. + Fixed warning spam caused by most recent Mirror changes in addition to NetworkVisibility warnings.
  33. - Flex Network Transform
  34. + Performance drastically increased, and scales considerably better than any other transform component. Flex Network Transform is over 15 times faster than Network Transform with 200 clients.
  35. + Extrapolation now works on platforms.
  36. + Added ForceSendTransform API, allowing you to force transform updates which are guaranteed to replicate accurately on observers. This is useful if you want to send slower updates but ensure certain actions are replicated, such as the peak of a jump or double jumps.
  37. + Added demo for ForceSendTransform API.
  38. - Flex Network Animator
  39. + If received client updates become excessive then they are no longer sent in order to observers, now only current values are under this condition.
  40. + A few extra sanity checks for unusual circumstances. Nothing to see here.
  41. + Minor performance boost when using client authoritative.
  42. 2021/05/17
  43. - Fast Proximity Checker
  44. + Added some catches for invalid user input.
  45. 2021/04/25
  46. - Flex Network Animator
  47. + Added Crossfade API support.
  48. + Mirage information removed from README since it's no longer supported at this time.
  49. - Flex Network Transform
  50. + Mirage information removed from README since it's no longer supported at this time.
  51. 2021/04/23
  52. - All
  53. + Separated required packages.
  54. - Reactive Physics Object
  55. + Updated API to use latest Fundamental package.
  56. 2021/04/20
  57. - Fast Proximity Checker
  58. + Fixed bug with more recent mirror releases that would cause objects to flicker in and out.
  59. - Reactive Physics Object
  60. + Fixed bug which could possibly cause jitter while being used for 2D.
  61. 2021/04/14
  62. - Fast Proximity Checker
  63. + Made faster. Mirror's spatial hashing didn't stand a chance.
  64. 2021/04/06
  65. - Flex Network Transform
  66. + Fixed transforms sometimes being out of synchronization until they move again after spawning in while falling at an accelerated rate, while also experiencing very low frames per second.
  67. 2021/03/25
  68. - Flex Network Transform
  69. + Added Smoothing Loop option. Smoothing can now optionally be performed in LateUpdate.
  70. + Massive performance update. FlexNetworkTransform now has virtually no impact from it's operations. These changes resulted in roughly a 15% performance boost while under load and a 200-300% boost under normal conditions. More refactoring is expected but nothing that would risk stability or need testing.
  71. 2021/02/26
  72. - Flex Network Animator
  73. + Zero garbage collection release! FlexNetworkAnimator is roughly 2X faster than NetworkAnimator now.
  74. + Bandwidth usage improvements; now uses about 4.5% the bandwidth of NetworkAnimator.
  75. + Better client authoritative animations, and protections. Like NetworkAnimator, previously animations from clients could be missed if the client sent too many animations too quickly. FlexNetworkAnimator now has protection against excessive animations from clients and ensures proper replication, so long as client isn't abusing the network.
  76. 2021/02/05
  77. - Flex Network Transform
  78. + Zero garbage collection release! Performance improved by a minimum of 17%.
  79. + Bandwidth usage scales better. 500 objects now use roughly 4% less bandwidth.
  80. + MirrorNG officially supported again.
  81. - Flex Network Animator
  82. + Fixed NRE related to compressing large values.
  83. + Fixed not all cached data being reset when changing animator or controller.
  84. + MirrorNG officially supported again.
  85. + Garbage collection is still present in this release; FNA is receiving the same optimizations as FNT next release.
  86. 2021/01/29
  87. - Flex Network Transform
  88. + SetPlatform renamed to SetAttached; SetPlatform marked obsolete.
  89. + SetAttached can now be used to attach to child objects, such as picking up world objects in your players hand! View READ ME for more information.
  90. 2021/01/17
  91. - Flex Network Transform
  92. + Fixed server not sending updates when running as a server build while using timed interval while having a low tick rate.
  93. 2021/01/09
  94. - Improvements
  95. + Component scripts now have the FirstGearGames icon on them.
  96. - Flex Network Transform
  97. + Improved tooltip text.
  98. - Flex Network Animator
  99. + You may now set the animator and controller at runtime. You must manually synchronize these changes.
  100. + Added README for new API.
  101. 2021/01/02
  102. - Flex Network Transform
  103. + Set maximum MTU to 1200 for manager.
  104. + No longer experimental!
  105. + Renamed 'stable' package to 'old'.
  106. - Flex Network Animator
  107. + Fixed a typo on a file name.
  108. + Set maximum MTU to 1200 for manager.
  109. 2020/12/31
  110. - Flex Network Transform
  111. + Backported 'precise synchronization' fixes to stable.
  112. - Flex Network Animator
  113. + Built from the ground up! Previously FlexNetworkAnimator was using code from NetworkAnimator; that is no more! FlexNetworkAnimator now only uses 11-13% the bandwidth of NetworkAnimator and has a scaling 200% FPS gain over NetworkAnimator.
  114. 2020/12/24
  115. - Flex Network Transform
  116. + Fixed transforms not synchronizing when having more than one FlexNetworkTransform on an object, whether it be a child FlexNetworkTransform, or FlexNetworkTransform on a child object.
  117. + Reduced chances of extrapolation overshooting when using client authoritative movement on poor connections.
  118. + Added back in sequence checking for unreliable packets when sending from client to server. This was intentionally removed with intentions to be added back in after testing recent changes.
  119. + Fixed possibility of some packets being ignored when they shouldn't be when synchronizing hundreds of objects.
  120. + Clients now use recent optimizations when sending to server; in the previous update only server was using the optimizations.
  121. + Fixed extrapolation regularly overshooting and not properly expiring.
  122. 2020/12/18
  123. - Flex Network Transform
  124. + Made Compress Small Values enabled by default.
  125. + Massive performance improvements. FlexNetworkTransform does substantially better with bandwidth and frame rate compared to competitors.
  126. - Flex Network Animator
  127. + Fixed breaks caused by Mirror upgrade.
  128. 2020/12/17
  129. - Flex Network Transform
  130. + Removed precise synchronization option, it's now always on.
  131. + Reduced bandwidth usage by 10%; more drastic reductions under investigation.
  132. + Improved performance by 15%.
  133. + Added Compress Small Values option. When enabled will compress small values to the 100th decimal place; this saves additional bandwidth at the cost of precision.
  134. - Reactive Physics Object
  135. + Removed precise synchronization option, it's now always on.
  136. 2020/12/05
  137. - Flex Network Transform
  138. + Fixed data sending excessively due to failed transform changes.
  139. + Unreliable sends can now optionally resend data. True to resend transform data with every unreliable packet. At the cost of bandwidth this will ensure smoother movement on very unstable connections but generally is not needed.
  140. + Added Favor Performance option while using timed intervals. While true FlexNetworkTransform will favor performance over update frequency. This is ideal when transform updates can be delayed very slightly.
  141. + More bandwidth saved by limiting who can receive remote actions.
  142. 2020/12/01
  143. - Flex Network Transform
  144. + Platform support improved; transforms previously struggled to stay synchronized with rotating platforms, or very long platforms. Transforms now stay in perfect synchronization under all conditions.
  145. + More rotation compression; reduced rotation sends by 2 bytes.
  146. 2020/11/18
  147. - Flex Network Transform
  148. + Added the ability to synchronize to networked platforms using FlexNetworkTransform.SetPlatform(platformNetworkIdentity). View FlexNetworkTransform README for more information.
  149. - Flex Network Animator
  150. + Fixed animations not going back to owner when using Synchronize To Owner.
  151. + Fixed client authoritative animations not working on client host. (regression from synchronize to owner fix 2020/11/18)
  152. 2020/11/01
  153. - Flex Network Transform
  154. + Transforms are no longer forced into their last properties when synchronization for the property is disabled.
  155. 2020/10/29
  156. - Flex Network Transform
  157. + Fixed server sometimes not sending latest transform data while running as client host, while trading authority on scene objects.
  158. 2020/10/07
  159. - Flex Network Transform
  160. + Added Teleport Threshold. Transform will teleport if threshold value is not 0, and if distance between current position and target position is greater than value.
  161. + New compression on rotation for better accuracy.
  162. + FlexNetworkTransform and FlexNetworkTransformChild will now immediately synchronize current transform properties for new clients. This change addresses a bug where FlexNetworkTransformChild would not have correct transform properties if the object has moved prior to the player joining, but not after. This also adds support for using FlexNetworkTransform directly on children objects when the networking solution allows child networked objects.
  163. + MirrorNG support added. Also the start of allowing support for even more networking platforms.
  164. + You can now hook into FlexNetworkTransform/Child to validate data received from clients when using Client Authority. See README in FlexNetworkTransform folder.
  165. + SequenceId is now a uint, resulting in less bandwidth used for UDP/Unreliable.
  166. + Objects can no longer be moved by clients while server has not yet sent data. This is most commonly seen when a player spawns in and transforms haven't yet changed.
  167. 2020/10/01
  168. - Flex Network Animator
  169. + Initial release.
  170. 2020/09/27
  171. - Flex Network Transform
  172. + Fixed FlexNetworkTransformChild not sending transform properties to late joiners until the child object has moved.
  173. + Automatic Interpolation and Interpolation strength have been removed. Use Interpolation Fallbehind instead. This is how far the transform will stay behind it's actual position to compensate for packet loss and throttle.
  174. + Extrapolation is back, and better than ever. Extrapolation Span is how long the transform can extrapolate for when a new packet is expected but does not arrive. This can be combined with a low Interpolation Fallbehind value for near real-time accuracy.
  175. + Fixed properties sometimes not updating to spectators when server was running as client host, while another client was also client authoritative.
  176. + Fixed properties sometimes sending even when they have not changed; no visual disturbance could be seen but this was incuring bandwidth cost.
  177. + Updated inspector to be more helpful.
  178. 2020/09/02
  179. - Flex Network Transform:
  180. + Fixed transforms not moving to a rotation if the change was very small; most commonly seen in 2D games. This was due to Unity incorrectly reporting that rotation values were matching.
  181. + Fixed extrapolation being applied to a transforms position even when a position update did not occur. This could be seen when rotating or scaling while not moving.
  182. 2020/08/27
  183. - Flex Network Transform:
  184. + Fixed data sending excessively when synchronizing rotation while using world space.
  185. 2020/08/23
  186. - Flex Network Transform:
  187. + Fixed position snapping being applied to scale.
  188. + Improvements to performance.
  189. 2020/08/19
  190. - Flex Network Transform:
  191. + Minor improvements to extrapolation.
  192. 2020/08/09
  193. - Fast Proximity Checker:
  194. + There is now a `Continuous` option, which is the default behavior. When enabled FastProximityChecker will regularly perform visibility checks. When false visibility checks will only occur on start, and when called manually. This change is useful if you know the object and other objects will always be in range on spawn, such as for a card or board game.
  195. - Flex Network Transform:
  196. + Can now choose between Interval and FixedUpdate for when data is synchronized.
  197. + Supports reliable and unreliable synchronization methods. For best results use Unreliable with a UDP transport.
  198. + Removed ability to disable Enforce Results.
  199. + Added extrapolation to help predict movement when network traffic becomes unsteady.
  200. + Added UseLocalSpace. True by default to synchronize using localSpace values. False to use world space. Can be useful if you have a habbit of making child networked objects.
  201. + PreciseSynchronization is now false by default.
  202. - Reactive Physics Object:
  203. + Can now choose between Interval and FixedUpdate for when data is synchronized.
  204. + Supports reliable and unreliable synchronization methods. For best results use Unreliable with a UDP transport.
  205. + Added PreciseSynchronization. True to synchronize data anytime it has changed. False to allow greater differences before synchronizing. Given that rigidbodies often shift continuously it's recommended to leave this false to not flood the network.
  206. + Added UseLocalSpace. True by default to synchronize using localSpace values. False to use world space. Can be useful if you have a habbit of making child networked objects.
  207. + Objects now snap into place when unable to meet synchronization goal after a duration. This effect often goes unnoticed as the difference is minuscule due to floating point imprecisions.
  208. + Added "AllowTeleport()" method. Calling the method clears the data to synchronize to, until another is received. This can be useful to call before teleporting an object locally, so it doesn't snap back to it's synchronized data. You would also want to move the same on the server.
  209. + Added "ReduceAggressiveness()" method. This method temporarily reduces how aggressive the gameObject will move towards the last received synchronization data. Ideally you will call this method every time your controller moves your object.
  210. 2020/07/26
  211. - Organized files. It's much more clear now what is demo code, and actual content.
  212. - Fixed bug in FastProximityChecker that would sometimes cause objects to not unhide when in range.
  213. 2020/07/12
  214. - Reactive Physics Object now automatically determines if a controller or not. You must only set if object is 2D or 3D.
  215. - Flex Network Transform and ReactivePhysicsObject can now synchronize using world space values rather than the default local space. Although not recommended, this can be useful if you need to child a networked object.