When creating MIDI remote scripts with Control Surface Studio, it’s essential to understand the difference between scripts, mappings, controller templates and controller inputs.
At the top of the home screen of Control Surface Studio, you will see 2 tabs: My Scripts & My Controller Templates. As the names suggest, this is where all of your Scripts and Controller Templates are stored.

Why the Separation?
This separation between Scripts and Controller Templates is due to the fact that Controller templates can be reused in multiple scripts.
Needing to re-configure the MIDI data for every controller input each time you create a new script is major waste of time. So in CSS, you create 1 controller template for your midi controller and then this can be re-used in as many scripts as you like.
In the Script Manager

When in the Script Manager, the left panel displays the script information, including all script mappings. Whereas the right panel displays the attached Controller Template.
You can edit the contents of the attached Controller Template while here and it will be updated for all other scripts when you open those in the Script Manager.
The way we have set this up makes it super easy to port a script to other midi controllers.
To do this, all you ned to do is the following:
1 Select a different template in the ‘Controller Template’ menu at the top of the mapping table section
2 Select the controller inputs for each mapping