Table of Content
About
"Cartoon FX Remaster FREE" is a collection of stylized visual effects mainly made with Particle Systems (using Unity's CPU-based particle system 'Shuriken').
Featuring:
- Custom shaders with special effects such as dissolve animation, UV distortion, lit particles, edge fading, HDR colors, single channel textures for reduced memory usage, shadow casting and dithering
- Specialized shader to draw pixel-perfect circles and rings while reducing overdraw (using a low-poly ring mesh instead of a quad)
- Optimized meshes where relevant to reduce overdraw/fill-rate issues
- Custom script that can animate attached lights and perform screen-shake for relevant effects
- High-resolution hand-drawn textures
- Custom shader format that will only compile the code for the currently active render pipeline (Built-In Render Pipeline or Universal Render Pipeline (URP))
This is the free version containing a sample of effects taken from the four commercial packs.
The license is the same as the commercial packs, including commercial use of the effects in games and apps, according to the license terms.
The full license can be found here: https://unity.com/legal/as-terms (Appendix 1, End User License Agreement)
Render Pipelines
"Cartoon FX Remaster FREE" supports the Built-In and Universal Render Pipelines.
It uses a special custom shader format that will only compile the relevant shader code for the currently active render pipeline in the project.
If you change the render pipeline after having imported the assets, then you will have to reimport the shaders so that they compile for the newly selected render pipeline (right-click on the Shaders folder, and hit Reimport).
Legacy Effects
"Cartoon FX Remaster FREE" is called so because it is a made from scratch remake of the old "Cartoon FX Pack FREE" set of effects, released circa 2012.
Those old effects are still included if you are curious or want to use them: they are in the Cartoon FX FREE (old legacy effects) package and need to be extracted through Unity.
Usage
Spawn Effects
"Cartoon FX Remaster FREE" effects are provided as individual prefabs. Simply spawn the prefabs (e.g. using Instantiate) and activate the instantiated GameObject to play the effect.
GameObjects will auto-destroy themselves when the effect has finished playing. You can change that behavior in the CFXR_Effect script attached (to either Destroy, Disable or do nothing after the effect has finished playing).
CFXR Script file
You can change some global script settings in the CFXR_Effect.cs file, by uncommenting the global defines at the top:
- Disable Camera Shake: will disable all of the Camera shake code, if you don't need it or have your own solution
- Disable Lights: will keep the Lights attached to the effect deactivated
- Disable Clear Behavior: will disable the code handing the clear behavior after an effect has fully finished playing
CFXR Settings file
You can change some global shader settings in the CFXR_Settings.cginc file:
- Disable Soft Particles: in case you don't need that feature, you can globally disable it for all CFXR effects (Soft Particles in Unity's built-in shaders will still work)
- Orthographic Soft Particles: if you are using an Orthographic camera, then enable this to make soft particles work properly
- Global HDR Multiplier: some effects use HDR colors (colors that go above the [0-1] range), so that they work nicely with post effects like bloom and simulate illuminated particles.
Depending on your bloom settings, you may want to adjust that multiplier value to tune up or down the final colors. - Enable Point Lights: enables additional lights affecting lit particles (else they will only be affected by the main directional light). This is enabled by default.
Troubleshooting
- Invisible effects with URP:
If almost all effects don't show when using URP, it likely is because the 'Depth Texture' is disabled, and it is needed for soft particles to work.
You can either:- Enable the 'Depth Texture' option in the URP asset
- Disable soft particles entirely by editing the CFXR Settings.cginc file and uncommenting the relevant line
- Invisible effects on Android/iOS/other platform:
Most likely this is due to the depth texture not being enabled by default on those platforms and thus soft particles breaks. See the above point for a solution. - Magenta/Pink Effects:
If the shaders don't work and effects are magenta, then you may need to recompile the shaders for the currently active render pipeline: right-click on the Shaders folder, and hit Reimport - Addressables/Asset Bundles:
If the effect don't work when using addressables, you can try to force the selected render pipeline for the shaders (select the shader files, and change the relevant option in their inspector).
Some users also reported that using the 'Build > Clean Build > Build Pipeline Cache' option in the Addressables window did solve the issue afterwards. - CFXR_Effect script:
Almost all prefabs have the CFXR_Effect script attached: it handles auto-destruction or deactivation of the GameObject once an effect has finished playing, as well as camera shake and light animation where relevant - Sorting:
If you have problems with z-sorting (transparent objects appearing in front of other when their position is actually behind), try changing the values in the Particle System > Renderer > Sorting Fudge; as long as the relative order is respected between the different particle systems of a same prefab, it should work ok. - Color Space:
Effects were authored using Linear Color Space; use that for the best results (in the Player project settings) - HDR:
If some effects show washed out colors, it likely is because HDR isn't enabled for the camera (or in the URP asset), and thus colors will be clamped. - License:
The full legal license can be found here: https://unity.com/legal/as-terms (see Appendix 1: Asset Store End User License Agreement)
You can only use the effects in a commercial game or application when used as described in the above license.
Please send me an email if you are having other issues or have any question: jean.moreno.nonsensepublic+unity@gmail.com