void FixedUpdate() { var changes = DeviceController.GetChanges(); foreach (var change in changes) { DAZMorph changedMorph = null; JSONStorableFloat changedEye = null; Quaternion? changedHeadRotation = null; if (!ShapeEnabled(change.Value.Shape)) { continue; } changedMorph = RunMorphChange(change.Value); if (changedMorph != null) { if (RecordingController.IsRecording) { RecordingController.RecordMorphValue(changedMorph.displayName, changedMorph.morphValue); } } if (changedMorph == null) { changedEye = RunEyeChange(change.Value); if (changedEye != null) { if (RecordingController.IsRecording) { RecordingController.RecordEyeValue(changedEye.name, changedEye.val); } } } if (changedEye == null) { changedHeadRotation = RunHeadRotationChange(change.Value, OriginalHeadRotation); if (changedHeadRotation.HasValue) { if (RecordingController.IsRecording) { RecordingController.RecordHeadRotationValue(changedHeadRotation.Value); } } } } if (RecordingController.IsRecording) { RecordingController.NextFrame(); } }