Install Asset
Install via Godot
To maintain one source of truth, Godot Asset Library is just a mirror of the old asset library so you can download directly on Godot via the integrated asset library browser

Quick Information

This demo includes procedurally generated materials with 3 different techniques:- NoiseTexture2D: Built-in class that generates images on the CPU based on noise patterns (such as Simplex or Cellular). This is suited for static textures only. Texture generation is done asynchronously and is faster than using scripting, since the noise algorithms are implemented in C++ in the engine.- Scripting: Uses the Image class to procedurally generate an ImageTexture on the CPU. This is suited for static textures only. This approach is more flexible than NoiseTexture2D, but is slower to generate textures. Once the texture is generated, rendering performance is identical to NoiseTexture2D.- Shaders: Uses a 2D shader on a ColorRect node that matches a Viewport's size with the resulting ViewportTexture applied to a material. This is updated on the GPU in real-time, and is most suited for animated textures. This approach can also be used for static textures, with a lower performance overhead since the texture doesn't need to be updated every frame.Language: GDScriptRenderer: Forward+
Procedural Materials
This demo includes procedurally generated materials with 3 different techniques:
NoiseTexture2D: Built-in class that generates images on the CPU based on noise patterns (such as Simplex or Cellular). This is suited for static textures only. Texture generation is done asynchronously and is faster than using scripting, since the noise algorithms are implemented in C++ in the engine.
Scripting: Uses the Image class to procedurally generate an ImageTexture on the CPU. This is suited for static textures only. This approach is more flexible than NoiseTexture2D, but is slower to generate textures. Once the texture is generated, rendering performance is identical to NoiseTexture2D.
Shaders: Uses a 2D shader on a ColorRect node that matches a Viewport's size with the resulting ViewportTexture applied to a material. This is updated on the GPU in real-time, and is most suited for animated textures. This approach can also be used for static textures, with a lower performance overhead since the texture doesn't need to be updated every frame.
Language: GDScript
Renderer: Forward+
Screenshots
This demo includes procedurally generated materials with 3 different techniques:
- NoiseTexture2D: Built-in class that generates images on the CPU based on noise patterns (such as Simplex or Cellular). This is suited for static textures only. Texture generation is done asynchronously and is faster than using scripting, since the noise algorithms are implemented in C++ in the engine.
- Scripting: Uses the Image class to procedurally generate an ImageTexture on the CPU. This is suited for static textures only. This approach is more flexible than NoiseTexture2D, but is slower to generate textures. Once the texture is generated, rendering performance is identical to NoiseTexture2D.
- Shaders: Uses a 2D shader on a ColorRect node that matches a Viewport's size with the resulting ViewportTexture applied to a material. This is updated on the GPU in real-time, and is most suited for animated textures. This approach can also be used for static textures, with a lower performance overhead since the texture doesn't need to be updated every frame.
Language: GDScript
Renderer: Forward+
Reviews
Quick Information

This demo includes procedurally generated materials with 3 different techniques:- NoiseTexture2D: Built-in class that generates images on the CPU based on noise patterns (such as Simplex or Cellular). This is suited for static textures only. Texture generation is done asynchronously and is faster than using scripting, since the noise algorithms are implemented in C++ in the engine.- Scripting: Uses the Image class to procedurally generate an ImageTexture on the CPU. This is suited for static textures only. This approach is more flexible than NoiseTexture2D, but is slower to generate textures. Once the texture is generated, rendering performance is identical to NoiseTexture2D.- Shaders: Uses a 2D shader on a ColorRect node that matches a Viewport's size with the resulting ViewportTexture applied to a material. This is updated on the GPU in real-time, and is most suited for animated textures. This approach can also be used for static textures, with a lower performance overhead since the texture doesn't need to be updated every frame.Language: GDScriptRenderer: Forward+