Experiencing framerate issue when HMD camera rotation overloaded

Hello guys,

I’m trying to overload camera movement in VR and i’m experiencing some lag / framerate issues because of that. (No issue in VR with another basic character)


Using the camera with “Lock To HMD” enabled, it moves the relative location of the Camera when the HMD is moving in X, Y axes : In this case the Capsule Component around the character doesn’t follow the head, which is a issue in standed experience.
In order to improve the exprience into a standed game, i want to overload the “Lock To HMD” checkbox into my Camera.


I’ve unlock the “Lock To HMD” camera settings, and in my Character BP (Parrent class of my camera) I move the Character and rotate the Camera according to the HMD orientation and Location.
The Framerate has been fixed to 60 into our project settings

The Camera as a Child component of my Character :


The movement of the Character, depending of the HMD location. The capsule collision follow the Camera.
The “ManageCamera” function is called on the OnTick Event in the Character Blueprints

The rotation of the Camera depending of the HMD rotation. The camera is moved on Z axes and Camera location in X / Y is reset to 0, to be sure it’s centered in the Character.

Issue :

When moving the head (making a rotation), The rendering in the HMD (Oculus for this project) has some framerate issue.
I was wondering if the tick of the Character was called as expected on each frame ?

I’ve took a look to the C++ code of the [VrExpansion][4] plugin, and it seems that a basic camera rotation may not be enough to overload correctly the “Lock to HMD” setting.

Or should I write a subclass of the Camera and overload some methods like suggested in [this post][5] ? (Not the sqme issue, but same piece of code to modify)

I dont’ know where this camera rotation lag come from, and i’m not sure where to look.
I’ve already tried some others implementations found on the forum, but this one is the closest one from what I want to achieve.

I’m able to fix this issue by turning off all Post Process applied in our scene. So it’s a performance issue and this method to overload “Lock to HMD” setting may use a lot of processing. Should I call the ‘Manage Camera’ method from other method than OnTick of the character ?

Thanks a lot for any ideas.