Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: fix #412 #622 iOS resolver reference when iOS module not installed #714

Open
wants to merge 8 commits into
base: master
Choose a base branch
from

Conversation

StephenHodgson
Copy link

@StephenHodgson StephenHodgson commented Oct 25, 2024

Fixes

Assembly 'Packages/com.google.external-dependency-manager/ExternalDependencyManager/Editor/1.2.183/Google.IOSResolver.dll' will not be loaded due to errors:
Unable to resolve reference 'UnityEditor.iOS.Extensions.Xcode'. Is the assembly missing or incompatible with the current platform?
Reference validation can be disabled in the Plugin Inspector.

Invalid when platform is not set to IOS or module not installed

image

Valid when platform is set to IOS

image

CC @a-maurice, @chkuang-g

…alled

- updated export_unity_package_config.json and split the ExternalDependencyManager/Editor/*/Google.IOSResolver.* into its own definition, adding defineConstraints UNITY_EDITOR and UNITY_IOS
@StephenHodgson StephenHodgson changed the title chore: fix #412 iOS resolver reference when iOS module not installed chore: fix #412 #622 iOS resolver reference when iOS module not installed Oct 25, 2024
added defineConstraints to AssetConfiguration in export_unity_package.py
added unit tests for defineConstraints in export_unity_package_test.py
@StephenHodgson StephenHodgson marked this pull request as draft October 30, 2024 16:02
@StephenHodgson StephenHodgson marked this pull request as ready for review February 14, 2025 01:38
@f1yingbanana
Copy link
Contributor

This looks good, I'll try and get it reviewed :)

@a-maurice
Copy link
Collaborator

Thanks for sending this, and diving into the export_unity_package script! At a first glance it seems good, but I'll want to spend some time testing it with different install configurations to make sure it doesn't cause any issues, which might take a little bit of time. But I'll try to get to it when I can!

@StephenHodgson
Copy link
Author

@a-maurice feel free to push any changes or remake this PR as needed :)

@Sairony
Copy link

Sairony commented Mar 9, 2025

Is it possible to get this change in some way without building locally from latest source? We have https://github.com/googlesamples/unity-jar-resolver.git?path=upm added as an dependency in unity per instructions, but this I presume just gets the latest release, which currently doesn't seem to contain this fix. Since the files lives inside the package folder using this method, which we very much prefer from having it live in the Assets/ folder, we can't modify served file locally to fix it manually. As such this issue is preventing any build from succeeding for us in Unity 6.

@StephenHodgson
Copy link
Author

StephenHodgson commented Mar 10, 2025

which we very much prefer from having it live in the Assets/ folder.

I disagree. We definitely don't want it assets folder. It properly belongs in packages since it is external. Downloaded as .unitypackage it makes sense to be in assets folder.

@Sairony
Copy link

Sairony commented Mar 10, 2025

which we very much prefer from having it live in the Assets/ folder.

I disagree. We definitely don't want it assets folder. It properly belongs in packages since it is external. Downloaded as .unitypackage it makes sense to be in assets folder.

That's what I'm saying, English isn't my first language but yes, I want all plugins out of the Asset folder, because we want to disable for example the google play plugin entirely for build targets where it isn't relevant, which is impossible if it's in the Assets folder.

@StephenHodgson
Copy link
Author

That's what I'm saying, English isn't my first language but yes, I want all plugins out of the Asset folder, because we want to disable for example the google play plugin entirely for build targets where it isn't relevant, which is impossible if it's in the Assets folder.

Then just unzip the .tar packages and do local embed. But tbh the way it is currently setup is IMHO the best and correct way to package this type of asset. That isn't gonna ever change.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
5 participants