A Study of Plugin Architectures for Supporting Extensible Software
summary
Compares real SDKs — Autodesk Maya (C++), Unity (C#), Unreal (C++), Qt Modeler (C) — and shows a concrete plugin pattern: a plugin manager loads shared libraries, uses dlopen/dlsym or platform equivalents, exposes C factory functions and versioned metadata, returns error codes, and isolates resource ownership. Demonstrates embedding scripting via pybind11 bindings or Lua as an alternative to native plugins, weighs performance and sandboxing tradeoffs, and cites community scale like 70,000 mods for Skyrim as evidence this architecture works in production.
AI-written summary · about
chapters (10)
- 0:00Introduction
- 6:54Scaling challenges
- 11:16History of modding
- 16:40Tradeoffs of extensibility
- 23:14Modifying strategies
- 26:08Data-driven techniques
- 33:21Plugin architecture
- 38:58Implementation details
- 44:08Case studies
- 50:02Summary and Q&A
related talks
29mUsing Plugins to Share Code Among Several UE4 Projects
35mBuilding Modular Architectures
23mBuild plugins using Pluggy
39mPlug-in Architectures With Layrry & Java Module System
01h 09mPlatform Wars
07mWhy You Need a Universal Plug-In System
18mDesigning a plugin architecture in Python
47mArchitecture Foundations: Styles & Patterns
