.. _2 Instructions for SDK configuration: 2 Instructions for SDK configuration =========================================== 2.1 Supported devices ------------------------------- Pico Neo 3 series 2.2 Development environment requirements ------------------------------------------------- ============================================== ================================================================== Software name Version information ============================================== ================================================================== Unreal Engine 4.24.3, 4.25.4,4.26.2,4.27.2 Visual Studio VS2017 or later Android Works Try to use the Latest version Software Version c000_rf01_bv1.0.1_sv1.181_20211022_b335 or later ============================================== ================================================================== **Note:** - Software Version can be found in device menu Settings - General. - arm64-v8a is recommended. - The SDK has no special requirements for the PUI version of the VR headset, but the latest version should be employed whenever possible. - For Android Works, please refer to: Installation of https://docs.unrealengine.com/en-US/Platforms/Mobile/Android/InstallingAndroidCodeWorksAndroid - For 4.25 and later versions, please refer to this website for Android environment configuring: https://docs.unrealengine.com/en-US/Platforms/Mobile/Android/Setup/AndroidStudio/index.html. Be sure to check "Game development with C++" when installing Visual Studio 2017 or above: .. image:: _static/2.2.1.png Figure 2.1 Installation options for Visual Studio 2017 .. image:: _static/2.2.2.png Figure 2.2 Installation options for Visual Studio 2019 2.3 Vulkan rendering development configurations ---------------------------------------------------------------- Vulkan rendering development requires the UE Editor compiled from the source code on the UE4.24-UE4.26 version, and the following modifications are required: 1. In Engine/Source/Runtime/VulkanRHI/Private/Android/VulkanAndroidPlatform.cpp file, add the following line: .. code-block:: c++ OutExtensions.Add(VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME); to the implementation of the GetInstanceExtensions member function: .. code-block:: c++ void FVulkanAndroidPlatform::GetInstanceExtensions(TArray& OutExtensions) { OutExtensions.Add(VK_KHR_SURFACE_EXTENSION_NAME); OutExtensions.Add(VK_KHR_ANDROID_SURFACE_EXTENSION_NAME); OutExtensions.Add(VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME); OutExtensions.Add(VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME); } 2. In Engine/Source/Runtime/VulkanRHI/Private/Android/VulkanAndroidPlatform.cpp file,add the following codes .. code-block:: c++ OutExtensions.Add(VK_KHR_MULTIVIEW_EXTENSION_NAME); OutExtensions.Add(VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_EXTENSION_NAME); to the implementation of the GetDeviceExtensions member function: .. code-block:: c++ void FVulkanAndroidPlatform::GetDeviceExtensions(EGpuVendorId VendorId, TArray& OutExtensions) { OutExtensions.Add(VK_KHR_SURFACE_EXTENSION_NAME); OutExtensions.Add(VK_KHR_ANDROID_SURFACE_EXTENSION_NAME); OutExtensions.Add(VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME); OutExtensions.Add(VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME); OutExtensions.Add(VK_KHR_MULTIVIEW_EXTENSION_NAME); OutExtensions.Add(VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_EXTENSION_NAME); } 3. In Engine/Source/Runtime/VulkanRHI/Private/Android/VulkanAndroidPlatform.cpp file, modify the return value of the two member functions SupportsStandardSwapchain and GetPixelFormatForNonDefaultSwapchain to the following lines .. code-block:: c++ bool FVulkanAndroidPlatform::SupportsStandardSwapchain() { return false; } EPixelFormat FVulkanAndroidPlatform::GetPixelFormatForNonDefaultSwapchain() { return PF_R8G8B8A8; } 4. In Engine/Config/BaseDeviceProfiles.ini configuration file. In the parameters in [Android DeviceProfile], if there is the parameter **r.Android.DisableVulkanSupport** , please set the value to 0, as follows. If there's no **r.Android.DisableVulkanSupport** , then no need for modification. .. code-block:: c++ +CVars=r.Android.DisableVulkanSupport=0 5. For Vulkan rendering development in the UE4.27 version, it's applicable to directly use the non-source version of the Editor, but OpenXR plugins need to be disabled. .. image:: _static/2.2.3.png Figure 2.3 Disable OpenXR plugins 6. To enable Vulkan, uncheck Support OpenGL and then check Support Vulkan in Project Settings-Platforms-Android-Build. .. image:: _static/2.2.4.png Figure 2.4 Enable Vulkan Rendering