Seaside Studios
HomeOverviewFAQsContactReview
Sprite Shader
Sprite Shader
  • What is All In 1 Sprite Shader
  • Overview
  • First Steps (Must Read)
  • Render Pipeline And Post Processing Setup
  • Asset Component Features
  • Right Click Create Material
  • Asset Window
  • Textures Setup
  • Custom Sort Axis
  • Saving Prefabs
  • Sprite Atlases
  • How to animate effects
  • Scripting
  • How to Enable/Disable Effects at Runtime
  • Random Seed
  • Scaled Time
  • UI Masking
  • 2D Renderer URP Lights
  • 3D Lights
  • Unified Outline
  • Render Material To Image
  • Compatibility with other assets
  • Effects and Properties Breakdown
  • Considerations
  • Running out of Shader Keywords
  • FAQ (Frequently Asked Questions)
Powered by GitBook
On this page

Effects and Properties Breakdown

PreviousCompatibility with other assetsNextConsiderations

Last updated 7 months ago

The AllIn1SpriteShader has a custom Material Inspector that allows you to activate and deactivate effects. When an effect is activated it displays it’s properties so that they can be modified:

This is the custom Material Inspector. In this image we can see that the Fade effect is activated and all its properties.

Also note that there is an “R” button next to each property. This button will reset the property to its default value set in the shader. Feel free to change these default values in the shader if you need to.

Keep in mind that there’s an example of every effect on the Demo scene.

Down below all the shader properties are explained. In between [] (ex:[GLOW_ON]) you can find the shader keyword name of each effect (see How to Enable/Disable Effects at Runtime section to see how to use it). In between () (ex: _MainTex) you can find the shader property names in case you want to modify them in a script (see Scripting section).

● General Properties

  1. Main Texture (_MainTex): Main Texture, supports Tiling and Offset

  2. Main Color (_Color): The Tint of the the Main Texture

  3. General Alpha (_Alpha): Transparency of the end result

● Color Effects

  1. Glow (Needs Post Processing Bloom to work as intended) [GLOW_ON]

    • Glow Color (_GlowColor): Color of the Glow

    • Glow Intensity (_Glow): Indicates how intensely the glow color will glow

    • Global Glow(_GlowGlobal): Indicates how much the sprite will glow. It will use the sprite color instead of the glow color

    • Glow Texture used? (_GlowTexUsed): When checked shows the following property

    • Glow Texture (_GlowTex): Acts as a mask. The glow will only be applied where the alpha of this texture is greater than 0

  2. Fade [FADE_ON]

    • Fade Texture (_FadeTex): Maps how the fade will be made. The fade will be made from black to white

    • Fade Amount (_FadeAmount): How much fade to apply. 0 is no fading and 1 is completely faded

    • Fade Burn Width (_FadeBurnWidth): Size of the burned edge. Can be set to 0 to have no burned edge

    • Fade Burn Smooth Transition (_FadeBurnTransition): How sharp the burned edge is

    • Fade Burn Color (_FadeBurnColor): Tint of the burned edge

    • Fade Burn Texture (_FadeBurnTex): Texture of the burned edge

    • Fade Burn Glow (_FadeBurnGlow): How much the burned edge glows (needs Bloom in the scene)

  3. Outline (when the width is large it doesn’t look good) [OUTBASE_ON]

    • Outline Base Color (_OutlineColor): Tint of outline color

    • Outline Base Alpha (_OutlineAlpha): Transparency of the outline

    • Outline Base Glow (_OutlineGlow): How much the outline glows (needs Bloom in the scene)

    • Outline Base High Resolution (_Outline8Directions): When toggled the outline has double the resolution and looks smoother on corners. It’s more expensive computation wise

    • Outline Base is Pixel Perfect (_OutlineIsPixel): When toggled the outline width increases pixel by pixel (ideal for pixel art games)

    • Outline Width (_OutlineWidth/_OutlinePixelWidth): How thick the outline is

    • Outline uses texture (_OutlineTex): Toggles if the outline has a texture overlay or not (is affected by Outline Base Color)

    • Outline Texture Scroll Speed (_OutlineTexXSpeed / _OutlineTexYSpeed): Scroll speed of the outline texture in the X axis and Y axis

    • Outline Texture is Greyscale (_OutlineTexGrey): When toggled the outline texture will be greyscaled

    • Outline uses distortion (_OutlineDistortToggle): When toggled distortion will be applied to the outline and the outline distortion properties will be shown

    • Outline Distortion Texture (_OutlineDistortTex): Noise texture that determines how the distortion is done

    • Outline Distortion Amount (_OutlineDistortAmount): How much is the outline distorted following the distortion texture

    • Outline Distortion Scroll Speed (_OutlineDistortTexXSpeed / _OutlineDistortTexYSpeed): Scroll speed of the distortion texture in the X axis and Y axis

  4. Alpha Outline [ALPHAOUTLINE_ON]:

    • Color (_AlphaOutlineColor): Color of the outline

    • Outline Glow (_AlphaOutlineGlow): Glow intensity of the outline

    • Power (_AlphaOutlinePower): In a way this works like the outline width

    • Min Alpha (_AlphaOutlineMinAlpha): Play around with this property to handle where the outline is formed

    • Blend (_AlphaOutlineBlend): 0 means the effect will be invisible. 1 fully visible, everything in between is interpolated

  5. Inner Outline (places outlines over the Main Texture) [INNEROUTLINE_ON]

    • Inner Outline Color (_InnerOutlineColor): Color of the Inner Outline

    • Inner Outline Thickness (_InnerOutlineThickness): How thick the Inner Outline is

    • Inner Outline Alpha (_InnerOutlineAlpha): How transparent the Inner Outline is

    • Inner Outline Glow (_InnerOutlineGlow): How much the Inner Outline glows (needs Bloom in the scene)

  6. Gradient [GRADIENT_ON]

    • Radial gradient?: When it’s not checked it will use this regular linear gradient

    • 2 Color Gradient?: When enabled limits the amount colors in the gradient to 2 (instead of 4)

    • Gradient Blend (_GradBlend): How much of the gradient we show. 0 means the gradient will be fully transparent and 1 means that it will be fully visible

    • Gradient Colors (_GradTopLeftCol /_GradTopRightCol / _GradBotLeftCol / _GradBotRightCol in order of appearance): The color of each corner of the gradient. Colors will be automatically blended together

    • Boost parameters (_GradBoostX and _GradBoostY): Biases the gradient in the X and Y axis respectively

    • Radial Gradient [RADIALGRADIENT_ON]:

    • Radial gradient?: When checked it will use this radial gradient

    • Top Color (_GradTopLeftCol): The color in the outer part of the radius

    • Bot Color (_GradBotLeftCol): The color in the inner part of the radius

    • Boost X (_GradBoostX): Biases the gradient towards the Top or Bot color depending on its value

  7. Color Swap (needs a color swap texture to work) [COLORSWAP_ON]

    • Color Swap Texture (_ColorSwapTex): This texture must contain pure red, blue and green sections. This sections will then be recolored with whatever color we choose in the following properties

    • Color Swap Red Channel (_ColorSwapRed): New color of the red parts of the Color Swap texture

    • Color Swap Red Luminosity (_ColorSwapRedLuminosity): How bright the Red Channel Color will be

    • The green and blue properties work like the red channel properties

    • Color Swap Blend (_ColorSwapBlend): Allows to fade out the effect. 1 is fully visible, 0 is invisible

  8. Hue Shift [HSV_ON]

    • Hue Shift (_HsvShift): How much the colors will be shifted

    • Hue Shift Saturation (_HsvSaturation): Saturation of the hue shift result

    • Hue Shift Bright (_HsvBright): Brightness of the hue shift result

  9. Change 1 Color [CHANGECOLOR_ON]

    • Tolerance (_ColorChangeTolerance): How similar to the Color to Change we need to be in order to change to the new color

    • Color to Change (_ColorChangeTarget): This is the color that the shader will look for. The shader will change the pixels that are similar to this color by the New Color

    • New Color (_ColorChangeNewCol): The result color of the pixels that are similar to Color to change

    • Use Color 2 and 3: Enables more color swap slots that work just like the default one

  10. Color Ramp [COLORRAMP_ON]

    • Color Ramp Texture (_ColorRampTex): This texture will be the new color palette of the sprite

    • Color Ramp Luminosity (_ColorRampLuminosity): Extra of luminosity used to shift the color palette to where you want

    • Color Ramp Affects Outline (_ColorRampOutline): When checked the color ramp will also affect the outline

    • Color Ramp Blend (_ColorRampBlend): Allows to fade out the effect. 1 is fully visible, 0 is invisible

  11. Hit Effect [HITEFFECT_ON]

    • Hit Effect Color (_HitEffectColor): The tint of the effect

    • Hit Effect Glow (_HitEffectGlow): Glow of the effect. Needs Bloom in the scene

    • Hit Effect Blend (_HitEffectBlend): How much of the effect is shown. When set to 0 it’s not shown, when set to 1 it shows fully. This is meant to be animated to get cool looking results

  12. Negative [NEGATIVE_ON]

    • Negative Amount (_NegativeAmount): How much of the negative effect we want to show

  13. Pixelate [PIXELATE_ON]

    • Pixelate size (_PixelateSize): The lower the number the more pixelated the sprite gets. This effect looks bad when combined with distortions

  14. Greyscale [GREYSCALE_ON]

    • Greyscale Luminosity (_GreyscaleLuminosity): Make sprite whiter

    • Greyscale Affects Outline (_GreyscaleOutline): When checked the greyscale will also affect the outline

    • Greyscale Tint Color (_GreyscaleTintColor): Tint of the greyscale

    • Greyscale Blend (_Greyscale Blend): Allows to fade out the effect. 1 is fully visible, 0 is invisible

  15. Posterize [POSTERIZE_ON]

    • Posterize Number of Colors (_PosterizeNumColors): The higher the number the more different colors the sprite will display

    • Posterize Amount (_PosterizeGamma): The higher the number the more different the posterize colors will be

    • Posterize Affects Outline (_PosterizeOutline): When checked the posterize will also affect the outline

  16. Blur (won’t affect the outline) [BLUR_ON]

    • Blur Intensity (_BlurIntensity): How much the sprite is blurred

    • Blur is low res (_BlurHD): When active an alternative and less expensive (computation wise) blur version is used

  17. Motion Blur [MOTIONBLUR_ON]

    • Motion Blur Angle (_MotionBlurAngle): The direction of the motion blur

    • Motion Blur Distance (_MotionBlurDist): The amount of motion blur

  18. Ghost [GHOST_ON]

    • Ghost Color Boost (_GhostColorBoost): How white the ghost effect gets

    • Ghost Transparency (_GhostTransparency): How transparent the effect gets

    • GhostBlend (_Ghost Blend): Allows to fade out the effect. 1 is fully visible, 0 is invisible

  19. Hologram [HOLOGRAM_ON]

    • Hologram Stripes Amount (_HologramStripesAmount): How much uv space does the hologram stripes take

    • Hologram Unchanged Amount (_HologramUnmodAmount): How much uv space does the unchanged parts take. These parts will be placed in between the stripes

    • Hologram Stripes Speed (_HologramStripesSpeed): How fast the stripes scroll

    • Hologram Min Alpha (_HologramMinAlpha): The minimum alpha of the stripes parts. The stripe parts will fade the alpha from this number to max alpha. This can be used to set any alpha gradient

    • Hologram Max Alpha (_HologramMaxAlpha): The maximum alpha of the stripes parts. The end value of the alpha gradient. If it’s value it’s bigger than 1 it will make the stripe part glow

    • Hologram Stripe Color (_HologramStripeColor): Tint of the hologram stripe

    • Hologram Blend (_Hologram Blend): Allows to fade out the effect. 1 is fully visible, 0 is invisible

  20. Chromatic Aberration [CHROMABERR_ON]

    • ChromaticAberr Amount (_ChromAberrAmount): How visible the effect is

    • ChromaticAberr Alpha (_ChromAberrAlpha): How transparent the effect is

  21. Glitch [GLITCH_ON]

    • Glitch Amount (_GlitchAmount): The higher the number, the more intense the effect gets

    • Glitch Size (_GlitchSize): The higher the number, the smaller the glitch squares get

  22. Flicker [FLICKER_ON]

    • Flicker Percent (_FlickerPercent): The percentage of time the sprite is invisible (from 0 to 1)

    • Flicker Frequency (_FlickerFreq): How often does the flicker happen

    • Flicker Alpha (_FlickerAlpha): How transparent the sprite is when it flickers

  23. Shadow [SHADOW_ON]

    • Shadow X Axis (_ShadowX): Shadow position offset on the X axis

    • Shadow Y Axis (_ShadowY): Shadow position offset on the Y axis

    • Shadow Alpha (_ShadowAlpha): Transparency of the shadow

    • Shadow Color (_ShadowColor): Tint of the shadow

  24. Shine [SHINE_ON]

    • Shine Mask (_ShineMask): None transparent parts of this mask texture will allow the shine to show

    • Shine Color (_ShineColor): Color tint of the shine effect

    • Shine Location (_ShineLocation): Decides the position of the shine line. 0.5 is the center. 0 is one end and 1 is the other end. Animate this value to get a nice scrolling shine effect

    • Shine Rotate: Rotation of the shine line in radians

    • Shine Width (_ShineWidth): How wide the shine line is

    • Shine Glow (_ShineGlow): How much does the shine line glow (benefits from post processing Bloom)

  25. Contrast & Brightness [CONTRAST_ON]

    • Contrast (_Contrast): Contrast Amount (1 is default contrast)

    • Brightness (_Brightness): Extra brightness

  26. Overlay [_OVERLAY_ON]

    • The “Is overlay multiplicative?” [OVERLAYMULT_ON] toggle allows you to swap between multiplicative and additive mode. Additive just brightens the image by adding color, while multiplicative will darken it and fade it depending on the overlay texture alpha

    • Overlay Texture (_OverlayTex): The texture that we will overlay

    • Overlay Color (_OverlayColor): The tint of the overlay texture

    • Overlay Glow (_OverlayGlow): The glow of the overlay texture

    • Overlay Blend (_OverlayBlend): Allows to fade out the effect. 1 is fully visible, 0 is invisible

    • Texture X Scroll Speed (_OverlayTextureScrollXSpeed): Scrolling speed on the X axis

    • Texture Y Scroll Speed (_OverlayTextureScrollYSpeed): Scrolling speed on the Y axis

  27. Alpha Cutoff [ALPHACUTOFF_ON]

    • Alpha cutoff value (_AlphaCutoffValue): Pixels that are more transparent than this value are not drawn. This is useful to make more cartoon looking effects and to discard unwanted transparencies from certain effects (avoids alpha overdraw)

  28. Alpha Round [ALPHAROUND_ON]

    • Round Threshold (_AlphaRoundThreshold): Rounds the alpha value depending on this threshold. The values above this value turn into 1 and the ones below into 0

● UV Effects

  1. Hand Drawn [DOODLE_ON]

    • Hand Drawn Amount (_HandDrawnAmount): How much of a distortion we apply to make it look hand drawn frame a frame

    • Hand Drawn Speed (_HandDrawnSpeed): How often we distort the sprite

  2. Grass Movement / Wind [WIND_ON]

    • Grass Speed (_GrassSpeed): How fast it moves from side to side

    • Bend Amount (_GrassWind): How much the sprite bends

    • Radial Bend (_GrassRadialBend): How much the sprite twists. The top part of the sprite will twist with the wind the higher this number is

    • Grass is manually animated (_GrassManualToggle): When checked the sprite won’t move on its own (useful if you want a sprite to interact with the player)

    • Grass manual anim (_GrassManualAnim): If the previous property is checked this property dictates how the sprite bends. -1 means fully bent to the left and 1 fully bent to the right

  3. Wave [WAVEUV_ON]

    • Wave Amount (_WaveAmount): How many waves we make

    • Wave speed (_WaveSpeed): How fast the wave scrolls across the sprite

    • Wave Strength (_WaveStrength): How much the wave affects the sprite

    • Wave X Axis (_WaveX): Position of the wave origin on the X axis (0 is left 1 is right)

    • Wave Y Axis (_WaveY): Position of the wave origin on the Y axis (0 is bottom 1 is top)

  4. Round Wave [ROUNDWAVEUV_ON]

    • Round Wave Strength (_RoundWaveStrength): How much the wave affects the sprite

    • Round Wave Speed (_RoundWaveSpeed): How fast the wave scrolls across the sprite

  5. Rect Size [RECTSIZE_ON]

    • Rect Size (_RectSize): Size of the mesh where the sprite is drawn. Set Scene to “Shaded Wireframe” shading mode to see the mesh shape

  6. Offset [OFFSETUV_ON]

    • Offset X axis (_OffsetUvX): Offset of the sprite on the X axis

    • Offset Y axis (_OffsetUvY): Offset of the sprite on the Y axis

  7. Clipping (useful for sliders) [CLIPPING_ON]

    • Clipping Left (_ClipUvLeft): How much of the image we clip from left to right

    • Clipping Right (_ClipUvRight): How much of the image we clip from right to left

    • Clipping Up (_ClipUvUp): How much of the image we clip from up to down

    • Clipping Down (_ClipUvDown): How much of the image we clip from down to up

  8. Radial Clipping [RADIALCLIPPING_ON]

    • Radial Clip Angle (_RadialClipAngle): In degrees, where the radial clipping starts

    • Radial Clip (_RadialClip): How many degrees we clip. From left to right

    • Radial Clip 2 (_RadialClip2): How many degrees we clip. From right to left

  9. Texture Scroll [TEXTURESCROLL_ON]

    • Texture Scroll Speed X (_TextureScrollXSpeed): Scrolling speed on the X axis

    • Texture Scroll Speed Y (_TextureScrollYSpeed): Scrolling speed on the Y axis

  10. Zoom [ZOOMUV_ON]

    • Zoom Amount (_ZoomUvAmount): How much the sprite is zoomed

  11. Distortion [DISTORT_ON]

    • Distortion Texture (_DistortTex): Noise texture that determines how the distortion is done

    • Distortion Amount (_DistortAmount): How much the image is distorted following the texture pattern

    • Distortion scroll speed (_DistortTexXSpeed and _DistortTexYSpeed): Scroll speed of the distortion texture in the X axis and Y axis

  12. Warp [WARP_ON]

    • Warp Strength (_WarpStrength): Determines the displacement amount

    • Warp Speed (_WarpSpeed): How often the displacement happens

    • Warp Scale (_WarpScale): The lower the scale the more tiled the effect will look

  13. Twist [TWISTUV_ON]

    • Twist Amount (_TwistUvAmount): How much is the sprite twisted

    • Twist Pos X Axis (_TwistUvPosX): Position of the center of the twist on the X axis (0 is left and 1 is right)

    • Twist Pos Y Axis (_TwistUvPosY): Position of the center of the twist on the Y axis (0 is bottom and 1 is top)

    • Twist Radius (_TwistUvRadius): The radius of the twist effect

  14. Rotate [ROTATEUV_ON]

    • Rotate Angle (_RotateUvAmount): Indicates in radians the angle of rotation of the sprite texture

  15. Polar Coordinates [POLARUV_ON]

    • Transforms the uv coordinates into polar coordinates (this effect looks goods with tiling on the main texture + texture scrolling)

  16. Fish Eye [FISHEYE_ON]

    1. Fish Eye Amount (_FishEyeUvAmount): How much fish eye distortion we want to apply

  17. Pinch [PINCH_ON]

    • Pinch Amount (_PinchUvAmount): How much pinch effect we want to apply

  18. Shake [SHAKEUV_ON]

    • Shake Speed (_ShakeUvSpeed): How fast it shakes

    • Shake X Multiplier (_ShakeUvX): The higher the value the more it will move on the X axis while shaking

    • Shake Y Multiplier (_ShakeUvY): The higher the value the more it will move on the Y axis while shaking

● Lighting Properties (Urp 2D Renderer shader)

  • Lighting Mask: A greyscale texture that indicates where the sprite should be affected by light. White means affected by light and black means unlit

  • Lit Amount: How lit the sprite is. 1 is fully lit and 0 is not affected by light

  • Normal Map: Normal map texture, affects how the sprite is lit

  • Normal Strength: The higher this value gets the more pronounced the normal map effect gets (very high values tend to look bad)