Blog
Technical thoughts, troubleshooting, and development notes
AI digital human interaction
An Unreal Engine digital human integrating speech recognition, AI conversation, voice, lip sync and body sensing across local and cloud services.
Flight simulation
An Unreal Engine and AirSim flight simulation project covering input, flight control, camera behavior and engine adaptation.
Motion capture and robot control
A UE project combining body motion capture, robot retargeting, live data transport and three-axis IK, with some features still in prototype development.
Motion platform and virtual filming
Software motion solving and signal processing for a six-axis platform, with ocean parameter animation and editor recording.
A Toolchain from Plugin Development to Release
Turning scattered development operations into dedicated tools for plugin management and multi-version packaging.
Publishing Markdown Images Together with the Article
Reducing manual work when moving articles by converting local image paths into publishable text that can be copied.
Managing Perforce branch workspaces and local caches
Organize branch switching with a workspace pool, separate server synchronization from offline directory adoption, and define cache protection and cleanup boundaries.
Driving Session Recording and UE Replay Management
Capture driving inputs and vehicle states, save performance statistics, and manage UE Network Replay recordings.
Creating Independent Multiwindow Interfaces in UE
Host UMG in native Slate windows with lifecycle, position, size, visibility, and DPI controls.
Robot Realtime Data and Three-Axis IK Prototype
An in-development UDP JSON and three-joint position-IK prototype, awaiting testing with the actual mechanism and real data.
Source-built Unreal on Windows: a shared engine association
On Windows, copies of the same source-built engine can receive different registration identifiers. That creates unnecessary `EngineAssociation` change
Unreal Blueprint parameters: references and display names
A C++ reference parameter may appear as a different Blueprint pin direction than expected. Type, `const` and metadata all matter. These UE5 reflected
Cursor with Unreal 5.6 on Windows: establish the build first
These notes describe Windows and UE 5.6. The original record did not preserve complete Cursor or extension versions, so it is not a compatibility prom
Fab submission notes: review the package and instructions together
A feature working in the development project does not prove that a delivery package can be installed and reproduced. These notes distill past Unreal p
Unreal DataTable and JSON: validate before replacing
JSON files can become DataTable rows, but clearing the table before parsing can destroy old data on a later failure. This workflow targets a UE5 C++ e
Saving Unreal editor assets: checkout, dirty state and results
An automation tool may change an asset without updating its file. Possible causes include a clean package, an incorrect target path or source-control
Breaking Level Instances in batches: bound the work and stop on failure
Breaking a Level Instance may expose nested instances. A loop that continues whenever it finds an instance can repeat forever when one cannot be broke
Exploring syntax parsing for game formulas in UE
Exploring a UE C++ parser for game-event formulas, from arithmetic, conditions, and custom attributes to string validation, tokenization, attribute substitution, and evaluation by precedence.
Everyday C++ choices: containers, sorting and value categories
Choose containers and sorting by access patterns and ordering requirements rather than old compiler implementation details. This article uses C++17 se
Updating Excel by column names in Python: tuple keys and separate output
A reference workbook supplies values to update a target using several matching columns. Joining keys with underscores makes `("A_B", "C")` collide wit
Comparing directories in Python: start with a content-difference report
When only some files changed between two large directories, you need additions, modifications and removals. The original workflow also copied files an
Switching Perforce stream workspaces: preflight and failure boundaries
A button that changes Client Stream, syncs and cleans can place local changes under the wrong view. This article describes a generic Python protection
Fixing Missing GI Across Multiple Views in UE 5.3
A UE 5.3 source-build record of changing the maximum view count from 2 to 3 across seven locations, with a source screenshot and version limits.
Fixing UMG Size That Does Not Change During Rendering
When rendering UMG, you may encounter a frustrating issue: its rendered size does not change with the output resolution you set.
Blueprint generic struct serialization: memory layout versus persistence
Reflected struct arguments, JSON parsing and safe persistence boundaries.
Managing Configuration File Exclusion During Packaging
Staging inclusion and exclusion rules in DefaultGame.ini, along with configuration scanning, file writes, and cache reloads.
Making a Rounded Rectangle with a Material
I found this old note while organizing my notes. It creates a rounded rectangle with a material. The values were set for a project with three combined screens, so adjust them before using it.
Seeing Exactly Which Files Were Packaged
Unlike the usual packaged files, this view shows every configuration file, asset, plugin, and other file included in the packaged project.
Material Basics: The If Node
A beginner in our group shared this image a couple of days ago and asked why the material is invisible when dissolve is 0.
Changing the Cache Path
The simplest method is to search for \Engine\Config\BaseEngine.ini with Evenyting.
The Keys to Runtime Animation Recording: Correct Bone Data and Saving
The two most important issues in runtime animation recording in UE5.4 are obtaining correct bone data and saving AnimSequence correctly.
A Simple C++ MVVM Application
How to create a simple, usable MVVM object in C++. The following steps were tested in UE5.5.
Tips for Chinese and English Editor Settings
There seem to be many new UE users lately, so I am collecting a few tips for everyone.
Quickly Creating a Map
This covers quickly creating a usable standard map, excluding World Partition maps.
When Only One Monitor Displays in Multi-Monitor Fullscreen
This concerns issues after launching a game with multiple monitors combined into one screen using NVIDIA Surround.
Calling a DLL
Loading DLLs in Unreal and diagnosing Windows header conflicts.
PixelStreaming
Enable the PixelStreaming plugin.
Synchronizing Exposure Across Multiple Screens
Create a LocalPlayer and override the function.
Setting Up a Listen Server
The simplest way to start a listen server is to create a desktop shortcut and set its target to UnrealEditor.exe MyProject.uproject ?listen -game.
Seamless Map Travel
Unlike level streaming, which loads and unloads sublevels within one map, seamless travel first enters a simple transition map, loads the destination in the background, and then switches to it.
Custom Configuration with DeveloperSettings
Create a class derived from UDeveloperSettings. Config=Game selects Game.ini; adding DefaultConfig selects DefaultGame.ini. The name after config= is the configuration filename, so this example uses DefaultVehicle.ini.
Fixing Missing Context in UObject Blueprints
When you create a Blueprint derived from UObject, you may find that it cannot obtain a PlayerController.
Traversing Actor Properties for Sequence Recording
Recursively setting structs and all their properties to CPF_Interp so their values can be recorded by LevelSequence.
Making Conda Available in CMD Without Exposing Python from the Default Environment
After installing Miniconda, the system normally uses its base environment by default and can run Python directly from it, making base very easy to contaminate.
A Practical Guide to Streams
My understanding is that a Stream is Perforce's smarter counterpart to a traditional branch. Its visual view makes synchronization relationships between branches easier to see.
UE Source Control Operations Guide
Operations in Unreal are much like those in Perforce.
Fixing Garbled Chinese Text
Garbled Chinese text occurs because Unicode mode is not enabled on the server.
How to Configure TypeMap
Unreal Perforce file types and team binary-delivery boundaries.
Client Installation and Configuration Guide
Download the P4V client from the official website after selecting your platform and version.
Common Client Operations
The basics are operations that everyone using Perforce should know.
What to Do When a Stream Depot Cannot Be Deleted
Both test and Unreal Depot are depots I want to delete. test is intact, while the other was first deleted with stream -f -d and marked deleted, yet the depot still cannot be deleted.
A One-Click Fix for MetaHuman Head Clipping During Animation
In a recent MetaHuman project, playing different head and body animations simultaneously caused clipping around the neck. I have not observed this issue in LevelSequence so far.
No articles match the current filters. Try fewer tags or different keywords.




















































