mobfish_cai Posted August 13, 2020 Share Posted August 13, 2020 Our project targets multiple devices, including multiple android vr devices. I noticed that during wave vr build, the manifest will be deleted, which will result the PlayerSetting "Custom Main Manifest" removed from checking, and it will result error when I build for other platform afterwards. And I can't find any c# API which enable this. So can you remove these codes which deletes manifest? You can write in document that this specific manifest is required for Wave VR Build. Link to comment Share on other sites More sharing options...
Sean Lu Posted August 14, 2020 Share Posted August 14, 2020 Please refer https://hub.vive.com/storage/docs/en-us/UnitySDKCoexistence.html?highlight=oculus#the-androidmanifest-xml-location Does this solve your problem? Thanks. Link to comment Share on other sites More sharing options...
mobfish_cai Posted August 14, 2020 Author Share Posted August 14, 2020 I can't answer early because: You have reached the maximum number of posts you can make per day. I believe 3 posts per day is way tooo low. Regards to the issue, no, this doesn't solve the problem. - I'm talking about the new "Unity XR Plugin", not "Legacy Wave VR Unity Plugin" - By default, "Assets/WaveVR/Platform/Android/Customize" this path doesn't exist. - in the package contains this class: "CustomBuildProcessor", the subclass "private class CustomPostprocessor : IPostprocessBuildWithReport" already indicated, that this plugin will delete android manifest, which will result the issue I noted in the first post. So my request is, don't delete exist android manifest or overwrite it. Write it in your document that this specific android manifest is required to do a successful build. Or alternatively, you can use "IPostGenerateGradleAndroidProject" to change gradle after gradle project output. Link to comment Share on other sites More sharing options...
Sean Lu Posted August 17, 2020 Share Posted August 17, 2020 Hi mobfish_cai, Thanks for your feedback. We will not delete exist android manifest or overwrite it in next version. Currently, you can changed the code at Library\PackageCache\com.htc.upm.wave.xrsdk@1.0.0\Editor\WaveXRBuildCheck.cs as below namespace Wave.XR.BuildCheck { static class CustomBuildProcessor { const string AndroidManifestPathSrc = "Packages/com.htc.upm.wave.xrsdk/Runtime/Android/AndroidManifest.xml"; const string AndroidManifestPathDest = "Assets/Plugins/Android/AndroidManifest.xml"; static bool isAndroidManifestPathDestExisted = false; static void CopyAndroidManifest() { const string PluginAndroidPath = "Assets/Plugins/Android"; if (!Directory.Exists(PluginAndroidPath)) Directory.CreateDirectory(PluginAndroidPath); isAndroidManifestPathDestExisted = File.Exists(AndroidManifestPathDest ); if (File.Exists(AndroidManifestPathSrc)) File.Copy(AndroidManifestPathSrc, AndroidManifestPathDest, false); // not to overwrite existed AndroidManifest.xml } ... private class CustomPostprocessor : IPostprocessBuildWithReport { public int callbackOrder { get { return 0; } } public void OnPostprocessBuild(BuildReport report) { if (report.summary.platform == BuildTarget.Android && CheckIsBuildingWave()) { if (!isAndroidManifestPathDestExisted) // not to delete existed AndroidManifest.xml DelAndroidManifest(); } } } } Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now