- Notes Tweets Resources Q&A Changelog About
- Books Docs Todo Sitemap
- Categories Tags
- Friends Open Source UE5 Wiki
2026
2025
- Building a Home Homelab Server with Old Laptops
- UE5 Virtual Assets: Usability Analysis
- UE Hot-Update: Update Capabilities and Security
- UE Plugin & Tool Development: Extensibility Support
- UE PAK: Encryption Analysis and Hardening Strategies
- UE Plugin & Tool Development: Configuration Capabilities
- Extreme Optimization of UE Android APK Size
2024
- UE Hot-Update: An Asset Exception Fault Analysis
- Deploying a Self-Hosted MEMOS Note System
- Accelerating On-Device Asset Verification with HotPatcher
- Open Source Musings: HotPatcher Development Progress
- Tracing Research: An iPhone Hardware Repair Story
- Tracing Travels: Macau Travel Guide
2023
- Building Asset Property Caches in UE Using Reflection
- Design and Implementation of Asset Self-Correction in UE
- UE Plugin & Tool Development: j2 Design and Implementation
- Building a Knowledge Management System with Obsidian
- Tracing Travels: Hong Kong Travel Guide
- UE Build Improvement: Optimizing Remote iOS Build Implementation
- Tracing Research: Using AI to Assist Life and Development Exploration
- DevOps: CI/CD Practices for Unreal Engine
- Tracing Research: Seeking Certainty in a Complex World
- Asset Management: UASSET Encryption Scheme
- UE Plugin & Tool Development: Commandlet
- Asset Management: Reshaping UE Package Splitting
- Memory Expansion: Utilizing New iOS Memory Features in UE
- UE Plugin & Tool Development: Basic Concepts
- HotPatcher Modular Refactoring and Development Roadmap
2022
- 2022 Unreal Open Day
- A Flexible and Non-Intrusive Base Package Splitting Scheme
- Tracing Research: How to Write a Technical Article
- Analysis and Efficiency Optimization of ASTC Texture Compression in UE
- Multi-Stage Automated Asset Checking Scheme in UE
- An Efficient ZSTD Shader Dictionary Training Scheme
- Runtime Reorganization Scheme for PAK Files in Unreal Engine
- Shader Compression Scheme Based on ZSTD Dictionaries
- Efficient Debugging: Launching UE Android App with Command Line Arguments
2021
- UE Asset Management: Engine Packaged Asset Analysis
- Tracing Research: My 2021 Annual Summary
- Tracing Research: Thoughts on Analyzing Traffic Data
- UE5: Game Feature Pre-research
- Open Source: UE Launcher
- Automated Asset Inspection Practice Based on ResScannerUE
- Customizing Property Panels in Unreal Engine
- UE Hot-Update: Config Reloading and Application
- UE Asset Compliance Inspection Tool: ResScannerUE
- UE Hot-Update: Shader Update Strategy
- UE Hot-Update: Binary Patching Scheme for Assets
- A First Look at the UE As Lib Mechanism
- Profiling IOS With Unreal Insight
- Deployment Guide for UE Multi-User Editing Service
- Performance Comparison of Zlib/Oodle/ZSTD Compression Algorithms
- UE5: A First Look at the Next Generation Unreal Engine
- UE Project Optimization: PSO Cache
- UE Development Notes: Android
- UE Performance Analysis: Memory Optimization
- UE Hot-Update: Questions & Answers
- UE Hot-Update: Create Shader Patch
- UE Reflection Implementation Analysis: Reflection Code Generation (Part 1)
- UE Hot-Update: Asset Management and Audit Tool
- UE Hot-Update: Splitting Base Packages
- UE Hot-Update: Automated Workflow Based on HotPatcher
2020
- Thoughts and Ideas on Open Source
- UE Reflection Implementation Analysis: C++ Features
- UE Reflection Implementation Analysis: Basic Concepts
- 2020 Unreal Open Day
- UE: Best Practices for UPL and JNI Calls
- UE: Hook UObject
- BuildGraph: Building a Binary Engine with Multi-Platform Support
- 2020: The Next Five-Year Plan
- UE Toolset: Introduction to My Open Source Projects
- How to Build Your Own Knowledge System?
- Integrating Wwise into UE: Concepts and Code Analysis
- UE Importing Atlases: TexturePacker
- UE Development Notes: Mac/iOS
- UE Hot-Update: Requirements Analysis and Scheme Design
- ModularFeature: Integrating ZSTD Compression into UE4
- UE Hot-Update: Lua Programming Guide Based on UnLua
- Differences and Connections Between UE C++ and Standard C++
- UE Source Analysis: Modifying the Default Game Data Storage Path
- UE Asset Hot-Update Packaging Tool: HotPatcher
- UE Project Design Specifications and Code Standards
2019
- Becoming a Content Creator on the Unreal Marketplace
- Export Recast Navigation Data from UE4
- Oculus Quest Development with UE4
- UE Build System: Target and Module
- UE Toolchain Configuration and Development Tips
- Analyzing EULA Content Distribution Restrictions in UBT
- PixelStreaming: Basic Concepts and Getting Started
- UE Modules: Find the DLL and load it
- Integrating SteamSDK into UE and Related Materials
- UE Code Analysis: Loading GConfig
- UE Development Notes and Material Collection
- HTC Vive Tracker Developer Guide
- Create A Standalone Application in UE4
- LaTeX Mathematical Symbols Cheat Sheet
- UE Modules: Load and Startup
- Build flow of the Unreal Engine4 project
- C++ Polymorphism and Virtual Function Tables
- UE Package Error: ObservedKeyNames.Num()>0
- Macro defined by UBT in UE4
2018
- Extracting Tor and Building a Tor Bridge
- Using Dynamic Link Libraries: Loading and Linking
- Scraping UE4 API and Generating Indexed Dash Documentation
- Intranet Penetration Using frp
- UE and VR Development Technical Notes
- Pass Actor To Next Level Through Seamless Travel
- Build protobuf with MSVC on Windows
2017
- Reverse Proxying Github Pages to Enable HTTPS
- Why Can’t &&, ||, and , (comma) be Overloaded?
- C++ Template Metaprogramming Material Collection
- operator new: Conversion from void* to T*
- How Lambda is Implemented in the Compiler
- Visibility and Accessibility in Access Control Mechanisms
- Breaking C++ Class Access Control Mechanisms
- Technical Book Review Summary
- Implicit Declaration and Standard Behavior of Special Member Functions
- Specialization and Overloading of Function Templates
- Pointers to Class Members in C++ Are Not Really Pointers
- Why is extern “C” Needed?
- C/C++ Compilation and Linking Model Analysis
- Array of length zero
- Page Fault Analysis in Virtual Memory
- Iterator Invalidation Caused by STL Container erase
- Analyzing C++ Code Semantics Through IR Code
- Brief Talk on fork/vfork
- Programming Tips and Concepts in C/C++
- Examination of main Prototype and Program Termination Behavior
- Incompatibilities Between C and C++
- Difference Between Declaration and Define in C++
- Construction and Destruction Order of Objects
- Overload and Override
- Samba Configuration on Linux
- Collection of Tool and Environment Knowledge
- SublimeText Remote Compilation Plugin
- Implicit Logic Behind Array Subscript Access
2016
- Wrapping Overloaded Member Function Pointers
- The C++ Object and Memory Model
- Reflections on Reading
- Reading TC++PL, C++ Primer, and ISO C++
- What is POD in C++?
- Radical ADL (Argument-dependent lookup)
- Errata for TC++PL4E (Chinese/English versions)
- Excerpts from C/C++ Standards
- Interesting CppQuiz Problems and Analysis
- Using Travis CI to Automatically Deploy Github/Coding Pages Blogs
- Boost Source Code Analysis Notes
- Configuring SublimeText as a Boost Development Environment
- Deploying Shadowsocks Service Using Docker
- Using Git for Version Control in UE
- Git Quick Start Guide
- Adding String Matching for Cases in C++ Switch
- Summarizing Several Coding Habits
- Reading “The Design and Evolution of C++” and Answering Some Questions
- Capturing 360° Panoramic Video Using Unreal Engine 4
- Reading CSAPP: Comparison with “Modern Operating Systems”
- Dynamic Memory and Smart Pointers
- Source Insight Plugins and Configuration
- Writing Linux Programs on VS Using VisualGDB
- Deploying Shadowsocks Service on VPS
- Books and Tools for Learning C/C++
- Future Plans
- Talking About the Gaokao
- Pthread Multithreaded Programming
- Memory Leaks Caused by Deleting void* Pointers
- Struct Member Memory Alignment Issues
- C Language Lacks Native bool Type
- Turning Raspberry Pi into a Portable Linux Compilation Environment
- Misconceptions About Compiler-Generated Default Constructors
- Inter-process Communication
- C++11 Syntactic Sugar
- Memory Leaks Caused by Releasing Pointer Elements in STL
- Analyzing Code Performance Bottlenecks Using Gprof
- Detailed Analysis of Type Conversion in C++
- Organization of Object-Oriented Knowledge in C++
- Choosing Member vs. Non-Member Implementation for Operator Overloading
- Reading “Life”, Talking About Choices Faced
- Usage of Placeholder Modifier * in C/C++
- Ambiguity Caused by Misusing Macro Definitions in C++
2015
- SublimeText as a Lightweight IDE for C/C++
- Using Wolfram|Alpha for Integration
- Managing Static Blogs Online Using Koding
- Reading “Beauty of Mathematics”
- Analyzing Mathematical Principles in Cryptography
- Using Shadowsocks Service on Linux
- Extracting RSS Feeds for Youku Subscribed Videos
- Customizing Dvorak Keyboard Layout on Windows
- Chrome Plugin Recommendations
- Constructors for Containers in STL
- Floating Point Rounding Occurring When Initializing Containers with Two Iterators
- Sequential Containers and Associative Containers
- Organization of Basic C++ Syntax
- C/C++ Cheat Sheet
- Writing My Own Reflections, My Software Major