Changelog
[0.50.0] - 2021-09-17
Changed
- Upgraded com.unity.burst to 1.5.5
[0.10.0-preview] - 9999-12-31
Upgrade guide
HaveStaticBodiesChanged
was added toSimulationStepInput
(see UnityPhysics changelog) and is required for Havok simulation. Please use it instead ofHavok.Physics.SimulationContext.HaveStaticBodiesChanged
andHavok.Physics.HavokSimulation.SetStaticBodiesChangedFlag()
, which are obsolete. ### Changes- Havok Visual Debugger supports multiple physics worlds by displaying each world on a separate port, which requires running an instance per world. Port for a physics world is defined by world index +
HavokConfiguration.Port
. ### Fixed - Fixed a bug with
ModifiableJacobianHeader
accessing an incorrect memory address leading to invalidJacobianFlags
being set.
[0.9.0-preview.4] - 2021-05-19
Upgrade guide
Changes
- Dependencies
- Updated Burst to
1.5.3
- Updated Collections to
0.17.0-preview.18
- Updated Entities to
0.19.0-preview.30
- Updated Jobs to
0.10.0-preview.18
- Updated Physics to
0.9.0-preview.4
- Updated Test Framework to
1.1.24
- Updated Burst to
- Added
partial
keyword to allSystemBase
-derived classes ### Fixed - [UNI-302] Fixed a bug in
IJacobiansJob
in which settingJacobianFlags.Disabled
onModifiableJacobianHeader.Flags
wasn't properly mapped to Havok c++ code, leading to strange behaviour. ### Known Issues
[0.8.0-preview.1] - 2021-03-26
Changes
- Dependencies
- Updated Collections from
0.16.0-preview.22
to0.17.0-preview.10
- Updated Entities from
0.18.0-preview.42
to0.19.0-preview.17
- Updated Jobs from
0.9.0-preview.24
to0.10.0-preview.10
- Updated Physics from
0.7.0-preview.3
to0.8.0-preview.1
- Updated Collections from
Fixed
- [UNI-299] Fixed a bug in
SimulationContext.Reset()
that could lead to a crash if theUnityEngine.Camera.main
isnull
and Visual debugger is enabled.
[0.7.0-preview.3] - 2021-02-24
Changes
- [UNI-269] Added a new
CompoundCollider.Child.Entity
& associatedChildCollider.Entity
field. [UNI-252] Havok plugin is now based on 2020.2 version of Havok SDK.
Dependencies
- Updated minimum Unity Editor version from
2020.1.0f1
to2020.2.4f1
- Updated Collections from
0.15.0-preview.21
to0.16.0-preview.22
- Updated Entities from
0.17.0-preview.41
to0.18.0-preview.42
- Updated Jobs from
0.8.0-preview.23
to0.9.0-preview.24
- Updated Physics from
0.6.0-preview.3
to0.7.0-preview.2
- Updated minimum Unity Editor version from
Fixed
- [UNI-245] Fixed a crash bug when the VDB was enabled on first run but disabled on second.
- [UNI-273] Fixed a bug where custom Spring Frequency and Damping values were not being set on Joint Constraints.
- [UNI-272] Fixed a bug where event streams weren't properly disposed if there are no dynamic bodies in the simulation.
- [UNI-74] Trigger events should now be raised from inactive bodies.
- [UNI-276] Fixed a rare bug which manifested when an entity got deleted, and a new one got created in the same frame, and both had the same entity index. Previously, they were incorrectly synced with Havok c++ code.
[0.6.0-preview.3] - 2021-01-18
Changed
- Dependencies
- Havok Physics now matching versions with Unity Physics packages.
- Updated minimum Unity Editor version from
2020.1.0f1
to2020.1.9f1
- Updated Burst from
1.3.7
to1.4.1
- Updated Collections from
0.14.0-preview.16
to0.15.0-preview.21
- Updated Entities from
0.16.0-preview.21
to0.17.0-preview.41
- Updated Jobs from
0.7.0-preview.17
to0.8.0-preview.23
Fixed
- [UNI-265] Adding multiple Joints to the same bodies, swapping bodies on a Joint, then deleting one of the bodies lead to an assert that crashed the editor.
- [UNI-271] Fixed a crash involving compound colliders with terrain children where the CollisionMethod of the terrain is 'CollisionMethod.Triangles'.
[0.4.1-preview.2] - 2020-10-14
Changed
Fixed
- [UNI-251] Further improved performance of Havok Physics static body synchronization.
- [UNI-259] Fixed strange behavior in "5f. Change Surface Velocity" demo with HavokPhysics, where surface velocity was accumulating between bodies. Now we are properly reading surface velocity from the HavokPhysics plugin before running an IJacobiansJob.
[0.4.0-preview.1] - 2020-09-15
Changed
- Updated minimum Unity Editor version from
2019.4.0f1
to2020.1.0f1
- [UNI-233] Havok plugin is now based on 2020.1 version of Havok SDK
- [UNI-29] Added
HavokSimulation.SetStaticBodiesChangedFlag(NativeArray<int>)
. This sets theHaveStaticBodiesChanged
in SimulationContext. This should only be used whenHavokSimulation
is created manually, as it is happening by default when the simulation is created in a standard way, using BuildPhysicsWorld and StepPhysicsWorld. - [UNI-29] Added
HavokSimulation.SimulationContext.HaveStaticBodiesChanged
. This member can be used to speed up static body synchronization on C++ side. It is aNativeArray<int>
of size 1, and ifHaveStaticBodiesChanged[0] == 1
, static body sync will happen, otherwise it won't. This should only be used when usingHavokSimulation.StepImmediate()
, use HavokSimulation.SetStaticBodiesChangedFlag() otherwise.
Fixed
- [UNI-29] Improved performance of Havok Physics synchronization (static bodies are no longer needlessly synced every frame)
- [UNI-232] Reduced size of compound collider/mesh collider AABB in cases where their bodies are rotated by some angle.
- [UNI-241] Fixed a potential issue where events were skipped when happening in multiple parts of the scene, where each part contains both dynamic-dynamic events and dynamic-static events.
- [UNI-247] Fixed no activation in reaction to filter change in the same frame the body gets removed.
[0.3.1-preview] - 2020-07-28
Changed
- All systems now inherit
SystemBase
instead ofComponentSystem
.
Fixed
- Fixed a crash when
TerrainCollider
usesCollisionMethod.Triangles
. - Fixed a bug where Havok Physics plugin did not gracefully handle invalid Joints (e.g. when both Entities are Null).
- Fixed an editor crash when maximum level of composite collider nesting is breached.
[0.3.0-preview.1] - 2020-06-18
Changed
- Updated minimum Unity Editor version from
2019.3.0f1
to2019.4.0f1
- Updated Unity Physics from
0.3.0-preview
to0.4.0-preview.4
- Removed expired API
HavokSimulation.ScheduleStepJobs()
signature without callbacks and thread count hint.
Fixed
- Fixed a crash when number of solver iterations is bigger than 255.
- Fixed incorrect contact point positions reported through collision events.
- Fixed behavior of joints to properly incorporate provided
Constraint.SpringDamping
andConstraint.SpringFrequency
.
[0.2.2-preview] - 2020-04-16
Changed
HavokSimulation.StepImmediate()
is now provided and can be wrapped in a single Burst compiled job for lightweight stepping logic; however, it doesn't support callbacks; if callbacks are needed, one should implement the physics step using a set of function calls that represent different phases of the physics engine and add customization logic in between these calls; this should all be wrapped in a Burst compiled job; checkHavokSimulation.StepImmediate()
for the full list of functions that need to be called
Fixed
- Fixed a crash that would occur when adding a static body, while the AABB of an existing dynamic body contains world origin (0, 0, 0).
[0.2.1-preview] - 2020-03-19
Fixed
- Changing motion type of many bodies in a single frame no longer results in a crash.
- Trigger events are now consistently raised for penetrating bodies.
- Asking for collision/trigger events in scenes with no dynamic bodies no longer throws errors.
- Android ARM64 and ARMv7 can now be built together without any special actions. Android-specific instructions are removed from Supported platforms.
[0.2.0-preview] - 2020-03-12
Changed
HavokSimulation.ScheduleStepJobs()
now takesSimulationCallbacks
andthreadCountHint
separately as input arguments.Simulation.CollisionEvents
andSimulation.TriggerEvents
can now be used to iterate through the events directly using aforeach
loop, rather than only viaICollisionEventsJob
andITriggerEventsJob
.
Fixed
- Android ARM64 platform is now supported. Please see Supported platforms for details.
- Jobs implementing ICollisionEventsJob, ITriggerEventsJob, IContactsJob, IBodyPairsJob or IJacobiansJob can now be Burst-compiled in both editor and standalone player.
- Duplicate jobs for debug display (like FinishDisplayCollisionEventsJob) are no longer being scheduled, since only HavokPhysics variant of their systems (DisplayCollisionEventsSystem) is now running and covers both HavokPhysics and UnityPhysics simulation.
[0.1.2-preview] - 2020-01-10
Changed
- Unity Pro users now require a subscription, which is available in the Asset Store.
Fixed
- Reduced the sync tolerance. Now handling smaller deltas in position, rotation and velocity.
- Fixed the issue of uninitialized array when scheduling collision event jobs with no dynamic bodies in the scene.
- Fixed an issue where contacts were not being correctly disabled in an IContactsJob.
- The Havok Visual Debugger (VDB) is now always stepped, even when there are no dynamic bodies in the scene.
- Fixed the job handle ordering during step. This fixes errors when simulation callbacks were added.
- Fixed the VDB initialization to use the supplied port.
[0.1.1-preview] - 2019-09-20
- First public release
Changed
- The plugins are now free to use for everyone until January 15th 2020
Fixed
- Fixed potential IndexOutOfRangeException when executing IBodyPairsJob, IContactsJob or IJacobiansJob
[0.1.0-preview.2] - 2019-09-05
Fixed
- Bodies tagged for contact welding now actually get welding applied
[0.1.0-preview.1] - 2019-08-29
- First pre-release package version