Retro Screen FX
The Ultimate CRT & LCD Emulator for Unity
Instantly transform your game's visuals with the ultimate post-processing solution for emulating vintage CRT, LCD, and retro computer displays!
Get on the Unity Asset StoreKey Features
đšī¸ Preset-Based Workflow
Design, save, and reuse countless visual styles with intuitive ScriptableObject presets.
đ¨ 6+ Pre-Built Presets
Includes a variety of ready-to-use styles: 8-Bit, 16-Bit, GB, GBA, CRT Scanline, and 2-Bit Dithered.
đī¸ Dynamic Transitions
Smoothly animate between different retro looks with the powerful RetroScreenAnimator and physics-based trigger zones.
đē Authentic CRT Emulation
Realistic screen curvature, customizable scanlines, RGB shift, analog noise, vignette, and CRT shadow masks.
đž Pixel-Perfect Aesthetics
Control virtual resolution, limit the color palette, apply classic dithering, and create your own 4-color palettes.
đ Classic LCD Simulation
Emulate the distinct vertical RGB stripes of LCD screens or recreate the look of vintage monochrome displays.
đĨī¸ Render Texture Support
Works perfectly with Render Textures. Apply the effect to any in-game screen, monitor, or device for an authentic look.
đ Full Example Scene
Includes a complete, pre-configured example scene demonstrating various effects and features out of the box.
Gallery
Documentation
RetroScreenPostProcess.cs
This is the main script that applies the post-processing effect to the camera. It must be attached to a `Camera` GameObject.
settings: An instance of RetroScreenSettings that holds the current effect parameters.
activePreset: A RetroScreenPreset ScriptableObject. If assigned, the component will load its settings from this preset.
blendDuration: The time in seconds it takes to smoothly transition between presets.
RetroScreenSettings.cs
A data container for all the visual parameters of the effect. It does not need to be attached to any GameObject.
RetroScreenPreset.cs
A ScriptableObject that stores a RetroScreenSettings configuration. This allows you to save, reuse, and share different visual styles.
RetroScreenAnimator.cs
This component animates the effect by transitioning between different `RetroScreenPreset`s over time. Place it on the same GameObject as `RetroScreenPostProcess`.
RetroScreenTrigger.cs
This component allows you to trigger preset transitions based on physics events. It requires a `Collider` component on the same GameObject, with its `Is Trigger` property enabled.
CRT Effects
Controls for screen curvature, scanlines, RGB shift, noise, and vignette.
Pixelation
Controls for virtual pixel size and the grid gap between them.
LCD Emulation
Simulates LCD subpixel layouts and monochrome displays.
Color Modes & Palettes
Select between full color, grayscale, monochrome, and custom 4-color palettes. Includes color quantization and dithering.
Overlays
Apply textures for CRT masks (shadow mask, aperture grille) and screen dirt/smudges.
Get Started in 5 Steps
- Attach
RetroScreenPostProcessto your main camera. - Create a
RetroScreenPresetin your project assets via the `Create` menu. - Assign the new preset to the
activePresetfield on the `RetroScreenPostProcess` component. - Select the preset asset in the Project window and adjust its values in the Inspector to achieve your desired look.
- (Optional) Add the
RetroScreenAnimatorto the camera to animate between multiple presets.