@kdragon_2 RetroPie is just Raspbian Linux underneath, so as long as your setup works with Raspbian and the OS detects your setup as a controller, RetroPie should recognise it and use it. As for the how to communicate with it, that's up to you - Linux/RetroPie already includes a few drivers that interpret GPIO inputs as a controller - look in the Docs.