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
AvatarRoot API: Non-VRChat avatar support in VRCSDK projects #71
base: main
Are you sure you want to change the base?
Conversation
Hmm. To resolve the compatibility issue, I think I'd prefer to have plugins declare what environments they're compatible with (with "vrchat" being the default). Let me noodle on this a bit and add that API first, before merging this. |
This will also need tests in a UniVRM environment... I'll have to look into auto-importing unitypackages. |
I think we should use upm version of univrm for testing since this pr expects upm version of univrm, not unitypackage one. |
If ndmf is going to be aware of environments, perhaps we can warn if VRM version defines are not defined but installation is detected through |
Sorry for the lack of replies - I haven't been able to do much development on NDMF/MA over the past few weeks. I'll hopefully be able to spend some more time on it in December. |
Thoughts for this issue: Theoretically, there may be three types of avatar setup when we want to create an avatar for VRC and VRM. Setup as separate avatars
Pros: Currently available. Conversion plugin
Pros: Easy. Universal avatar
Pros: Possible. Proof of concept ( docs_ja component ndmf pass ) |
f724bbe
to
c26e478
Compare
d9775df
to
8e71646
Compare
8e71646
to
c34d56c
Compare
c34d56c
to
0e5efef
Compare
Resolves #68, with avatar root detection logic described in the issue.
This is a potentially breaking change for VRCSDK + UniVRM environment. Current Non-VRChat avatar support (implemented in #34) is meant to not break existing NDMF plugins, which targets VRChat avatars only, in all projects including VRCSDK + UniVRM setup. This PR is the breaking part.
Explanation: VRM avatars were not AvatarRoots but would be. NDMF plugins expecting VRChat avatars may try to process VRM avatars, which would fail because VRCAvatarDescriptor does not exist. VRCSDK + UniVRM environment can be created using legacy UniVRM (0.99.4). info
User mitigation: Remove all VRM avatars, or all
VRMMeta
/Vrm10Instance
components, when using VRChat only NDMF plugins in hybrid projects.