Artstation Mastodon Twitter Youtube

Necdet Yavaş

Errors

ErrorSolution
Relocate Unreal Engine without deletingMove the engine to the new location and edit the path in "%ProgramData%/Epic/UnrealEngineLauncher/LauncherInstalled.dat"
Unknown structure on cookRefresh all nodes of BPs and recompile - or - Make a small change to struct and recompile BPs
Infinite loop at construction scriptChange "Editorstartupmap" in the "DefaultEngine.ini" to a different map which doesn't contain the looping or crashing BP
Your scene contains a skydome mesh with a sky material but it does not cover that part of the screenTry plugging something/animating(wind) to world position offset
Editor resets screen percentage to 66 every launchOpen project settings, go to editor performance and set "Default screen percentage mode for realtime editor viewports." to "Manual or Based on operating system's DPI scale"
Degenerate Tangent BasesImport Normals and Tangents
Compiling shaders everytimeCheck material flags (used with static lighting etc.) also deleting derived data cache may help
Animation won't update on reloadOpen your character and select the skeletal mesh. Go to optimization section in the details panel. Set "Visibility Based Anim Tick" to "Always Tick Pose and Refresh Bones"
Foliage too thin with MSAAMultiply opacity mask
Render thread crash on exitUse "Set Enable World Rendering" node first and untick "Enable". Use "Quit Game" node after that
More overridden materials on static mesh component than are referenced in source meshIf you import a mesh object with 6 material ID’s then it’s set as to having 6 materials assigned to it. If you edit the object and lower the number of materials and ID’s to 4 and “re-import” the object your original object is still looking for 6 materials but only 4 are now referenced by the object. To clear the error delete the original instance and import the edited version and and it will now only reference the 4 assigned materials.
Slow shader compilationChange "ShaderCompilerCoreCountThreshold" and "PercentageUnusedShaderCompilingThreads" in BaseEngine.ini (ini file includes explanations for what they do)
Launch VR-vr
Launch desktop-nohmd
Exec pin invisible name
  • "execute" for input pin
  • "then" for output pin
Delay node in macrosDelay node is available in Macro libraries derived from Actor
Nearly zero tangents / nearly zero bi-normalsUV problem
Unreal can't find file after movingDelete saved folder
Send2Unreal Blender addon error "Could not find an open instance of unreal"Enable the python script utilities plugin and enable "Enable Remote excecution" in projects settings
Can't disable Hololens at supported platforms
Hololens enables back at supported platforms
Delete "Hololens" folder from "Platforms" folder in project files
Customizing the editor’s toolbar buttons menu via custom pluginEnable "Display UI extension points" in editor preferences

Optimization

CommandDescription
stat unit
  • Game: C++/Blueprints - CPU bound
  • Draw: CPU render
  • GPU: GPU render
stat gpuGPU
stat rhiCPU render tasks - Draw calls
stat gameCPU logic tasks - Ticks
stat startfile
stat stopfile
For CPU profiling - Records performance metrics
Inspect using frontend
stat streamingTextures
Ctrl + Shift + ,GPU Profiler

Drawcalls are much more expensive than triangles

Smaller opacity masks are better for performance

Early Z-pass - Opaque and masked meshes - To reduce overdraw

Meshes: Triangle/Poly Count

Complex shaders/materials cost more when they are closer to the camera (when they take up more screen space)

Tools - Audit - Statistics

r.Tonemapper.GrainQuantization 0 = Minor performance gain

Disable separate translucency if you don't need it

Mask material only in early Z pass - Enabled-to reduce overdraw on masked objects

Enable CSM caching

Check Quad Overdraw and Shader Complexity

Materials

Use Pixel Normal Offset instead of Index of Refraction for large surfaces

Optimization Tips

Keep shader count low

If node calculates both sides

Some nodes are slower than others

Material Blend Modes

https://docs.unrealengine.com/5.0/en-US/material-blend-modes-in-unreal-engine/
Blend ModeFormulaDescription
OpaqueFinal color = Source colorCompatible with lighting. Material will draw on top of the background.
MaskedFinal color = Source color if OpacityMask > OpacityMaskClipValueCompatible with lighting.
TranslucentFinal color = Source color * Opacity + Dest color * (1 - Opacity)Not compatible with dynamic lighting.
AdditiveFinal color = Source color + Dest colorNot compatible with dynamic lighting.
ModulateFinal color = Source color x Dest colorNot compatible with dynamic lighting, or fog, unless this is a decal material.
Alpha CompositeFinal Color = Source Color + Dest Color * (1 - Source Opacity)
Alpha HoldoutFinal Color = Dest Color * (1 - Source Opacity)Not compatible with dynamic lighting.

Shading Models

https://docs.unrealengine.com/5.0/en-US/shading-models-in-unreal-engine/
Shading ModelDescription
UnlitEmissive Color
LitDefault
SubsurfaceSimulates subsurface scattering
Preintegrated SkinCheaper subsurface with less accuracy
Clear CoatSimulates multilayer materials
Subsurface ProfileHigh-end skin rendering
Two Sided FoliageSubsurface scattering for foliage
HairSimulates multiple specular highlights
ClothIncludes a thin "fuzz" layer across the surface
EyeSimulates the surface of an eye
Single Layer WaterEnables to achieve the effect of a transparent water surface while using an Opaque Blend Mode
Thin TranslucentSupports physically based translucent Material types
From Material ExpressionEnables combining multiple shading models into a single material

Packaging

Max chunk size is in bytes - 1 MB is 1000000 byte

Post process

MethodName
FXAAFast Approximate Anti-Aliasing
TAATemporal Anti-Aliasing
MSAAMultisample Anti-Aliasing
TSRTemporal Super Resolution

Nav Mesh at Runtime

Project Settings - Engine Navigation Mesh - Runtime - Runtime Generation: Dynamic

Save

In development platforms, saved game files use the .sav extension and appear in the project's Saved\SaveGames folder

Packaged game in shipping configuration saves to C:\Users\username\AppData\Local\GameName

Editor theme location - Engine\Content\Slate\Themes

Streaming Pool Fix

Check texture sizes - Should be power of 2 - Doesn't have to be square (512x1024, 4096x1024)

Check mip gen settings in texture settings

Uncheck never stream in texture settings

Optional (editor related) - Uncheck defer compression in texture settings

Projectile

Make mesh root

GPU Lightmass

Use stationary lighting so you can get dynamic shadows too

Check use area shadows for stationary lights at Directional Light settings

Unlit materials won't bake any shadows

World position offset not supported

Third Person to First Person

Duplicate third person character

Delete camera boom

Attach follow camera to mesh

Parent camera to head bone

Adjust the position and rotation

Set use pawn control rotation to true on camera

Set use controller rotation yaw to true on thirdpersoncharacter

Dynamic Lighting - Deferred

Directional Light - Movable - Atmosphere Sun Light: True

Place Sky Atmosphere

Exponential Height Fog - Start Distance: Max

SkyLight - Movable - Real Tme Capture:True

Post Process Volume - Unbound

Volumetric Cloud

Project Settings - Support Sky Atmosphere Affecting Height Fog: True