After reading up on and learning c# over the past few weeks, I have now come to grips with it, and I am more than comfortable in writing scripts for Unity. I have been working on the character motor script along with Paul. We started off by using a beta character motor script from the Unity website. We then modified it to make it work with the way we want it to. My particular task was to implement a slide mechanic, we need this so the main character cannot jump up slopes and thus perform tasks not how we intended. It was a tough job and caused many, many problems along the way, but I managed to get it to work to a good degree.

The sliding proved to be quite a difficult task due to the nature of Unity's character controller. The only time you can access the normal angle of a collider is after you move the character. This meant that I had to force the controller to move again after checking the angles. Another problem this caused was that if you stood at the end of a slope and moved into it, you would jump back and forth as the slide would not be registered until the frame after. This meant I had to store the previous position, perform the extra move, and move the controller back if it had detected that you were walked onto a slope that you shouldn't be able to walk up.
In the process, I also tweaked with the jump mechanics to give a smoother jump feel, adding acceleration instead of a constant fall speed.
I have also worked directly with Paul on some smaller things, such as adding in air control, we also help each other out when we can/when needed.
I know screenshots of code probably will not help to show my work, so I have described what I have done in detail.
I think that next time we should design and code our own character motor as this means we have full control over it, know how it works fully and would be easier to integrate with our project.