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

Which version of Unity does Holisitc work with? #1322

Open
yosun opened this issue Jan 30, 2025 · 9 comments
Open

Which version of Unity does Holisitc work with? #1322

yosun opened this issue Jan 30, 2025 · 9 comments
Labels
type:bug Something isn't working

Comments

@yosun
Copy link

yosun commented Jan 30, 2025

Plugin Version or Commit ID

0.15.0

Unity Version

6000.0.33f1

Your Host OS

macOS Sequoia

Target Platform

Mac Standalone, UnityEditor

Target Device

Macbook Pro m3max

[Windows Only] Visual Studio C++ and Windows SDK Version

Packages/com.github.homuler.mediapipe/Runtime/Scripts/Tasks/Vision/HolisticLandmarker/HolisticLandmarkerResult.cs(84,26): error CS1061: 'Landmarks' does not contain a definition for 'CloneTo' and no accessible extension method 'CloneTo' accepting a first argument of type 'Landmarks' could be found (are you missing a using directive or an assembly reference?)

[Linux Only] GCC/G++ and GLIBC Version

No response

[Android Only] Android Build Tools and NDK Version

No response

[iOS Only] XCode Version

No response

Build Command

unity editor play

Bug Description

unity editro play

Steps to Reproduce the Bug

Download this example and open and download and open unitypackage

Log

Packages/com.github.homuler.mediapipe/Runtime/Scripts/Tasks/Components/Containers/PacketExtension.cs(42,12): error CS0121: The call is ambiguous between the following methods or properties: 'NativeLandmarksArrayExtension.FillWith(List, NativeClassificationResultArray)' and 'NativeContainerArrayExtension.FillWith(List, NativeClassificationResultArray)'

Packages/com.github.homuler.mediapipe/Runtime/Scripts/Tasks/Components/Containers/PacketExtension.cs(52,12): error CS0121: The call is ambiguous between the following methods or properties: 'NativeLandmarksArrayExtension.FillWith(List, NativeLandmarksArray)' and 'NativeContainerArrayExtension.FillWith(List, NativeLandmarksArray)'

Packages/com.github.homuler.mediapipe/Runtime/Scripts/Tasks/Components/Containers/PacketExtension.cs(62,12): error CS0121: The call is ambiguous between the following methods or properties: 'NativeLandmarksArrayExtension.FillWith(List, NativeNormalizedLandmarksArray)' and 'NativeContainerArrayExtension.FillWith(List, NativeNormalizedLandmarksArray)'

Packages/com.github.homuler.mediapipe/Runtime/Scripts/Tasks/Components/Containers/ListExtension.cs(21,11): error CS1061: 'Classifications' does not contain a definition for 'CloneTo' and no accessible extension method 'CloneTo' accepting a first argument of type 'Classifications' could be found (are you missing a using directive or an assembly reference?)

Packages/com.github.homuler.mediapipe/Runtime/Scripts/Tasks/Components/Containers/ListExtension.cs(34,11): error CS1061: 'Detection' does not contain a definition for 'CloneTo' and no accessible extension method 'CloneTo' accepting a first argument of type 'Detection' could be found (are you missing a using directive or an assembly reference?)

Packages/com.github.homuler.mediapipe/Runtime/Scripts/Tasks/Components/Containers/ListExtension.cs(47,11): error CS1061: 'Landmarks' does not contain a definition for 'CloneTo' and no accessible extension method 'CloneTo' accepting a first argument of type 'Landmarks' could be found (are you missing a using directive or an assembly reference?)

Packages/com.github.homuler.mediapipe/Runtime/Scripts/Tasks/Components/Containers/ListExtension.cs(60,11): error CS1061: 'NormalizedLandmarks' does not contain a definition for 'CloneTo' and no accessible extension method 'CloneTo' accepting a first argument of type 'NormalizedLandmarks' could be found (are you missing a using directive or an assembly reference?)

Packages/com.github.homuler.mediapipe/Runtime/Scripts/Tasks/Vision/HolisticLandmarker/HolisticLandmarkerResult.cs(78,21): error CS1061: 'NormalizedLandmarks' does not contain a definition for 'CloneTo' and no accessible extension method 'CloneTo' accepting a first argument of type 'NormalizedLandmarks' could be found (are you missing a using directive or an assembly reference?)

Packages/com.github.homuler.mediapipe/Runtime/Scripts/Tasks/Vision/HolisticLandmarker/HolisticLandmarkerResult.cs(81,21): error CS1061: 'NormalizedLandmarks' does not contain a definition for 'CloneTo' and no accessible extension method 'CloneTo' accepting a first argument of type 'NormalizedLandmarks' could be found (are you missing a using directive or an assembly reference?)

Packages/com.github.homuler.mediapipe/Runtime/Scripts/Tasks/Vision/HolisticLandmarker/HolisticLandmarkerResult.cs(84,26): error CS1061: 'Landmarks' does not contain a definition for 'CloneTo' and no accessible extension method 'CloneTo' accepting a first argument of type 'Landmarks' could be found (are you missing a using directive or an assembly reference?)

Packages/com.github.homuler.mediapipe/Runtime/Scripts/Tasks/Vision/HolisticLandmarker/HolisticLandmarkerResult.cs(87,25): error CS1061: 'NormalizedLandmarks' does not contain a definition for 'CloneTo' and no accessible extension method 'CloneTo' accepting a first argument of type 'NormalizedLandmarks' could be found (are you missing a using directive or an assembly reference?)

Packages/com.github.homuler.mediapipe/Runtime/Scripts/Tasks/Vision/HolisticLandmarker/HolisticLandmarkerResult.cs(90,30): error CS1061: 'Landmarks' does not contain a definition for 'CloneTo' and no accessible extension method 'CloneTo' accepting a first argument of type 'Landmarks' could be found (are you missing a using directive or an assembly reference?)

Packages/com.github.homuler.mediapipe/Runtime/Scripts/Tasks/Vision/HolisticLandmarker/HolisticLandmarkerResult.cs(93,26): error CS1061: 'NormalizedLandmarks' does not contain a definition for 'CloneTo' and no accessible extension method 'CloneTo' accepting a first argument of type 'NormalizedLandmarks' could be found (are you missing a using directive or an assembly reference?)

Packages/com.github.homuler.mediapipe/Runtime/Scripts/Tasks/Vision/HolisticLandmarker/HolisticLandmarkerResult.cs(96,31): error CS1061: 'Landmarks' does not contain a definition for 'CloneTo' and no accessible extension method 'CloneTo' accepting a first argument of type 'Landmarks' could be found (are you missing a using directive or an assembly reference?)

Packages/com.github.homuler.mediapipe/Runtime/Scripts/Tasks/Vision/HolisticLandmarker/HolisticLandmarkerResult.cs(99,23): error CS1061: 'Classifications' does not contain a definition for 'CloneTo' and no accessible extension method 'CloneTo' accepting a first argument of type 'Classifications' could be found (are you missing a using directive or an assembly reference?)

Packages/com.github.homuler.mediapipe/Runtime/Scripts/Tasks/Vision/HolisticLandmarker/HolisticLandmarker.cs(282,27): error CS0315: The type 'Mediapipe.Tasks.Components.Containers.NormalizedLandmarks' cannot be used as type parameter 'T' in the generic type or method 'PacketGetterExtension.Get(Packet, MessageParser)'. There is no boxing conversion from 'Mediapipe.Tasks.Components.Containers.NormalizedLandmarks' to 'Google.Protobuf.IMessage<Mediapipe.Tasks.Components.Containers.NormalizedLandmarks>'.

Packages/com.github.homuler.mediapipe/Runtime/Scripts/Tasks/Vision/HolisticLandmarker/HolisticLandmarker.cs(286,32): error CS0315: The type 'Mediapipe.Tasks.Components.Containers.Landmarks' cannot be used as type parameter 'T' in the generic type or method 'PacketGetterExtension.Get(Packet, MessageParser)'. There is no boxing conversion from 'Mediapipe.Tasks.Components.Containers.Landmarks' to 'Google.Protobuf.IMessage<Mediapipe.Tasks.Components.Containers.Landmarks>'.

Packages/com.github.homuler.mediapipe/Runtime/Scripts/Tasks/Vision/HolisticLandmarker/HolisticLandmarker.cs(296,29): error CS0315: The type 'Mediapipe.Tasks.Components.Containers.NormalizedLandmarks' cannot be used as type parameter 'T' in the generic type or method 'PacketGetterExtension.Get(Packet, MessageParser)'. There is no boxing conversion from 'Mediapipe.Tasks.Components.Containers.NormalizedLandmarks' to 'Google.Protobuf.IMessage<Mediapipe.Tasks.Components.Containers.NormalizedLandmarks>'.

Packages/com.github.homuler.mediapipe/Runtime/Scripts/Tasks/Vision/HolisticLandmarker/HolisticLandmarker.cs(307,33): error CS0315: The type 'Mediapipe.Tasks.Components.Containers.NormalizedLandmarks' cannot be used as type parameter 'T' in the generic type or method 'PacketGetterExtension.Get(Packet, MessageParser)'. There is no boxing conversion from 'Mediapipe.Tasks.Components.Containers.NormalizedLandmarks' to 'Google.Protobuf.IMessage<Mediapipe.Tasks.Components.Containers.NormalizedLandmarks>'.

Packages/com.github.homuler.mediapipe/Runtime/Scripts/Tasks/Vision/HolisticLandmarker/HolisticLandmarker.cs(318,38): error CS0315: The type 'Mediapipe.Tasks.Components.Containers.Landmarks' cannot be used as type parameter 'T' in the generic type or method 'PacketGetterExtension.Get(Packet, MessageParser)'. There is no boxing conversion from 'Mediapipe.Tasks.Components.Containers.Landmarks' to 'Google.Protobuf.IMessage<Mediapipe.Tasks.Components.Containers.Landmarks>'.

Packages/com.github.homuler.mediapipe/Runtime/Scripts/Tasks/Vision/HolisticLandmarker/HolisticLandmarker.cs(329,34): error CS0315: The type 'Mediapipe.Tasks.Components.Containers.NormalizedLandmarks' cannot be used as type parameter 'T' in the generic type or method 'PacketGetterExtension.Get(Packet, MessageParser)'. There is no boxing conversion from 'Mediapipe.Tasks.Components.Containers.NormalizedLandmarks' to 'Google.Protobuf.IMessage<Mediapipe.Tasks.Components.Containers.NormalizedLandmarks>'.

Packages/com.github.homuler.mediapipe/Runtime/Scripts/Tasks/Vision/HolisticLandmarker/HolisticLandmarker.cs(340,39): error CS0315: The type 'Mediapipe.Tasks.Components.Containers.Landmarks' cannot be used as type parameter 'T' in the generic type or method 'PacketGetterExtension.Get(Packet, MessageParser)'. There is no boxing conversion from 'Mediapipe.Tasks.Components.Containers.Landmarks' to 'Google.Protobuf.IMessage<Mediapipe.Tasks.Components.Containers.Landmarks>'.

Packages/com.github.homuler.mediapipe/Runtime/Scripts/Tasks/Vision/HolisticLandmarker/HolisticLandmarker.cs(345,29): error CS0315: The type 'Mediapipe.Tasks.Components.Containers.Classifications' cannot be used as type parameter 'T' in the generic type or method 'PacketGetterExtension.Get(Packet, MessageParser)'. There is no boxing conversion from 'Mediapipe.Tasks.Components.Containers.Classifications' to 'Google.Protobuf.IMessage<Mediapipe.Tasks.Components.Containers.Classifications>'.

Screenshot/Video

No response

Additional Context

No response

@yosun yosun added the type:bug Something isn't working label Jan 30, 2025
@homuler
Copy link
Owner

homuler commented Jan 30, 2025

Download this example and open and download and open unitypackage

I’m not sure what operations you performed, but what exactly would you like to do?
At the very least, cloning the latest version of the repository shouldn't result in the error you reported.

@yosun
Copy link
Author

yosun commented Jan 30, 2025

Cloning the repo itself does not include all the missing libraries, so I grabbed your unitypackage

After that for some reason all the holistic files do not work - and all the errors above.

Perhaps a Unity version issue? Which version of Unity should I be using this with?

@homuler
Copy link
Owner

homuler commented Jan 30, 2025

Since builds are regularly executed with the latest master, downloading the latest results (package-src-all) would likely best suit your purpose.

First of all, this project naturally includes the source code of the package, so importing the package into this project may cause conflicts with the source code, preventing it from functioning properly. Even if you were to only import the library (e.g. *.so files), the state of the repository has likely been updated since those libraries were built (commit hashes don't match), so it generally won't work correctly.

If you want to use the latest code from the repository, you need to build the library yourself (you can use GitHub Actions workflow).
However, since builds are executed periodically, you can also take advantage of those pre-built results.

@yosun
Copy link
Author

yosun commented Jan 30, 2025 via email

@homuler
Copy link
Owner

homuler commented Jan 30, 2025

Since builds are regularly executed with the latest master, downloading the latest results (package-src-all) would likely best suit your purpose.

I mean you should try downloaing package-src-all from https://github.com/homuler/MediaPipeUnityPlugin/actions/runs/13030873197

@yosun
Copy link
Author

yosun commented Jan 30, 2025

ah okay - that worked

do you have a face landmarker example with blendshapes similar to 36927988

@homuler
Copy link
Owner

homuler commented Jan 30, 2025

No.

@yosun
Copy link
Author

yosun commented Jan 30, 2025

I feel like as industry standardized examples it would be nice to feature match what mediapipe releases and in this case they have a blendshapes example, so can I add this to the To-Do list?

(Also feature parity for Unity ARFoundation examples - which also includes blendshapes)

@homuler
Copy link
Owner

homuler commented Jan 31, 2025

Please create a feature request issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type:bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants