Uploaded October 2022 | Updated September 2026, 1 hour ago
In this Unity tutorial you'll learn how to sample texture data from within your C# scripts and do something based on the sampled result. Specifically today we'll be using the grayscale value of the colors to choose a weighted random pixel. Once we know that we'll be updating a virtual texture on a SpriteRenderer to show us the bounds of where we were sampling and the specific pixel sampled each time.
Reading texture data in your scripts has a wide variety of applications in Unity. From Editor Scripting to show brushes, to runtime weighted bullet spread there's as many options as you can come up with!
πΆ ALL THINGS LlamAcademy now available at: https://llamacademy.dev/support including latest tutorials, courses, ways to support, and more! Check it out π
π¨βπ» Get the FULL FREE PROJECT on GitHub: github.com/llamacademy/read-texture-data
π·οΈSave 25% on the ultimate C# IDE: JetBrains Rider with code LLAMACADEMY: jetbrains.com/store/?section=personal&billing=yearly
π Resources
π Get Pixels: docs.unity3d.com/ScriptReference/Texture2D.GetPixels.html
π Get Raw Texture Data: docs.unity3d.com/ScriptReference/Texture2D.GetRawTextureData.html
π Create Sprite: docs.unity3d.com/ScriptReference/Sprite.Create.html
π Create Texture2D: docs.unity3d.com/ScriptReference/Texture2D-ctor.html
Some links may be affiliate links, which at no additional cost to you, gives me a small portion of the purchase.
Chapters:
00:00 Topic Introduction
01:30 Variables & Setup - SampleTextureOnClick.cs
02:48 Handling Click - SampleTextureOnClick.cs
03:03 Sampling a Texture with Weighted Random Grayscale - SampleTextureOnClick.cs
05:55 Mapping 1D Color Array to 2D Pixel Coordinates - SampleTextureOnClick.cs
07:16 Writing to a Texture - SampleTextureOnClick.cs
07:36 Become a Supporter
08:08 IMPORTANT Texture Settings & Demo
08:49 Performance Considerations
In this Unity tutorial you'll learn how to sample texture data from within your C# scripts and do something based on the sampled result. Specifically today we'll be using the grayscale value of the colors to choose a weighted random pixel. Once we know that we'll be updating a virtual texture on a SpriteRenderer to show us the bounds of where we were sampling and the specific pixel sampled each time.
Reading texture data in your scripts has a wide variety of applications in Unity. From Editor Scripting to show brushes, to runtime weighted bullet spread there's as many options as you can come up with!
πΆ ALL THINGS LlamAcademy now available at: https://llamacademy.dev/support including latest tutorials, courses, ways to support, and more! Check it out π
π¨βπ» Get the FULL FREE PROJECT on GitHub: github.com/llamacademy/read-texture-data
π·οΈSave 25% on the ultimate C# IDE: JetBrains Rider with code LLAMACADEMY: jetbrains.com/store/?section=personal&billing=yearly
π Resources
π Get Pixels: docs.unity3d.com/ScriptReference/Texture2D.GetPixels.html
π Get Raw Texture Data: docs.unity3d.com/ScriptReference/Texture2D.GetRawTextureData.html
π Create Sprite: docs.unity3d.com/ScriptReference/Sprite.Create.html
π Create Texture2D: docs.unity3d.com/ScriptReference/Texture2D-ctor.html
Some links may be affiliate links, which at no additional cost to you, gives me a small portion of the purchase.
Chapters:
00:00 Topic Introduction
01:30 Variables & Setup - SampleTextureOnClick.cs
02:48 Handling Click - SampleTextureOnClick.cs
03:03 Sampling a Texture with Weighted Random Grayscale - SampleTextureOnClick.cs
05:55 Mapping 1D Color Array to 2D Pixel Coordinates - SampleTextureOnClick.cs
07:16 Writing to a Texture - SampleTextureOnClick.cs
07:36 Become a Supporter
08:08 IMPORTANT Texture Settings & Demo
08:49 Performance Considerations


