Library Wrapper Unity Common
Library Wrapper Unity Common provides shared library code for all C# wrappers generated by Google's Library Wrapper tool. It handles JNI interop, memory management, and callback implementation for Java APIs exposed in Unity. Required as a dependency for any package containing Library Wrapper-generated code.
com.google.librarywrapper.java 
Install via UPM
Add to Unity Package Manager using this URL
https://www.pkglnk.dev/java.git README Markdown
Copy this to your project's README.md
## Installation
Add **Library Wrapper Unity Common** to your Unity project via Package Manager:
1. Open **Window > Package Manager**
2. Click **+** > **Add package from git URL**
3. Enter:
```
https://www.pkglnk.dev/java.git
```
[](https://www.pkglnk.dev/pkg/java)Used By (2)
README
Library Wrapper Unity Common Library
Library Wrapper is a code generator that parses Java API and produces wrapper APIs in Unity C#. It does this by creating wrappers around every class in the Java API, handling the details of JNI calls, signatures, and memory management.
This Unity package contains library code shared by all Library Wrapper generated C# code. Every Unity package containing Library Wrapper generated code should list this package as a dependency.
Installation
This package can be installed with OpenUPM:
$ openupm add com.google.librarywrapper.java
This package can also be installed via the Unity Package Manager. See this guide for details.
This package can be installed by downloading this repo and extract its content
to your project's Packages/ folder
(embedded package).
How-tos
Converting to AndroidJavaObject
Sometimes, a method you want to call is missing from the wrapper object. You can get around this by converting the wrapper object to AndroidJavaObject and call it manually:
SomeExternalType objectWrapper; // Received from some method in your library.
AndroidJavaObject wrapper = Google.LibraryWrapper.Java.Utils.ToAndroidJavaObject(objectWrapper);
wrapper.Call("someMethod");
Implementing callbacks
Every wrapped Java interface can be implemented on the C# side and passed back into the Java side to receive callbacks. Every interface Foo will have an accompanying FooCallbackHelper. Extend the callback helper class and pass it back via the appropriate method.
For a sample interface in Java:
public interface Foo {
int add(int a, int b);
}
We can implement it like this in C#:
public FooImpl : FooCallbackHelper {
public int Add(int a, int b) {
return a + b;
}
}
Do not implement the interface directly.
No comments yet. Be the first!