Skip to main content 홈 크리에이터 kevinpbuckley vibeue landscape-auto-material
landscape-auto-material Create production-quality landscape materials with the master-material + material-function + material-instance paradigm, RVT, and auto-layering. Use when the user asks for an auto/procedural landscape material, slope/altitude/distance-based layer blending, Runtime Virtual Textures, biome configuration via instances, or layer material functions. For basic layer-blend materials load landscape-materials.
설치로 이동 Skills Marketplace 커뮤니티가 만든 AI 스킬을 발견하고 탐색하세요.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/kevinpbuckley/VibeUE --skill landscape-auto-material명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
Zip 다운로드 다운로드 중... Create and modify Blueprint assets, variables, functions, components, event dispatchers, and interfaces. Use when the user asks to create a Blueprint/BP, add a variable or component to a Blueprint, make an event dispatcher/delegate, implement a Blueprint interface, or inspect a Blueprint's class/components. For node-level graph wiring, also load blueprint-graphs.
Create, inspect, and edit Behavior Tree and Blackboard assets — composites, tasks, decorators, services, node properties, blackboard key bindings, key CRUD and metadata, tree round-trips and validation (BehaviorTreeService + BlackboardService). Use when the user asks to build a Behavior Tree, add BT nodes or decorators, bind blackboard keys, author a blackboard, or validate/repair a BT asset.
architecture-details.md 3.8 KB biomes-and-templates.md 4.4 KB material-functions.md 2.0 KB parameter-reference.md 4.4 KB reference-example.md 2.1 KB name landscape-auto-material display_name Landscape Auto-Material System description Create production-quality landscape materials with the master-material + material-function + material-instance paradigm, RVT, and auto-layering. Use when the user asks for an auto/procedural landscape material, slope/altitude/distance-based layer blending, Runtime Virtual Textures, biome configuration via instances, or layer material functions. For basic layer-blend materials load landscape-materials. vibeue_classes ["MaterialService","MaterialNodeService","LandscapeMaterialService","RuntimeVirtualTextureService"] unreal_classes ["MaterialExpressionMaterialFunctionCall","MaterialExpressionRuntimeVirtualTextureOutput","MaterialExpressionRuntimeVirtualTextureSample","RuntimeVirtualTexture","RuntimeVirtualTextureVolume","MaterialFunction","MaterialInstanceConstant","LandscapeLayerInfoObject","MaterialExpressionFunctionInput","MaterialExpressionFunctionOutput"] keywords ["auto material","auto layer","master material","material function","material instance","runtime virtual texture","RVT","altitude blend","slope blend","distance blend","biome","landscape material","layer function","production landscape workflow","parametric material","function input","function output","bulk parameters"]
Landscape Auto-Material System Skill
When to Use This Skill
Use this skill when you need production-quality landscape materials with:
A master material → material instance workflow (artists change parameters, not graphs)
Automatic layer blending by slope, altitude, or distance
Material functions for reusable logic (layer sampling, color correction, etc.)
Runtime Virtual Textures for scalable landscape rendering
Biome configuration through material instances (swap textures/thresholds, same master)
For simple prototyping with 2-5 painted layers, load the landscape-materials skill instead (the engine's AgentSkillToolset GetSkills exposes it).
Architecture Overview
The Master Material Paradigm
Master Material (M_Landscape_Master)
├── Material Functions (reusable logic blocks)
│ ├── MF_AutoLayer ── auto-selects layers by altitude/slope
│ ├── MF_Slope_Blend ── slope mask (0=flat, 1=steep)
│ ├── MF_Altitude_Blend ── height mask (0=below, 1=above)
│ ├── MF_Layer_Grass ── per-layer texture sampling
│ ├── MF_Layer_Rock ── per-layer texture sampling
│ ├── MF_RVT ── Runtime Virtual Texture output
│ └── MF_Distance_Blend ── LOD transitions
├── Exposed Parameters (50+ scalar/vector/texture/switch)
└── Material Outputs (BaseColor, Normal, Roughness, WPO, RVT)
Material Instance (MI_Landscape_Biome_01)
├── Inherits master material graph
├── Overrides parameters only (no graph editing)
└── Different biomes = different instances of same master
Why this is better than manual graph building:
Reusability : Material functions used across multiple masters
Artist-friendly : Biome artists edit parameters in instances, never touch the graph
Performance : Compiled once in master, instances are cheap
Maintainability : Fix a function → all materials using it update
Critical Rules
🚨 Inspect Before Modifying Existing Materials or Functions
Before modifying an existing master material or material function, MUST export and review its current state:
import unreal, json
graph = json.loads(unreal.MaterialNodeService.export_material_graph("/Game/Materials/M_Landscape_Master" ))
print ( )
expr graph[ ]:
name = expr.get( ) expr.get( ) expr.get( )
( )
func_info = unreal.MaterialNodeService.get_function_info( )
func_graph = json.loads(unreal.MaterialNodeService.export_function_graph( ))
f"Expressions: {len (graph['expressions' ])} , Connections: {len (graph['connections' ])} "
for
in
'expressions'
'parameter_name'
or
'function_path'
or
'class'
print
f" [{expr['id' ]} ] {expr['class' ]} - {name} "
"/Game/Functions/MF_AutoLayer"
"/Game/Functions/MF_AutoLayer"
Why: Auto-material master graphs can have 50+ expressions and complex function call chains. Adding nodes without reviewing first creates duplicates, broken connections, and compilation failures. Always export → review → plan → modify.
Four Services Work Together Service Role MaterialNodeService Material function creation/introspection, expression graphs MaterialService Material/instance creation, properties, bulk parameters LandscapeMaterialService CreateAutoMaterial, FindLandscapeTextures, layer infosRuntimeVirtualTextureService RVT assets, volumes, landscape assignment
⚠️ compile_material Is Slow — Use Separate Code Blocks Master materials with many function calls are very slow to compile. NEVER create + compile in the same block.
Block 1 : Create material, add functions, connect graph, save
Block 2 : compile_material() alone (may take minutes)
Block 3 : Create instances, set parameters, assign to landscape
⚠️ Enable Virtual Texturing on Material If using RVT, you MUST set bUsedWithVirtualTexturing = true on the master material:
unreal.MaterialService.set_property(mat_path, "bUsedWithVirtualTexturing" , "true" )
⚠️ Material Functions Must Be Saved Before Use After creating a material function and adding inputs/outputs, save it before calling it from a material:
unreal.EditorAssetLibrary.save_asset(func_path)
⚠️ Function Inputs/Outputs Need Sort Priority Set SortPriority to control pin ordering. Lower values appear first:
unreal.MaterialNodeService.add_function_input(func_path, "BaseColor" , "Vector3" , 0 )
unreal.MaterialNodeService.add_function_input(func_path, "Normal" , "Vector3" , 1 )
unreal.MaterialNodeService.add_function_input(func_path, "Roughness" , "Scalar" , 2 )
Sub-docs available Read these sibling files directly (the engine AgentSkillToolset GetSkills is the loader; this SKILL.md is the index, the deeper docs live alongside it):
Sub-doc What's inside reference-example.mdConcrete reference architecture: full master material function chain, biome instances, texture naming convention workflows.mdStep-by-step recipes: auto-material creation, biome instances, building/inspecting material functions, RVT setup material-functions.mdPatterns for common material functions (Slope_Blend, Altitude_Blend, Layer_*, RVT) + EFunctionInputType reference table architecture-details.mdDeep dive on the auto-layer function chain, mask combination math, slope/altitude function creation, extension points biomes-and-templates.mdBiome comparison table, static-switch feature toggles, naming conventions, standard layer function template (inputs/outputs/catalog) parameter-reference.mdFull parameter catalog: layer textures, auto-blend, distance/LOD, color correction, feature toggles, displacement, RVT, FindLandscapeTextures suffix matching rvt-setup.mdRVT material types, sizing guidelines, inspection code, common RVT issues with causes/fixes
Common Mistakes
1. Forgetting bUsedWithVirtualTexturing Material has RVT output node but rendering fails → set the property before compiling.
2. No RVT Volume Actor Material outputs to RVT but nothing reads it → create RuntimeVirtualTextureVolume covering the landscape.
3. RVT MaterialType Mismatch Volume expects BaseColor_Normal_Roughness but material only outputs BaseColor → types must match.
4. Not Saving Functions Before Referencing Create function → immediately create function call → fails because function not saved. Always save_asset() the function first.
5. Missing bExposeToLibrary Material function created but doesn't appear in the material editor's function library → set bExposeToLibrary=True.
6. Compiling in Same Block as Creation Master materials with many function calls take minutes to compile. Putting create + compile in one code block causes timeout.
7. Wrong Bulk Parameter Types set_instance_parameters_bulk requires exact type strings: "Scalar", "Vector", "Texture", "StaticSwitch". Typos silently skip parameters.
8. Static Switch Parameters Need UpdateStaticPermutation Static switches are compile-time. After setting via bulk set, the instance needs a static permutation update (handled internally by set_instance_parameters_bulk).
9. Auto Layer Has Zero Weights Landscape looks unpainted or auto-blend never appears when all layer weights are 0. Verify with get_weights_in_region and fill/paint the base auto layer at least once.
10. Layer Info/Material Family Mismatch If a landscape is switched to a different master/instance family, existing Layer Info assets may not match expected layer names/workflow. Recreate layer infos from the active material's layer list and reassign them.
11. RVT Volume Missing or Mis-sized RVT asset assignment alone is not enough. Ensure each landscape has an RVT volume covering its bounds; recreate volume per landscape after major transform/scale changes.
Related Skills Task Skills to Load Sculpt terrain only landscapeSimple painted material (2-5 layers) landscape + landscape-materialsAuto-blending material (production) landscape + landscape-auto-materialMaterial instances/biome configuration landscape-auto-materialMaterial functions (non-landscape) materialsFull pipeline (terrain + auto-material + RVT) landscape + landscape-auto-material