Table of Contents

Reading

Unreal 5 Basic Workflow

Core Concept

Basic Operation

Edit Window

Content Browser/Drawer to add Quixel Bridge Content

Common Task in Unreal

set default level in unreal, so when built, it load the default one

  1. Edit > Project Setting > pop up panel - Maps Mode tab > Default Maps section > set Editor+Game default map

build unreal project into game

  1. Edit > Project setting > Description tab > Displayed section
  2. put displayed title as your game name
  3. set default map as mentioned above
  4. File(4.x) / Platform drop-down in toolbar > Package project - choose target platform to make
  5. choose the output folder and it will run the process

Add UI widget to game viewport

  1. unreal engine has a UI framework called UMG (Unreal motion graphics), contains pre-built button, sliders, etc
  2. to use those, you need to create a widget blueprint (a definition structure of the UI object)
    • right click menu on content browser, > User Interface > Widget Blueprint, choose User Widget as base
  3. in left panel, drag Canvas Panel into the designer area
  4. then you can put layout element like Vertical Box into canvas
  5. then put those UI elements into that Vertical Box
  6. once done, in tool option bar - hierachy shape icon > open Level Blueprint
    1. right click in graph and Create Widget node, in class option, choose your UI widget class name
    2. right click on return value and Promote to Variable, give a variable name for it
    3. drag set blue dot to create new node Add to Viewport
    4. link on start to create widget node, done
  7. now game starts, it will create the widget

Make mouse can be visible to interact with UI

  1. once you done above, when you start game, you mouse it is interactive with viewport navigation and you can't interact with UI
  2. in the UI widget blueprint graph, you need to setup to let mouse is free with interact with UI
    1. in Event Contruct node of widget blueprint, link to set Show Mouse Cursor (true),
    2. create Get Player Controller to link to target input of set Show Mouse Cursor
    3. after that, your mouse is visible in both viewport and UI, and can interact both
    4. (extra optional) if you want the mouse only interact with UI
      1. after set Show Mouse Cursor (true) node, create node Set Input Mode UI only node, plug Get Player Controller to Player control input, and Self node to In Widget to Focus, that way, you now can only interact with UI
      2. you may also use one of UI button to start game interaction with Set Input Mode Game Only node.

Add a C++ function code to the project

  1. in Content Browser, navi to C++ classes > project name, right click to Add C++ class
  2. choose Common classes > Blueprint Function Library,
  3. give a name BlueprintFunctionLibraryX, create
  4. do your code, in VS top bar, develop editor, and local debug build, (if fail, close unreal and re-run local debug, it will launch unreal automatically)
  5. Ctrl+Alt+F11 to live reload changes from your code to unreal
  6. (extra note) if you start project as blueprint project, you can use Tool menu > add C++ Class to add C++ code into your project
    1. then it will pop Visual Studio, and you need to close unreal, and start unreal like above with visual studio
    2. also the C++ class folder will show up in content browser

ref: Getting into C++ with Unreal Engine

Unreal Engine 5 Problem and Solution

Unreal Asset - from Blender to Unreal

Unreal Animation - Camera and Level Sequencer

  1. create CineCameraActor, (for render and level sequencer use)
    1. set filmback, lens focal length
  2. clip icon > create level sequence (now you have a timeline) AS_main_animation
  3. add main_cine_cam actor from outliner into timeline
  4. animate the camera
  5. for render, plugin > enable Movie Render Queue
    1. add AA setting
    2. add png output, switch off jpg out
    3. set render config, and save preset
  6. Local render

ref: https://www.youtube.com/watch?v=GHFq4Dj7sVs

MRQ Problem and Solution

Movie Render Queue in Detail

Unreal Engine 5 to Unity Conversion (FBX method)

  1. Unreal Engine:
    1. select model asset that need to be exported IN outliner (so not supported item like volume can be skipped and clean export)
    2. File > Export Selected (LOD: uncheck will use highest res, collision: check if you need those collider proxy geo)
    3. Bake asset materials
      1. select a asset in scene, double click its material in detail panel > Material to check its channel color info links
      2. in detail panel > Material > Advanced, click Bake button, based on the connection link to add required material property in baking list (like Diffuse, Metallic, Roughness, Normal), also set the texture size
      3. once baked, refresh Content Browser, baked virtual texture files will be shown as T_M_objectName_id
      4. select those textures in asset browser, right click menu > Asset ACtion > Export and use TGA image format
      5. (note: baking texture will solve issue of mult-channel-one-file type of texture file, as some texture store metallic+specular+roughness in 1 file, baking will seperate them into individual file) ref: https://gamefromscratch.com/exporting-from-unreal-engine-tutorial/
  2. Blender to combine FBX model and TGA texture
    1. in blender preference > addon > check Node Wrangler
    2. import FBX model, go shading tab, select the asset to setup texture relinking
    3. select Principle BSDF node, press Ctrl+Shift+T to open file browser to load those TGA texture files, once loaded, texture will be linked automatically to color channels
    4. repeat for all other asset, (good thing is instance asset will be setup automatically if same material)
  3. Result comparision of Unreal and Blender
  4. Once done setup in Blender, export whole scene as FBX, drag FBX + tex folder (the texture folder) into Unity asset browser
  5. Result comparision of Unreal and Unity HDRP

Python Script in UE 4.25

Get Python working in UE

Get PySide working in UE

UE Problem and Solution

UE 4.25 on windows 7 pop up error issue

UDK Quick Use Guide (outdated)

UDK game style Maya view style Maya selected style
walk LMB ?
rotate view RMB U+LMB
pan view LMB+RMB U+MMB
zoom view LMB U+RMB
view select home

UDK creation

rebuilt required for every BSD brush change

UDK pipe

UDK import: