- Notes Tweets Resources Q&A Site Log About
- Reading Documents Todo List Site Map
- Article Categories Article Tags
- Friends Open Source Projects Unreal Engine Knowledge Base
2025
- Building a Home Homelab Server using an Old Laptop
- Availability Analysis of UE5 Virtual Assets
- UE Hot Update: Update Capability and Hot Update Security
- UE Plugin and Tool Development: Extensibility Support
- UE PAK Encryption Analysis and Reinforcement Strategy
- UE Plugin and Tool Development: Configuration Capability
- Extreme Optimization of UE Android APK Size
2024
- UE Hot Update: A Fault Analysis of a Resource Anomaly
- Deploying a Self-Hosted MEMOS Note System
- Accelerating On-Device Resource Verification with HotPatcher
- Open Source Musings: HotPatcher Development Progress
- Traced Research: A Record of an iPhone Hardware Repair
- Traced Travel: Macau Travel Guide
2023
- Establishing Property Caching for Assets in UE using Reflection
- 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
- Traced Travel: Hong Kong Travel Guide
- UE Build Enhancement: Optimizing Remote IOS Build Implementation
- Traced Research: Exploring the Use of AI to Aid Life and Development
- DevOps: CI/CD Practice for Unreal Engine
- Traced Research: Finding Certainty in a Complex World
- Resource Management: UASSET Resource Encryption Scheme
- UE Plugin and Tool Development: Commandlet
- Resource Management: Reshaping UE’s Package Splitting Scheme
- 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 Scheme
- Traced Research: How to Write a Technical Article
- ASTC Texture Compression Analysis and Efficiency Optimization in UE
- Multi-Stage Automated Resource Inspection Scheme in UE
- An Efficient ZSTD Shader Dictionary Training Scheme
- Runtime Reorganization Scheme for Pak in Unreal Engine
- Shader Compression Scheme Based on ZSTD Dictionary
- Efficient Debugging: Launching UE Android App with Command Line Arguments
2021
- UE Resource Management: Engine Packaging Resource Analysis
- Traced Research: My 2021 Year-End Summary
- Traced Research: Analyzing Traffic Data
- UE5: Game Feature Preliminary Study
- Open Sourcing an Unreal Engine Launcher: UE Launcher
- Automated Resource Inspection Practice based on ResScannerUE
- Customizing Property Panels in Unreal Engine
- UE Hot Update: Config Reloading and Application
- UE Resource Compliance Check Tool ResScannerUE
- UE Hot Update: Shader Update Strategy
- UE Hot Update: Binary Patching Scheme for Resources
- Preliminary 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: A First Look at the Next Generation Unreal Engine
- UE Project Optimization: PSO Cache
- UE Development Notes: Android Chapter
- 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 Auditing Tools
- UE Hot Update: Splitting the Base Package
- UE Hot Update: 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 Multi-Platform Binary Engine
- Two Thousand Twenty: The Next Five-Year Plan
- UE Toolset: My Open Source Project Introduction
- How to Build Your Own Knowledge System?
- UE Integration of WWise: Concepts and Code Analysis
- UE Importing Atlas: TexturePacker
- UE Development Notes: Mac/iOS Chapter
- UE Hot Update: Requirements Analysis and Solution Design
- ModularFeature: Integrating ZSTD Compression Algorithm into UE4
- UE Hot Update: Lua Programming Guide Based on UnLua
- Differences and Connections between UEC++ and Standard C++
- UE Source Code Analysis: Modifying the Game’s Default Data Storage Path
- UE Resource Hot Update 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 Skills
- Analysis of EULA Content Distribution Restrictions in UBT
- PixelStreaming: Basic Concepts and Getting Started
- UE Modules:Find the DLL and load it
- UE Integration with SteamSDK and Related Information
- UE Code Analysis: Loading GConfig
- UE Development Problem Notes and Data Collection
- HTC Vive Tracker Developer Guide
- Create A Standalone Application in UE4
- LaTeX Mathematical 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
- Usage of Dynamic Link Libraries: Loading and Linking
- Scraping UE4 API and Generating an Indexed Dash Document
- 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 Proxy Github Pages to Enable HTTPsS
- Why can’t &&, ||, and , (comma) be overloaded?
- C++ Template Metaprogramming Resources Collection
- operator new: Conversion from void* to T*
- How lambda is Implemented in Compilers
- Visibility and Accessibility of Access Control Mechanisms
- Breaking Through C++ Class Access Control Mechanisms
- Summary of Technical Book Reviews
- Implicit Declaration and Standard Behavior of Special Member Functions
- Function Template Specialization and Overloading
- 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
- Virtual Memory Page Fault Exception Analysis
- Iterator Invalidation Caused by STL Container erase
- Analyzing C++ Code Semantics Through IR Code
- Brief Talk on fork/vfork
- Programming Techniques and Concepts in C/C++
- main Prototype Research and Program Termination Behavior
- Incompatibilities Between C and C++
- Difference Between declaration and define in C++
- Object Construction and Destruction Order
- Overload and Override
- Samba Configuration on Linux
- Collection of Tools 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 and English Edition Errata
- Some Excerpts from C/C++ Standards
- Some Interesting Questions and Analysis from CppQuiz
- Automatically Deploying Github/Coding Pages Blog Using Travis CI
- Boost Source Code Analysis Notes
- Configuring SublimeText for Boost Development Environment
- Deploying shadowsocks Service with Docker
- Using Git for Version Control in UE
- Git Quick Start Guide
- Adding String Matching for case in C++ switch
- Summarizing Some Coding Habits
- Reading “The Design and Evolution of the C++ Language” and Answers to Some Questions
- Capturing 360° Panoramic Videos with Unreal Engine 4
- Reading CSAPP: A Comparison with “Modern Operating Systems”
- Dynamic Memory and Smart Pointers
- Source Insight Plugins 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 Multi-Threading Programming
- Memory Leak Caused by Deleting void* Pointer
- Struct Member Memory Alignment Issue
- 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
- Using Gprof to Analyze Code Performance Bottlenecks
- Detailed Analysis of Type Conversions in C++
- Organization of Object-Oriented Knowledge in C++
- Choosing Member and Non-Member Implementations for Operator Overloading
- Reading “Life,” Discussing the 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 to Calculate Integrals
- Managing Static Blogs Online with Koding
- Reading “The Beauty of Mathematics”
- Analyzing Mathematical Principles in Cryptography
- Using Shadowsocks Service in Linux
- Extracting RSS Feeds for Youku Subscribed Videos
- Customizing Dvorak Keyboard Layout in Windows
- Chrome Extension Recommendations
- Constructors of STL Containers
- Floating-Point Rounding Error when Initializing Containers with Two Iterators
- The Hard Thing About Hard Things: How to Finish What’s Harder than Hard
- Sequential Containers and Associative Containers
- C++ Basic Syntax 정리
- C/C++ Cheat Sheet
- Writing My Own Reflections: My Software Major