Content/Skills/engine-settings/SKILL.md
Configure Unreal Engine core settings including rendering, physics, audio, garbage collection, console variables (cvars), and scalability levels
npx skillsauth add kevinpbuckley/vibeue engine-settingsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
get_console_variable / set_console_variableget_setting / set_setting with category# CVars (names like r.ReflectionMethod)
value = unreal.EngineSettingsService.get_console_variable("r.ReflectionMethod")
unreal.EngineSettingsService.set_console_variable("r.ReflectionMethod", "1")
# Settings (category-based)
value = unreal.EngineSettingsService.get_setting("rendering", "bEnableRayTracing")
info = unreal.ConsoleVariableInfo()
if unreal.EngineSettingsService.get_console_variable_info("r.MaxQualityMode", info):
if not info.is_read_only:
unreal.EngineSettingsService.set_console_variable(info.name, "1")
Check requires_restart in FEngineSettingInfo before expecting immediate changes.
| Category | Description |
|----------|-------------|
| rendering | Graphics, shaders, ray tracing |
| physics | Physics simulation, collision |
| audio | Sound, spatialization |
| gc | Garbage collection, memory |
| network | Networking, replication |
| collision | Collision channels and profiles |
| ai | AI module, navigation |
| input | Input bindings |
import unreal
categories = unreal.EngineSettingsService.list_categories()
for cat in categories:
print(f"{cat.category_id}: {cat.display_name}")
settings = unreal.EngineSettingsService.list_settings("rendering")
for s in settings:
print(f"{s.key} = {s.value}")
import unreal
import json
rt_settings = {
"r.RayTracing": "1",
"r.RayTracing.Shadows": "1",
"r.RayTracing.Reflections": "1",
"r.ReflectionMethod": "1"
}
result = unreal.EngineSettingsService.set_console_variables_from_json(json.dumps(rt_settings))
unreal.EngineSettingsService.save_all_engine_config()
import unreal
import json
# Set overall scalability to Low (0)
unreal.EngineSettingsService.set_overall_scalability_level(0)
# Disable expensive features
perf_settings = {
"r.RayTracing": "0",
"r.VolumetricFog": "0",
"r.MotionBlurQuality": "0",
"r.Shadow.MaxResolution": "512"
}
unreal.EngineSettingsService.set_console_variables_from_json(json.dumps(perf_settings))
import unreal
shadows = unreal.EngineSettingsService.search_console_variables("shadow", 100)
for cvar in shadows:
print(f"{cvar.name}: {cvar.value} ({cvar.type})")
import unreal
result = unreal.EngineSettingsService.set_engine_ini_value(
"/Script/EngineSettings.GameMapsSettings",
"GameDefaultMap",
"/Game/Maps/Lvl_Main.Lvl_Main",
"DefaultEngine.ini"
)
Python Naming Convention: C++ types like
FEngineSettingInfoare exposed asEngineSettingInfoin Python (noFprefix).
key, display_name, descriptiontype, value, default_valuerequires_restart, read_only, is_console_variablename, value, default_value, description
type, flags, is_read_only
Rendering optimization: Adjust r.* cvars, ray tracing, shadows
Physics tuning: Configure collision profiles, physics simulation
Audio configuration: Sample rates, channels, spatialization
Performance profiling: GC settings, streaming, scalability
Platform settings: Windows graphics API, shader formats
Quality presets: Apply overall or per-group scalability levels
tools
Create and manage Niagara particle systems - system lifecycle, adding/copying emitters, user parameters, system script settings, scratch-pad authoring
development
Configure Niagara emitter internals - modules, renderers, rapid iteration parameters, graph positioning, and scratch-pad authoring (Custom HLSL + node graph)
tools
Create and modify Blueprint assets, variables, functions, and components
tools
Search, find, open, move, duplicate, save, delete, import, and export assets