This workflow provides the most optimized way to convert a procedural generator into a final seamless Texture2D asset.
It eliminates runtime cost entirely while preserving the visual appearance of your generator.
You will:
- Bake the generator output into a texture
- Apply Seamless Wrap to make it tileable
- Perform a final bake to produce a clean, seamless Texture2D ready for use anywhere
Step 1: Create & Configure Your Generator Material
Create a material that displays the output of your procedural generator.

You can:
- configure all visual parameters directly in the material, or
- create a Material Instance and adjust the generator settings there.
The material must output your generator’s RGB result to Base Color.
Step 2: Open Texture Baker (Generator Mode)
Location in the project:/SeamlessWrap/Widgets/TextureBaker/SeamlessGenerator/EUWBP_TextureBaker_Seamless_Generator
in the old version:/SeamlessWrap/TextureBaker/SeamlessGenerator/EW_TextureBaker_Seamless_Generator

Inside the Editor Utility Widget:
- Open the Graph tab
- In Class Defaults, find:
- Source Material
- Preview Material
Set Source Material to the material (or material instance) containing your configured generator.
If you are using the demo generator Amoeba Color Noise, the Preview Material is already set correctly and you may skip the next step.
Step 3: Create a Preview Material for the Baker
If your generator is custom or modified:
- Create a new material
- Set Material Domain = User Interface
- Plug your generator function output into Final Color

You do not need to recreate the generator’s visual configuration —
Texture Baker automatically copies all scalar, vector and texture parameters from the Source Material.
⚠️ Important:
Static bool parameters cannot be propagated dynamically.
If your generator uses static switches, set them manually in the Preview Material.
Assign this Preview Material to the Preview Material slot in the Baker.
Step 4: Bake the Generator Output
If everything is configured correctly, the Baker Preview window will show your generated texture.
- Choose output settings (resolution, texture format, folder, file name)
- Press Bake

The texture will appear in the specified folder.
You can now use this baked texture like any regular Texture2D.
Note about UE Bug: Missing Preview for BC7 Textures
If the texture is saved in Default BC7 (RGBA) and appears blank in the Texture Editor —
this is a known Unreal Engine bug.
- It happens only for textures created with Render Targets (no source file)
- It does not affect the texture’s functionality or quality
Your texture works correctly in materials.
Step 5: Make the Texture Seamless
Create a new material and apply Seamless Wrap:
Option A (manual):

- Add Seamless Texture Wrap function
- Plug your baked texture into the Texture input
- Adjust seam masking parameters
Option B (recommended shortcut):

- Create a Material Instance of:
/SeamlessWrap/Materials/Master/MM_SeamlessWrap_Demo - Set your baked texture into Main Texture → Texture
- Disable normal map visualization (if unused):
→ Set Normal Flatness = 1 in the Normal section
This gives you a fully seamless result ready for the final bake.
Step 6: Open Texture Baker (Seamless Wrap Mode)
Location in the project:/SeamlessWrap/Widgets/TextureBaker/SeamlessTexture/EUWBP_TextureBaker_Seamless
in the old version:/SeamlessWrap/TextureBaker/SeamlessTexture/EW_TextureBaker_Seamless

- Open the Editor Utility Widget
- Open the Graph tab
- In Class Defaults, set Source Material to your newly created seamless material
Do not change the Preview Material — it is already configured for Seamless Wrap workflows.
Step 7: Final Bake

- Adjust resolution and output settings
- Press Bake
You now have a final, optimized, seamless Texture2D asset.
It is lightweight, fast to sample, and ready for use in any material.
Step 8: Use the Final Texture in Your Materials
Create any material you want and plug your final seamless texture into Base Color (or any other channel).
You may also optionally try:
- Seamless Wrap with RGB Input
(if your generator is simple enough and can be run at runtime)
However, the Bake → Seamless → Final Bake workflow remains the most performant and production-ready option.