- Notes Tweets Resources Questions Site Log About
- Reading Documents Todo List Site Map
- Article Categories Article Tags
- Friends Open Source Projects Unreal Engine Knowledge Base
2026
2025
- Building a Home Homelab Server with an Old Laptop
- UE5 Virtual Asset Usability Analysis
- UE Hotfix: Update Capabilities and Hotfix Security
- UE Plugin and Tool Development: Extensibility Support
- UE PAK Encryption Analysis and Hardening Strategy
- UE Plugin and Tool Development: Configurability
- Extreme Optimization of UE Android APK Size
2024
- UE Hotfix: A Fault Analysis of an Asset Anomaly
- Deploying a Self-Hosted MEMOS Note System
- Accelerating On-Device Asset Verification with HotPatcher
- Open Source Musings: HotPatcher Development Progress
- Tracing Research: Documenting an iPhone Hardware Repair
- Tracing Travel: Macau Travel Guide
2023
- Using Reflection in UE to Establish Property Caching for Assets
- Design and Implementation of Asset Self-Correction in UE
- UE Plugin and Tool Development: j2’s Design Ideas and Implementation
- Building a Knowledge Management System Based on Obsidian
- Tracing Travel: Hong Kong Travel Guide
- UE Build Enhancement: Optimizing Remote IOS Build Implementation
- Tracing Research: Exploring AI to Aid Life and Development
- DevOps: CI/CD Practices for Unreal Engine
- Tracing Research: Finding Certainty in a Complex World
- Resource Management: UASSET Resource Encryption Solution
- UE Plugin and Tool Development: Commandlet
- Resource Management: Reshaping UE’s Package Splitting Solution
- Memory Expansion: Utilizing New IOS Memory Features in UE
- UE Plugin and Tool Development: Basic Concepts
- HotPatcher’s Modular Refactoring and Development Plan
2022
- 2022 Unreal Open Day
- A Flexible and Non-Intrusive Base Package Splitting Solution
- Tracing Research: How to Write a Technical Article
- ASTC Texture Compression Analysis and Efficiency Optimization in UE
- Multi-Stage Automated Asset Inspection Solution in UE
- An Efficient ZSTD Shader Dictionary Training Solution
- Runtime Reassembly Solution for Pak in Unreal Engine
- ZSTD Dictionary-Based Shader Compression Solution
- Efficient Debugging: Launching UE Android App with Command Line Arguments
2021
- UE Resource Management: Engine Package Asset Analysis
- Tracing Research: My 2021 Annual Summary
- Tracing Research: A Few Things About Analyzing Traffic Data
- UE5: Game Feature Preliminary Research
- Open Sourcing an Unreal Engine Launcher: UE Launcher
- Automated Asset Inspection Practice Based on ResScannerUE
- Property Panel Customization in Unreal Engine
- UE Hotfix: Config Reloading and Application
- UE Resource Compliance Check Tool ResScannerUE
- UE Hotfix: Shader Update Strategy
- UE Hotfix: Binary Patching Solution for Assets
- Initial Exploration of UE As Lib Mechanism
- Profiling IOS With Unreal Insight
- UE Multi-User Collaborative Editing Service Deployment Guide
- Zlib/Oodle/ZSTD Compression Algorithm Performance Comparison
- UE5: Initial Exploration of the Next-Generation Unreal Engine
- UE Project Optimization: PSO Cache
- UE Development Notes: Android Chapter
- UE Performance Analysis: Memory Optimization
- UE Hotfix: Questions & Answers
- UE Hotfix: Create Shader Patch
- UE Reflection Implementation Analysis: Reflection Code Generation (Part 1)
- UE Hotfix: Asset Management and Auditing Tool
- UE Hotfix: Splitting the Base Package
- UE Hotfix: Automated Workflow Based on HotPatcher
2020
- Some 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 Supporting Multi-Platform Packaging
- Two Zero Two Zero: The Next Five-Year Plan
- UE Toolset: Introduction to My Open Source Projects
- How to Build Your Own Knowledge System?
- UE Integration with WWise: Concepts and Code Analysis
- UE Importing Atlas: TexturePacker
- UE Development Notes: Mac/iOS Chapter
- UE Hotfix: Requirements Analysis and Solution Design
- ModularFeature: Integrating ZSTD Compression Algorithm for UE4
- UE Hotfix: Lua Programming Guide Based on UnLua
- Differences and Connections Between UE C++ and Standard C++
- UE Source Code Analysis: Modifying the Game’s Default Data Storage Path
- UE Hotfix Packaging Tool HotPatcher
- UE Project Design Specifications and Code Standards
2019
- Becoming a Content Creator for 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 Initial Exploration
- UE Modules:Find the DLL and load it
- UE Integration with SteamSDK and Related Resources
- UE Code Analysis: GConfig Loading
- UE Development Problem Notes and Resource Compilation
- HTC Vive Tracker Developer Guide
- Create A Standalone Application in UE4
- LaTeX Math Symbol Quick Reference
- 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 Setting Up a Tor Bridge
- Dynamic Link Library Usage: Loading and Linking
- Scraping UE4 API and Generating Indexed Dash Documentation
- Using frp for Intranet Penetration
- 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 HTTPsS
- Why Can’t &&, ||, and ,(comma) Be Overloaded?
- C++ Template Metaprogramming Resources Compilation
- operator new: Conversion from void* to T*
- How lambda is Implemented in the Compiler
- Visibility and Accessibility of Access Control Mechanisms
- Breaking Through C++ Class Access Control Mechanisms
- Technical Book Reviews Summary
- Implicit Declaration and Standard Behavior of Special Member Functions
- Specialization and Overloading of Function Templates
- Pointers to Class Members in C++ Are Not Pointers
- Why is extern “C” Needed?
- C/C++ Compilation and Linking Model Analysis
- Array of length zero
- Analysis of Page Fault Exceptions in Virtual Memory
- Iterator Invalidation Caused by STL Container erase
- Analyzing C++ Code Semantics via IR Code
- Brief Discussion on fork/vfork
- Programming Techniques and Concepts in C/C++
- Research on main Prototype and Program Termination Behavior
- Incompatibilities Between C and C++
- Differences Between declaration and define in C++
- Construction and Destruction Order of Objects
- Overload and Override
- Samba Configuration on Linux
- Compilation 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
- Some Thoughts on Reading
- Reading TC++PL, C++Primer, and ISO C++
- What is POD in C++?
- Aggressive ADL (Argument-dependent lookup)
- TC++PL4E Chinese-English Errata
- Excerpts from C/C++ Standards
- CppQuiz: Some Interesting Questions and Analysis
- Automatically Deploying Github/Coding Pages Blog with Travis CI
- Boost Source Code Analysis Notes
- Configuring SublimeText as a Boost Development Environment
- Deploying shadowsocks Service with Docker
- Using Git for Version Control in UE
- Git Quick Start Guide
- Adding String Matching for switch cases in C++
- Summarizing Several Coding Habits
- Reading “The Design and Evolution of the C++ Language” and Answers to Some Questions
- Capturing 360° Panoramic Video with Unreal Engine 4
- Reading CSAPP: Comparison with “Modern Operating Systems”
- Dynamic Memory and Smart Pointers
- Source Insight Plugin and Configuration
- Writing Linux Programs on VS with VisualGDB
- Deploying shadowsocks Service on VPS
- Books and Tools for Learning C/C++
- Future Plans
- Talking About Gaokao (College Entrance Exam)
- Pthread Multithreaded Programming
- Memory Leak Caused by Deleting void* Pointers
- Struct Member Memory Alignment Issues
- C Language Does Not Have 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 Leak Caused by STL Releasing Pointer Elements
- Analyzing Code Performance Bottlenecks with Gprof
- Detailed Analysis of Type Conversion in C++
- Object-Oriented Knowledge Organization in C++
- Choosing Member and Non-Member Implementations for Operator Overloading
- Reading “Life” and Talking About Choices Faced
- Usage of Placeholder Specifier * in C/C++
- Ambiguity Caused by Misusing Macro Definitions in C++
2015
- SublimeText as a Lightweight IDE for C/C++
- Calculating Integrals with Wolfram|Alpha
- Managing Static Blogs Online with Koding
- Reading “The 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 Extension Recommendations
- Constructors of STL Containers
- Floating-Point Rounding When Initializing Containers with Two Iterators
- The Hard Thing About Hard Things: How to Build a Business When There Are No Easy Answers
- Sequence Containers and Associative Containers
- C++ Basic Syntax Organization
- C/C++ Quick Reference Sheet
- Some Personal Reflections on My Software Major