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:
Figure 2.1 Installation options for Visual Studio 2017
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:
- 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);
}
- 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);
}
- 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;
}
- 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
- 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.
Figure 2.3 Disable OpenXR plugins
- To enable Vulkan, uncheck Support OpenGL and then check Support Vulkan in Project Settings-Platforms-Android-Build.
Figure 2.4 Enable Vulkan Rendering