Impact CFX Main Page Index API Reference Change Logs
Legacy Impact Comparison Conversion From Legacy Impact
Impact CFX Project Settings Impact Tags Logging Impact Material Registry
Impact CFX Manager Material Mapping Managing Registered Materials
Impact Materials
Audio Effect Audio Source Prefab Audio Effect Processor Particle Effect Particle System Prefab Particle Effect Processor Decal Effect Decal Prefab Decal Effect Processor URP & HDRP Decals VFX Batch Effect VFX Batch Master Creating a Visual Effect VFX Batch Effect Processor Managing Attached Effects
Impact Objects Impact Object Single Material Impact Object Rigidbody Impact Object Rigidbody (Cheap) Impact Object Custom Velocity Objects With Multiple Materials Impact Terrain
Impact Triggers Common Trigger Properties Material Count Impact Collision Trigger Impact Slide and Roll Trigger Impact Speculative Collision Trigger Impact Simple Collision Trigger Impact Particle Collision Trigger Impact On Trigger Enter Impact On Trigger Stay
Impact Raycasting
FMOD Integration Wwise Integration Master Audio Integration
Custom Triggers Custom Objects Creating an Impact Object Script Impact Material Processors Custom Effects Impact Effect Authoring Asset Effect Result Effect Data Impact Effect Processors Impact Simple Effect Processor Impact Pooled Effect Processor Pooled Effect Object Pooled Effect Authoring Pooled Effect Result Pooled Effect Data Object Pool Pooled Effect Processor Add to Impact CFX Manager Example Effect Download

Change Logs




  • Logging for material and effect registering and clearing now only appears when logging is enabled.




  • Added Register Material On Start property to Impact Objects and the Impact Material Mapping Processor.
  • Added various API methods to ImpactCFXGlobal and ImpactCFXManager for managing registered materials.


  • Changed the impact material registration code in the Impact CFX Manager and effect processors so that materials and effects can now be registered at any time.
  • Added logging for material registering and clearing.


  • All registered materials and effects, including object pools, are now properly destroyed when the Impact CFX Manager they are created from is destroyed.

If you are using the FMOD, WWise, or MasterAudio integration packages, you will also need to download the latest versions of those packages.




  • Fixed editor script issue that was preventing objects from being assigned to triggers.




  • Fixed various issues with ObjectPoolJob that could cause errors or unexpected behavior when no objects are available.




  • 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.