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:

Be sure to check “Game development with C++” when installing Visual Studio 2017 or above:

_images/2.2.1.png

Figure 2.1 Installation options for Visual Studio 2017

_images/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:
OutExtensions.Add(VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME);

to the implementation of the GetInstanceExtensions member function:

void FVulkanAndroidPlatform::GetInstanceExtensions(TArray<const ANSICHAR*>& 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);
}
  1. In Engine/Source/Runtime/VulkanRHI/Private/Android/VulkanAndroidPlatform.cpp file,add the following codes
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:

void FVulkanAndroidPlatform::GetDeviceExtensions(EGpuVendorId VendorId, TArray<const ANSICHAR*>& 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);
}
  1. 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
bool FVulkanAndroidPlatform::SupportsStandardSwapchain()
{
        return false;
}
EPixelFormat FVulkanAndroidPlatform::GetPixelFormatForNonDefaultSwapchain()
{
        return PF_R8G8B8A8;
}
  1. 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.
+CVars=r.Android.DisableVulkanSupport=0
  1. 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.
_images/2.2.3.png

Figure 2.3 Disable OpenXR plugins

  1. To enable Vulkan, uncheck Support OpenGL and then check Support Vulkan in Project Settings-Platforms-Android-Build.
_images/2.2.4.png

Figure 2.4 Enable Vulkan Rendering