You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+3-4Lines changed: 3 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,7 +9,7 @@ Tool created mainly to solve old problem with reloading [native plugins](https:/
9
9
- Ability to log native calls to file in order to diagnose crashes caused by them
10
10
11
11
## Instalation
12
-
1. Download and add unity package from [releases](https://github.com/MCpiroman/UnityNativeTool/releases).
12
+
1. Download and add unity package from [releases](https://github.com/MCpiroman/UnityNativeTool/releases), or clone this repo to your project (note that if you don't use the prebuilt package and you're willing to use [low level interface callbacks](https://docs.unity3d.com/Manual/NativePluginInterface.html), you'll need to compile the stub plugin yourself form `stubLluiPlugin.c`).
13
13
14
14
2. In project settings, set _Api Compatibility Level_ to .NET 4.x or above.
15
15
Edit > Project Settings > Player > Other Settings > Api Compatibility Level
@@ -24,18 +24,17 @@ Tool created mainly to solve old problem with reloading [native plugins](https:/
24
24
25
25
## Usage
26
26
- Your plugin files must be at path specified in options. By default, add __ (two underscores) at the beginning of your dll files in the Assets/Plugins folder (e.g. on Windows, plugin named `FastCalcs` should be at path `Assets\Plugins\__FastCalcs.dll`).
27
-
- By default, all native functions in main scripts assembly will be mocked (i.e. will be handled by this tool instead of Unity, which allows them to be unloaded). You can change this in options and use provided attributes to specify that by yourself (these are in `UnityNativeTool` namespace).
27
+
- By default, all native functions in main scripts assembly will be mocked (i.e. will be handled by this tool instead of Unity, which allows them to be unloaded). You can change this in options and use provided attributes to specify that yourself (these are in `UnityNativeTool` namespace).
28
28
- If something is not working, first check out available options (and read their descriptions), then [report an issue](https://github.com/mcpiroman/UnityNativeTool/issues/new).
29
29
- Options are accessible via `DllManipulatorScript` editor or window.
30
30
- Although this tool presumably works in builded game, it's intended to be used in editor.
31
31
32
32
## Limitations
33
-
-[Low level callbacks](https://docs.unity3d.com/Manual/NativePluginInterface.html) such as `UnityPluginLoad` are not supported (right now).
34
33
- Marshaling parameter attributes other than `[MarshalAs]`, `[In]` and `[Out]` are not supported.
35
34
- Properties `MarshalCookie`, `MarshalType`, `MarshalTypeRef` and `SafeArrayUserDefinedSubType` on `[MarshalAs]` attribute are not supported (due to [Mono bug](https://github.com/mono/mono/issues/12747)).
36
35
- Explicitly specifying `UnmanagedType.LPArray` in `[MarshalAs]` is not supported (due to [another Mono bug](https://github.com/mono/mono/issues/16570)). Note that this should be default for array types, so in trivial situations you wouldn't need to use it.
37
36
- Properties `ExactSpelling` and `PreserveSig` on `[DllImport]` attribute are not supported (as if anyone uses them).
38
-
-`UnityRenderingExtEvent` and `UnityRenderingExtQuery` callbacks don't fire.
37
+
-`UnityRenderingExtEvent` and `UnityRenderingExtQuery`native callbacks don't fire.
39
38
- Threads that execute past `OnApplicationQuit` event are not-very-well handled (usualy not something to worry about).
0 commit comments