Intro and Philosophy

History

  • visual based complete toolset
  • level centric
  • started from level editor
  • other tools added-on level editor, and then it called as engine

UE1 (1997/1999)

  • Called as UnrealEd1, UnrealEd2
  • BSP Brush focused
  • Engine struct was formulated
    • Actors, Viewport, Camera controls, toolbar…
    • Lighting rendered in viewport
  • Event/Tag scripted
  • Subtractive world (Skybox)

UE2 (2002)

  • Meshes added
    • BSP-Mesh hybrid workflow
  • Event/Tag scripted
  • Subtractive world (Skybox)
  • used Ctrl+S to subtract (prevent spam)

UE3 (2006)

  • Visual scripting (Kismet) added
  • sub-editors added
    • Matinee, Cascade, Material editor, etc
  • Additive world (no Skybox)
  • UE4’s structure was almost completed

UE4 (2014)

  • Blueprint added
  • UI revamp
  • 2nd generation sub-editors and tools
    • Matinee and Cascade are replaced
    • Sequencer, Sound cue editor, etc
    • Unified interface with blueprint

UE5 (2022)

  • Reinforced sub-editors and open world support
    • Chaos, AFPA, World Partition, etc

Schematic-Schematic

All required tools and sub-editors are part of the editor and engine.

  • for same team, same style, same logic
  • to work together seamlessly

WYSIWYG

  • fully visual
  • not text based scripting/programming
    • not only for programmers
    • speed up world production
      • posititate experimentation, qualty, diversity

Schematic Overview

image
Full size (4MB)

Placable Actors excluding 3D

  • Audio Actors
  • Emitter Actors
    • Cascade particle or Niagara particle
  • Reflection Captures
    • Sphere, Box, Planar
  • Light Actors
    • Point, Rectangular, Spot, Directional, Sky
    • Static, Stationary, Dynamic(Movable)
  • Volumes
    • Represent Area of something or somewhat, somehow
    • Geometry Editing available
  • BP Actors
    • Used for both Gameplay and Workflow (not only for programmers)
  • Gameplay/Other
    • Trigger, Maker, Spawn(e.g. player start), Decal, etc

Placable 3D Actors

  • Static Meshes
    • without some exceptions(e.g. vertex shader), theres no change like bone animation
    • HLOD : composit meshes into one, so that reduce drawcall
    • Instanced Static Meshes : Batching meshes to render
    • Splines : revole/deform static mesh
  • Skeletal Meshes
    • Meshes with bone
  • Geometry
    • Geometry Editing available
    • Binary Space Partition (BSP)
    • almost deprecated
  • Procedural Mesh
    • available with plugin
    • generated at runtime
  • Foliage
    • Foliage Tool
      • automatically batched
    • Grass
      • automatically generated by landscape material layer
      • uses landscape’s lighting (good for performance)
    • Procedural Foliage
      • experimental
      • automatically generated in foliage volume
      • foliage type (imitate real nature)
  • Geometry Collections
    • Chaos Destructibles
  • Landscapes
    • Layer, Components, Gizmos, Visibility, Painting, Sculpting, etc
    • Landscape Splines
    • Landmass Plugin
      • Landscape Brushes
  • Skies
    • Static mesh and Material
    • new : Physical based Sky Atmosphere

3D Tools

  • Import
  • Modeling Tools
    • Sculpting Tools
  • UV Tools
  • Mesh Simplification
    • can be used for generating LOD

Controls the Level

  • World Properties
  • Level Blueprint
    • Timeline
    • good for simple animations(changes)
  • Variants Manager
    • can assign any property
    • ce on console to test
  • Sequencer
    • used for movie or cutscene
    • can handle almost kind of values
    • Sequence Template

Rebuilding

  • Lighting
    • Lightmass Importance Volume
      • Lightmaps
      • Volumetric Lightmaps
    • Precomputed Visibility
  • HLOD
  • Reflection Captures
  • Navmesh
    • Navmsh Agent
    • “Build Paths”
    • Runtime Navmesh (not pre-built)

Sub-Level

For

  • great for co-work
  • Devide by location
  • Devide by actor type
  • Light Scenarios
    • set different lights in individual sublevels

How to load

  • Blueprint (LoadStreamLevel)
    • also code
  • Volumes
  • Always Loaded
  • World Composition
    • load automatically by instigator’s distance (x and y, but not z)
    • good for open world

Performance

  • Stats
    • since UE2
    • type stat [command] in console
    • e.g. scenerendering, none, game, physics, FPS, unit
  • GPU Profiler
    • Ctrl + Shift + , or Profile GPU to open
  • Statistics Panel
    • good for performance optimizing
  • View Modes
    • can check complexity
  • Cull/Max Draw Distance
  • Scalability
  • World Detail
    • since UE1 or UE2
    • can tag visual effects with rate

Advice

  • Multi user editing is available with editor server

    • without source controls
  • Level organization

    • Important actor standards
      • Editor Billdboard Scale
    • Outliner
      • since UE4 (not familiar with old devs)
    • Groups
      • Ctrl Shift G
      • doesn’t affect on rendering and outliner (not batch)
    • Layers
      • actually not layer
      • one actor can be contained in multiple layers
      • useful for selecting
    • Selection tools
      • right clikc on actor for a lot of options
      • Ctrl + B open mesh in content browser
        • asset action
      • can select in Statistics Panel too
  • Level cleanliness

    • Rotation and scale
    • Grid and snapping
      • can customize snap unit
      • Brackets(snap unit in/decrease) are good shortcut for preventing movement mistake
    • Shadows/Collision
  • Landscapes

    • LOD and Collision
    • Component setting
    • Material complexity change and Shared Sampler
    • Distance Fading scale/textures
    • Hard blends
  • Foliage

    • Foliage Assets
    • Range and Shadow
      • removing shadow is recommended
      • reducing rendering range is recommended
    • Lower position material trick
      • cognitive trick
    • Slope material trick
  • Painting Tools

    • it’s material tricks
  • Questions

    • is light mass volume needed in raytrace?
      • not need in fully dynamic lights
      • but raytrace is not every-solution
    • co-working on sublevel
      • sublevel can share same transform