Существуют ли книги - я не знаю, но фундаментально ничего не изменилось:
Плагин должен быть либо динамической библиотекой, которую ты подгрузишь, либо должен быть написан на какой-нибудь интерпретируемом языке, интерпретатор которого ты встроишь в основную программу.
Таким языком может быть lua - очень популярный вариант. Можно даже какой-нибудь свой язык для плагинов придумать - вот Minecraft вообще для плагинов стопку json-ов предлагает писать.
Из нового ещё появился webassembly: он удобен тем, что разработчик плагина может выбрать в принципе любой язык, и запускаться он сможет на любой платформе.