Legacy Impact Comparison
Deciding if converting to Impact CFX is an important decision, so to help you out, here are some key comparison points between Impact CFX and legacy Impact.
The Impact CFX workflow is almost identical to the legacy Impact workflow, so you don't need to worry about learning an entirely new workflow.
The Impact CFX contains the same familiar Material assets, Audio, Particle, and Decal effect assets, and the same Object and Trigger components. The main changes to the workflow are that Impact Tags are now saved in Project Settings, and a new Impact Material Registry asset is required for registering all Impact Materials with the system.
Configurability & Feature Set
Impact CFX offers much more in-depth configurability than legacy Impact. the Impact CFX Manager and Impact Triggers are great examples of the new configuration options.
Impact CFX will also continue to recieve feature updates and extension packages for the forseeable future. For example, Impact CFX has VFX Graph support as well as enhanced URP & HDRP Decal support. Major feature development is no longer being done for legacy Impact.
Impact CFX uses burst-compiled jobs for the majority of collision effect processing. This means that it much more efficiently processes many collision events, resulting in better performance.
Performance tests based on the Impact CFX demo have shown an almost 50% increase in performance with Impact CFX. The more collisions you have, the better Impact CFX will perform by comparison.
On the other hand, at present legacy Impact does tend to perform better when dealing with very few collision events. Legacy Impact processes collision events immediately, where Impact CFX queues collision events and processes them in bulk in FixedUpdate. In situations where there are few things to process, immediate processing usually wins over bulk processing due to less overhead. This is one of the first things I want to investigate improving.
Impact CFX uses the same logic and algorithms as legacy Impact to calculate effects, and so has the same accuracy. However, Impact CFX generally produces much better results, especially with many collisions happening at once.
Just like legacy Impact, Impact CFX was designed to be extendible, but of course the exact requirements for extending Impact CFX are different than legacy Impact.
With that said, writing job and burst-compatible code unfortunately often means that some extendibility needs to be sacrificed. For instance, there are no longer interfaces like IImpactContactPoint, IImpactCollisionWrapper, and IInteractionData.