для того, чтобы перенести имгуишку c++ в c# нужно сделать следующее
1) написать процедуру вызова, отрисовки и вызова событий имгуи. на языке c++
2) описать методы, с указанием типа метода и его параметров, структуры, классы, глобальные переменные и объекты в заголовочном/ых файлах
3) скомпилировать код в dll (динамическая библиотека) или в o (объектный файл) или в lib (статическая библиотека), при этом заголовочный файл, подключаем в код c++ при помощи #include, благодаря этому заголовочный файл подтянется автоматом при компиляции
4) перенести библиотеку в папку с проектом c#
5) при написании программы на c# объявить методы, с указанием типа метода и его параметров, структуры, классы, глобальные переменные и объекты указав перед ними ключевое слово extern в программе c#
6) использовать там, где их нужно