Limitless Logo
Limitless Logo
Limitless Logo
Limitless Logo
Retro Look Pro Legacy documentation and API

Retro Look Pro API for Legacy standalone effects.

Retro Look Pro on Asset Store

Add Retro Look Pro or Post Retro Look Pro component to your camera. Create new RetroLookPro preset (Create/RetroLookPro/New preset). Insert preset in Retro Look Pro component attached to your camera. Adjust parameters. Have fun!

Retro Look Pro component uses OnRender method.It gives less perfomance then post method, lets you use custom texture.

Post Retro Look Pro uses postRender method.It Gives you extra perfomance in some cases, but have no ability to use custom texture, doesn't support HDR and MSAA and uses Forward rendering path only.

Development mode - All changes made in selected preset will be applied and saved instantly in Game mode. If you want to access variables from your scripts uncheck this option.

Reference Scr - Assign needed Retro Look Pro preset(ScriptableObject).

To create new Preset - Create/Retro Look Pro/New Preset.

API usage examples:

Example 1

This example shows how to access variables from needed RetroLookPro/RetroLookPostPro cached preset.

In this case "development mode" in "RetroLookPro/RetroLookPostPro" should be turned off.

Note that all changes will be reversed after you exit game mode. It is much safer to use this method instead of second one.

using UnityEngine;

using LimitlessDev.RetroLookPro;

public class APIExampleUsage1 : MonoBehaviour {

//Reference to RetroLookPro/RetroLookPostPro that you are currently using.

public RetroLookPro RetroLookReference;

// Update is called once per frame

void Update()


//Enable/Disable needed variable on "Space" key press.

if (Input.GetKeyDown(KeyCode.Space)) {

if (RetroLookReference.tempPreset.f_Fisheye)

RetroLookReference.tempPreset.f_Fisheye = false;


RetroLookReference.tempPreset.f_Fisheye = true;

} } }

Example 2

This example shows how to access variables directly from preset Scriptable Object.

In this case "development mode" in "RetroLookPro/RetroLookPostPro" should be turned on.

Note that all changes made in Scriptable Objects will be saved after you exit game mode. Very usefull in some cases.

using UnityEngine;

using LimitlessDev.RetroLookPro;

public class APIExampleUsage2 : MonoBehaviour


//Reference to the Scriptable Object preset that you are currently using.

public PresetScriptableObject RetroLookScriptableObjectReference;

// Update is called once per frame

void Update() {

//Enable/Disable needed variable on "Space" key press.

if (Input.GetKeyDown(KeyCode.Space))


if (RetroLookScriptableObjectReference.currPreset.f_Fisheye)

RetroLookScriptableObjectReference.currPreset.f_Fisheye = false;


RetroLookScriptableObjectReference.currPreset.f_Fisheye = true;




To adjust variables through your scripts uncheck "Development mode" on RetroLookPro component.

In your script:

  1. Create "Preset yourPreset;" variable in your script.
  2. Reference "yourPreset" to "tempPreset" from "RetroLookPro/RetroLookProPost" component.
  3. Don't forget to disable "developmentMode" to access variables.
  4. Now you have access to change variables instantly from your script.


  • Bottom Noise
Type Name Description
bool useBottomNoise Enable/disable bottom noise effect.
float bottomHeight Height of Stretch/Noise. [0, 0.5]
float bottomIntensity Noise intensity. [0, 3]
bool useBottomStretch Enable stretch effect.

  • Color Palette

IMPORTANT NOTE : To use presets please open "\Assets\LimitlessUnityDevelopment\RetroLookPro\Resources\ColormapPresets.unitypackage" and import it. Then fill RetroLookProColorPaletePresetsList\presetslist with all presets from "\Assets\LimitlessUnityDevelopment\RetroLookPro\Resources\Colormap Presets".

31 pre-computed colormap presets that reduces the number of colors to up to 64 specific colors and can also lower the resolution to any width and height, creating advanced posterization-like effect.

If you want to reduce package size , open RetroLookProColorPaletePresetsList.asset ("\Assets\LimitlessUnityDevelopment\RetroLookPro\Resources") and remove unnecessary items from the list. Then remove unneeded colormap presets from "\Assets\LimitlessUnityDevelopment\RetroLookPro\Resources\Colormap Presets".

Type Name Description
bool enableColorPalette Enables color palette effect.
ResolutionMode resolutionMode The resolution of the pixelated image can be set in two ways.Either by setting absolute values (ConstantResolution) or by setting the pixel size (ConstantPixelSize).
int resolutionModeIndex 0 - Constant Resolution, 1 - Constant PixelSize.
Vector2Int resolution Change Resolution manually if using resolutionModeIndex - 0.
int pixelSize Change pixel size if using resolutionModeIndex - 1, in this case resolution calculates automatically. [1, 256]
float dither Dithering effect. [ 0 , 1]
float opacity Effect opacity. [0, 1]
int colorPresetIndex Palette preset index number in palette presets list.
  • TV Mode
Type Name Description
bool _enableTVmode Enable TV effect.
Texture _VHSNoise Noise texture.
float _textureIntensity Intensity of noise texture. [0, 8]
float _VerticalOffsetFrequency Vertical twitch frequency. [0, 100]
float _verticalOffset Amount of vertical twitch. [0, 1]
float _offsetColor Amount of color offset. [0, 0.1]
float _OffsetDistortion Amount of horizontal distortion. [3500, 1]
bool _scan Enable scanlines.
float _adjustLines Scanlines amount. [1, 10]
Color _scanLinesColor Scanlines color.
float _hardScan Scanlines effect amount. [-8, -16]
float _resolution Effect resolution. [16, 1]
float maskDark Dark areas adjustment. [0, 2]
float maskLight Light areas adjustment. [0, 2]
Vector4 warp Warp picture.
  • ByPass mode (Use this mode for passing videos or static images)
Type Name Description
bool enableCustomTexture Enable bypass mode(only for RetroLookPro).
Texture bypassTex Bypass Texture(if you have ready to go RenderTexture or any other texture, then no need to touch spriteTex).
Sprite spriteTex Bypass sprite(bypassTex will be computed automaticly).
  • Bleed effect
Type Name Description
int b_Mode Bleed Mode index. 0 - "Old Three Phase" 1 - "Three Phase" 2 - "Two Phase (slow)" 3 - "Custom Curve".
bool b_Bleed Enable bleed effect.
int b_LinesMode Vertical Resolution mode index. 0 - "Full" 1 - "240 " 2 - "480 " 3 - "Users".
float b_ScreenLinesNum Lines Per Height, if b_LinesMode = 3.
float b_BleedAmount Bleed Stretch amount. [0, 15]
int b_BleedLength Bleed Length [0, 50]. If b_Mode = 3
bool b_BleedCurveSync Synchronize I and Q chanels.
AnimationCurve b_BleedCurve1 Curve Y chanel.
AnimationCurve b_BleedCurve2 Curve I chanel.
AnimationCurve b_BleedCurve3 Curve Q chanel.
  • Fisheye effect
Type Name Description
bool f_Fisheye Enable fisheye effect.
float f_FisheyeBend Bend Amount. [0, 50]
int f_FisheyeType Fisheye type index. 0 - "Default", 1 - "Hyperspace".
float f_FisheyeSize Fisheye size. [0, 50]
float f_CutoffX Cutoff on X axes. [0, 50]
float f_CutoffY Cutoff on Y axes. [0, 50]
float f_FadeX Fade on X axes. [0, 50]
float f_FadeY Fade on Y axes. [0, 50]
  • Vignette effect
Type Name Description
bool v_Vignette Enable Vignette effect.
float v_VignetteAmount Amount of vignette effect. [0, 5]
float v_VignetteSpeed Vignette twitch speed. [0, 5]
  • Noise
Type Name Description
int n_NoiseMode Vertical Resolution index. 0 - "Global", 1 - "Custom".
float n_NoiseLinesAmountY Amount of noise lines on Y axes.
float n_NoiseSignalProcessing Noise Signal Processing Amount. [0, 1]
bool f_Granularity Enable granularity noise effect.
float f_GranularityAmount Granularity Alpha. [0, 0.1]

Signal Noise

Type Name Description
bool f_SignalNoise Enable signal noise.
float f_SignalNoiseAmount Signal amount. [0, 1]
float f_SignalNoisePower Signal power. [0, 1]

Tape Noise

Type Name Description
bool f_TapeNoise Enable tape noise.
float f_TapeNoiseTH Tape Amount. [0, 1.5]
float f_TapeNoiseAmount Tape alpha. [0, 1.5]
float f_TapeNoiseSpeed Tape speed. [0, 1.5]

Line Noise

Type Name Description
bool f_LineNoise Enable line noise.
float f_LineNoiseAmount. Amount of line noise. [0, 10]
float f_LineNoiseSpeed Noise speed. [0, 10]
  • Video Shake filter


Type Name Description
bool j_ScanLines Enable scanlines.
float j_ScanLinesWidth Width of the scanlines. [0, 20]
bool j_LinesFloat Floating lines amount.
float j_LinesSpeed Lines speed. [-3, 3]
bool j_Stretch Enable stretch noise.
bool j_JitterHorizontal Enable Horizontal Interlacing.
float j_JitterHorizAmount Amount of horizontal interlacing. [0, 5]
bool j_JitterVertical Shake Vaertical.
float j_VertAmount Amount of shake. [0, 15]
float j_VertSpeed Speed of vertical shake. [0, 5]


Type Name Description
bool j_TwitchHorizontal Enable Twitch on X axes.
float j_TwitchHorizFreq Twitch frequency on X axes. [0, 5]
bool j_TwitchVertical Enable Twitch on Y axes.
float j_TwitchVertFreq Twitch frequency on Y axes. [0, 5]
  • Picture correction
Type Name Description
bool p_PictureCorrection Enable Picture correction effect.
float p_PictureCorr1 Y permanent adjustment. [-0.25, 0.25]
float p_PictureCorr2 I permanent adjustment. [-0.25, 0.25]
float p_PictureCorr3 Q permanent adjustment. [-0.25, 0.25]
float p_PictureShift1 tweak/shift Y values. [-2, 2]
float p_PictureShift2 tweak/shift I values. [-2, 2]
float p_PictureShift3 tweak/shift Q values. [-2, 2]
float p_Gamma use this to balance the gamma(brightness) of the signal. [0, 2]
  • Artefacts
Type Name Description
bool a_Artefacts Enable artefacts/trail effect.
float a_ArtefactsThreshold Brightness threshold of input. [0, 1]
float a_ArtefactsAmount Amplifies the input amount after cutoff. [0, 3]
float a_ArtefactsFadeAmount Value represents how fast trail fades. [0, 1].
Color a_ArtefactsColor Artefacts color.
  • Time Setting
Type Name Description
bool independentTimeOn In case of using Time.timeScale = 0 (or Application.timeScale = 0) ,it stops shader timer and it's animation. If you still need shader to run, use unscaled time" feature.