So I've decided to move over all my code to extend from the UDK base rather than UT and I seem to be running in trouble..

It all compiles fine but my True First Person camera is all messed up? It seems to be getting it's location from the mesh's chest rather than the eye socket I attached and I also can't rotate up or down?

While i'm on here, I'd like to ask a little question, does extending from UT code slow down the system any bit?

Pawn;
Code:
class MainPawn extends UDKPawn
config(Game);

var name EyeSocket;

simulated event Vector GetPawnViewLocation()
{
    local vector viewLoc;

    // FIXME - rough location for dedicated servers do?
    //if ((EyeSocket == '') || (WorldInfo.NetMode == NM_DedicatedServer))
    if(EyeSocket == '')
    {
        return Location + BaseEyeHeight * vect(0,0,1);
    }

    Mesh.GetSocketWorldLocationAndRotation(EyeSocket, viewLoc);

    return viewLoc;
}

defaultproperties
{
    Begin Object Class=DynamicLightEnvironmentComponent Name=MyLightEnvironment
        bSynthesizeSHLight=TRUE
        bIsCharacterLightEnvironment=TRUE
        bUseBooleanEnvironmentShadowing=FALSE
        InvisibleUpdateTime=1
        MinTimeBetweenFullUpdates=.2
    End Object
    Components.Add(MyLightEnvironment)
    
    Begin Object Class=SkeletalMeshComponent Name=WPawnSkeletalMeshComponent
        bOwnerNoSee=False
        AnimTreeTemplate=AnimTree'CH_AnimHuman_Tree.AT_CH_Human'
        SkeletalMesh=SkeletalMesh'CH_LIAM_Cathode.Mesh.SK_CH_LIAM_Cathode'
        PhysicsAsset=PhysicsAsset'CH_AnimCorrupt.Mesh.SK_CH_Corrupt_Male_Physics'
        AnimSets(0)=AnimSet'CH_AnimHuman.Anims.K_AnimHuman_BaseMale'       
        LightEnvironment=MyLightEnvironment
    End Object
    
    Mesh=WPawnSkeletalMeshComponent
    Components.Add(WPawnSkeletalMeshComponent)
    
    EyeSocket=Eyes
}