Inter-Process Communication in Real-Time 3D Applications is a practical guide to building production-ready IPC systems using gRPC and Protocol Buffers in C++.
Targeted at experienced developers in VFX, animation, and games, it covers effective message design, service architecture, performance optimization, and both synchronous RPCs and the modern callback-based asynchronous API—with real-world code examples throughout.
The book concludes with a hands-on capstone project: building a LiveLink system that connects Autodesk Maya to a custom UsdViewer using gRPC. You'll stream live edits and state changes across processes while working directly with OpenUSD stages—gaining a solid, adaptable foundation for creating responsive, real-time integrations in your own pipeline.
Before diving in, it helps to have some familiarity with the tools and technologies used throughout this book. You don't need to be fluent in all of them and every major concept is introduced with clear, step-by-step examples. However, having a basic working knowledge will make the material easier to absorb.
Helpful Background Knowledge:
· C++: Solid understanding of modern C++ (C++11/14/17/20), including memory management, object lifetimes, and threading concepts.
· OpenGL: Familiarity with modern OpenGL concepts, including framebuffers, shaders, and rendering pipelines.
· Pixar’s OpenUSD: Working knowledge of core USD concepts such as stages, prims, attributes, and layers.
· Maya API: Experience with C++ plugin development for Maya, including MObject usage and Function Set patterns.
· MayaUSD Plugin: Understanding of how OpenUSD integrates into Maya through the MayaUSD plugin.
· Cmake: Familiarity with configuring, building, and linking C++ projects using CMake.
· Qt: Comfortable with creating Qt widgets, signal/slot communication model, and the Qt event loop.
If you are not fully comfortable with one or more of these topics, don't worry. Each chapter introduces the concepts you need as they become relevant and builds on them progressively.
Chapter 1 – Protocol Buffers Fundamentals
Introduces Protocol Buffers as a language-agnostic data serialization format. This chapter covers schema design, type systems, versioning rules, and best practices for evolving message definitions in long-lived pipelines.
Chapter 2 – Modern gRPC Fundamentals
Explores gRPC as a high-performance RPC framework built on HTTP/2. The chapter explains RPC models, streaming semantics, synchronous and asynchronous APIs in C++.
Chapter 3 – OpenUSD Fundamentals
Provides a foundational understanding of Universal Scene Description.
Chapter 4 – MayaUSD Plugin Fundamentals
Examines how OpenUSD is integrated into Autodesk Maya through the MayaUSD plugin. This chapter covers stage access, observing scene changes, interacting with prims and attributes, and using the MayaUsd API to react to edits in real time.
Chapter 5 – Building a Custom USD Viewer
Focuses on constructing a lightweight custom USD viewer. It introduces stage loading, viewport rendering, basic interaction, and how a standalone viewer can serve as a receiving endpoint for live USD updates.
Chapter 6 – Building LiveLink Services
Brings the previous chapters together by implementing a real-time LiveLink service. This chapter demonstrates detecting changes in Maya, serializing USD data, streaming updates via gRPC, and safely applying those updates to a live stage in the viewer.
Chapter 7 – OpenTelemetry Instrumentation
Introduces observability for real-time systems using OpenTelemetry and Prometheus. The chapter shows how to instrument gRPC clients and servers, collect metrics, and use measurement to guide performance and design decisions.