- ImpactRaycaster methods now include an optional sourceObject parameter for the object that sent the raycast. This allows for effects to be attached to objects that do raycasts.
- Added demo for the Built-In renderer.
- Various minor optimizations.
- RigidbodyContainer no longer caches transform data, as this was almost doubling the run time for FixedUpdate.
- ImpactParticleSystem no longer calls the ParticleSystem.Stop() function for non-looping particles, which was causing the particles to not properly play in some cases.
- ImpactEffectProcessorJob will now give a material missing error if it cannot find a material for the object triggering the collision.
- Changed GUID of ImpactContactPoint script file to fix GUID collisions when importing Impact CFX into a project that already has legacy Impact.
- Added ImpactSimpleEffectProcessor and ImpactPooledEffectProcessor abstract classes. These handle a lot of common implementation for effect processors, making effect processors that inherit from them much simpler to write.
- Added ImpactPooledEffectAuthoringBase abstract class for use by the ImpactPooledEffectProcessor mentioned above.
- Added EffectObjectPool abstract class for use by the ImpactPooledEffectProcessor mentioned above.
- Added back Impact Object Rigidbody Cheap since this object may still be useful/necessary for some use cases.
- Refactored built-in Audio, Particle, and Decal effect processors to use new base classes mentioned above.
- Changed IEffectResult.IsValid to IEffectResult.IsEffectValid to resolve conflict with IObjectPoolRequest.IsValid.
- Changed IObjectPoolRequest.IsValid to IObjectPoolRequest.IsObjectPoolRequestValid to resolve conflict with IEffectResult.IsValid.
- EffectID, IncludeTags, and ExcludeTags properties on IEffectData interface now require setters.
- Added new properties to Impact Particle Systems:
- Scale Size With Velocity – Allows scaling the particle start size based on the collision velocity.
- Scale Speed With Velocity – Allows scaling the particle start speed based on the collision velocity.
- Scale Lifetime With Velocity – Allows scaling the particle start lifetime based on the collision velocity.
- Added new Scale With Velocity property to Impact Decals to allow scaling the decal based on the collision velocity.
- Added new Impact Object Custom Velocity object, which tracks its own velocity rather than relying on the rigidbody's velocity.
- Added ability to enable/disable logging from the Impact CFX Project Settings. Logging is controlled by the scripting define symbol IMPACTCFX_DEBUG.
- Impact Object Rigidbody Child has been made more generic and renamed to Impact Object Child.
- Most fields and methods of Impact Audio Source, Impact Particle System, and Impact Decal are now protected instead of private for easier extension.
- Fixed incorrect velocity comparisons with the Threshold property.
- Fixed various issues with the URP and HDRP demos.
- Fixed Gizmo icons for trigger components being in the wrong folder.
Due to changes in script names, it is highly recommended to delete the Impact CFX folder before updating to avoid asset GUID conflicts.