Bird
Raised Fist0
Unityframework~10 mins

Image and raw image components in Unity - Step-by-Step Execution

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Concept Flow - Image and raw image components
Add UI Canvas
Add Image or RawImage Component
Assign Sprite (Image) or Texture (RawImage)
Set Properties: Color, Size, Raycast Target
Image Displays on Screen
This flow shows how to add and configure Image or RawImage components in Unity UI to display graphics.
Execution Sample
Unity
using UnityEngine;
using UnityEngine.UI;

public class ShowImage : MonoBehaviour {
  public Image img;
  public RawImage rawImg;
  void Start() {
    img.color = Color.red;
    rawImg.texture = Texture2D.whiteTexture;
  }
}
This code sets the color of an Image component to red and assigns a white texture to a RawImage component at start.
Execution Table
StepActionComponentProperty ChangedValueEffect
1Start method calledImagecolorredImage color changes to red
2Start method calledRawImagetexturewhiteTextureRawImage shows white texture
3Frame rendersImage & RawImagedisplayupdatedBoth images appear on screen with set properties
4End---No further changes
💡 Start method finishes, images display with assigned properties
Variable Tracker
VariableStartAfter Step 1After Step 2Final
img.colordefaultredredred
rawImg.texturenullnullwhiteTexturewhiteTexture
Key Moments - 2 Insights
Why does Image use a Sprite but RawImage uses a Texture?
Image component displays Sprites which are optimized for UI, while RawImage uses Textures directly for more flexibility. See execution_table steps 1 and 2 where different properties are set.
What happens if you don't assign a Sprite or Texture?
The Image or RawImage will not display anything visible. In the execution_table, before step 1 and 2, img.color and rawImg.texture are default or null, so no image shows.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table, what color is the Image component after step 1?
ADefault (white)
BWhite
CRed
DTransparent
💡 Hint
Check the 'Property Changed' and 'Value' columns for step 1 in execution_table
At which step is the RawImage texture assigned?
AStep 2
BStep 1
CStep 3
DStep 4
💡 Hint
Look at the 'Action' and 'Component' columns in execution_table rows
If you remove the line 'img.color = Color.red;', what will be the Image color after step 1?
ARed
BDefault color (white)
CTransparent
DBlack
💡 Hint
Refer to variable_tracker for img.color initial value and step 1 change
Concept Snapshot
Image and RawImage components show graphics in Unity UI.
Image uses Sprites; RawImage uses Textures.
Set properties like color (Image) or texture (RawImage) to change appearance.
Add components to Canvas to display.
Without assigning Sprite/Texture, nothing shows.
Full Transcript
In Unity, to show pictures in the UI, you use Image or RawImage components. Image works with Sprites, which are special images made for UI. RawImage works with Textures, which are more general images. First, you add a Canvas to your scene. Then you add an Image or RawImage component to a UI object. You assign a Sprite to Image or a Texture to RawImage. You can also change properties like color for Image. When the game runs, these components display the images on the screen. If you don't assign a Sprite or Texture, nothing will show. The example code sets the Image color to red and the RawImage texture to a white texture when the game starts. This changes how they look on screen. The execution table shows these steps clearly, tracking changes and effects. This helps beginners see how the components update and display images.

Practice

(1/5)
1. Which Unity UI component is best suited for displaying a sprite with color tinting?
easy
A. RawImage component
B. Image component
C. Text component
D. Button component

Solution

  1. Step 1: Understand the purpose of Image component

    The Image component is designed to display sprites and supports color tinting, making it ideal for sprite display with color changes.
  2. Step 2: Compare with RawImage component

    RawImage displays textures and allows UV adjustments but does not support sprite-specific features like tinting.
  3. Final Answer:

    Image component -> Option B
  4. Quick Check:

    Sprite + tinting = Image component [OK]
Hint: Image = sprites + tinting; RawImage = textures + UV [OK]
Common Mistakes:
  • Confusing RawImage with Image for sprites
  • Thinking Text or Button can display sprites
  • Ignoring color tinting feature
2. Which of the following is the correct way to assign a texture to a RawImage component in C# script?
easy
A. rawImage.texture = myTexture;
B. rawImage.sprite = myTexture;
C. rawImage.image = myTexture;
D. rawImage.setTexture(myTexture);

Solution

  1. Step 1: Recall RawImage property for texture

    RawImage uses the 'texture' property to assign a Texture object.
  2. Step 2: Check syntax correctness

    Assigning with 'rawImage.texture = myTexture;' is correct syntax in Unity C#.
  3. Final Answer:

    rawImage.texture = myTexture; -> Option A
  4. Quick Check:

    RawImage.texture = Texture [OK]
Hint: RawImage uses .texture, Image uses .sprite [OK]
Common Mistakes:
  • Using .sprite with RawImage
  • Calling non-existent methods like setTexture()
  • Confusing Image and RawImage properties
3. Given this code snippet in Unity C#:
Image img = GetComponent<Image>();
img.color = new Color(1, 0, 0, 0.5f);
What will be the visible effect on the Image component?
medium
A. The image will become fully transparent
B. The image will turn solid red with no transparency
C. The image color will not change
D. The image will have a semi-transparent red tint

Solution

  1. Step 1: Analyze the color assignment

    The color is set to red (1,0,0) with alpha 0.5, meaning 50% transparency.
  2. Step 2: Understand Image color effect

    Image component applies color tint including alpha, so the image will appear red and semi-transparent.
  3. Final Answer:

    The image will have a semi-transparent red tint -> Option D
  4. Quick Check:

    Color RGBA(1,0,0,0.5) = semi-transparent red [OK]
Hint: Alpha < 1 means transparency; RGB sets tint color [OK]
Common Mistakes:
  • Assuming alpha 0.5 means fully transparent
  • Thinking color change won't affect Image
  • Confusing solid color with tint
4. What is wrong with this code snippet that tries to assign a sprite to a RawImage component?
RawImage rawImg = GetComponent<RawImage>();
rawImg.sprite = mySprite;
medium
A. The sprite must be converted to a texture first
B. You must use 'rawImg.texture' to assign a sprite
C. RawImage does not have a 'sprite' property
D. The code should use 'rawImg.image' instead of 'rawImg.sprite'

Solution

  1. Step 1: Check RawImage properties

    RawImage component uses 'texture' property, not 'sprite'. 'sprite' is for Image component.
  2. Step 2: Understand property mismatch

    Assigning 'sprite' to RawImage causes error because it doesn't exist.
  3. Final Answer:

    RawImage does not have a 'sprite' property -> Option C
  4. Quick Check:

    RawImage lacks sprite property [OK]
Hint: RawImage uses .texture, not .sprite [OK]
Common Mistakes:
  • Trying to assign sprite directly to RawImage
  • Confusing Image and RawImage components
  • Assuming RawImage has 'image' property
5. You want to display a UI element in Unity that shows a texture with custom UV coordinates to create a scrolling effect. Which component should you use and how do you adjust the UVs?
hard
A. Use RawImage component and modify its uvRect property
B. Use Image component and change its sprite's UVs directly
C. Use RawImage component and change the color property
D. Use Image component and animate its color alpha

Solution

  1. Step 1: Identify component for texture with UV control

    RawImage supports textures and allows UV adjustments via uvRect property.
  2. Step 2: Understand how to create scrolling effect

    Changing uvRect offsets scrolls the texture on RawImage, enabling the effect.
  3. Final Answer:

    Use RawImage component and modify its uvRect property -> Option A
  4. Quick Check:

    Scrolling texture = RawImage + uvRect [OK]
Hint: Scroll textures by changing RawImage.uvRect [OK]
Common Mistakes:
  • Trying to modify sprite UVs in Image component
  • Using color changes to scroll texture
  • Confusing Image and RawImage for UV control