Decal system for Unity, VRChat, and ChilloutVR that requires no Scripts, Lights, or Cameras!

Now Avalible!

Thank you for your interest in Magic Decal! Below you will find links to both my Ko-fi and Booth shops. If you are looking for my most recent assets head over to my Ko-Fi. :D

How to Use

Magic decal is intended to be as easy to use as possible for both regular users of Unity and complete beginners, should you come across any issues feel free to reach out on my discord, you can find an invite in the support section on this website.Section 1 - 2 Main Shaders
Once you download Magic Decal you will notice it comes in 2 flavors. Magic Decal and Magic Decal+.
Magic Decal: Support for Opaque rendering and Transparency/Additive Rendering. Limited to 1 copy at a time, while you can have multiple copies in the world once they overlap you will notice clipping and Z-Fighting. Use MD+ if you plan to have multiple overlapping effects.Magic Decal+: Only Additive Rendering. Can have unlimited spheres/shader copies overlap with no clipping.Section 2 - Settings
I Highly recommend starting with one of the presets included in the pack and working the preset into the desired effect. Should you want to make a decal from scratch here are the settings and what they do. (I will also be adding some how-to docs for specific effects to this site so make sure you bookmark it and follow me on Twitter for updates)

Alpha Settings - Magic Decal Only

Alpha Blend Toggle:
Toggles the Masking effect that allows for black to be rendered within the Decal.

Alpha Mask Threshold:
The range of cutoff for the opaque background.

Alpha Mask Threshold:
The range of cutoff for the opaque background.

Main Settings

Main Tex:
The main texture used when in Texture Input mode.

Texture/Noise Input:
Toggles between using a texture for the decal or units built in noise system.

Enable Secondary Noise:
Enables a secondary set of noise when Noise Input is enabled.

Warp Tex:
Texture layered on top of Main Tex displacing it (Use a grayscale texture, EXR format for even smoother warping).

Use Local or World Position:
Toggles between using the local position of the shader sphere or mapping the effect in world space.

Radial Falloff Toggle:
DO NOT DISABLE, Advanced setting and 99% of the time will break the shader.

Noise Settings - Only active on noise input mode

Noise scale:
Change the scale of the noise.

Noise Animation Speed:
Sets how fast the noise is animated.

Noise Smoothness:
Smooths the noise similar to blurring it.

Noise 2 Settings:
Same as Noise.

Texture Settings - Only active on texture input mode

Texture scale X & Y:
Changes the scale of the texture on the X & Y planes, useful if you need to mirror the texture.

Offset X & Y:
If the texture is not centered use these values to move it to the desired position.

Warp Texture Intensity:
Sets how much influence the warp texture has to displace the main texture.

Texture Scale Uniform:
Changes both the X & Y scale at the same time.

Texture Scale Speed:
Changes how fast scaling works, if you need to fine-tune the decal to an exact scale drop this value lower.

Warp Texture Settings:
Same as the Texture settings.

Shader Settings

Pan Speed:
Sets how fast the texture pans.

Warp Pan Settings:
Same as other pan settings.

Decal Opacity:
Sets the overall opacity of the decal.

Tint:
Sets the color of the decal.

Pan Direction X & Y:
Sets what direction the pan moves in.

Falloff Radius and Contrast:
Advanced Settings, Reccomended to leave at default.

Directional Masks:
Allows you to set what angle/direction the decal shows on.

Clamp Texture Intensite:
Clamps the decal to be between 0 - 1 intensity.

Magic Decal Only Settings

Use Texture Color:
Use the color provided by Main Tex.

Tint (No Alpha Blend Enabled):
Allows you to tint the texture when the alpha blend is disabled.

Use Texture Alpha:
Use the alpha provided by Main Tex.

Mask Intensity:
Advanced Settings, Recommended to leave at default.

Support

Just picked up Magic Decal and not sure about something? No problem! Below you will find an embed for my discord server, click on the join now button, get verified, and open a ticket in the #get-help channel.