Skip to content

Commit 600e754

Browse files
authored
Update README.md
1 parent 66386b7 commit 600e754

1 file changed

Lines changed: 3 additions & 4 deletions

File tree

README.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ Tool created mainly to solve old problem with reloading [native plugins](https:/
99
- Ability to log native calls to file in order to diagnose crashes caused by them
1010

1111
## 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`).
1313

1414
2. In project settings, set _Api Compatibility Level_ to .NET 4.x or above.
1515
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:/
2424

2525
## Usage
2626
- 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).
2828
- 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).
2929
- Options are accessible via `DllManipulatorScript` editor or window.
3030
- Although this tool presumably works in builded game, it's intended to be used in editor.
3131

3232
## Limitations
33-
- [Low level callbacks](https://docs.unity3d.com/Manual/NativePluginInterface.html) such as `UnityPluginLoad` are not supported (right now).
3433
- Marshaling parameter attributes other than `[MarshalAs]`, `[In]` and `[Out]` are not supported.
3534
- Properties `MarshalCookie`, `MarshalType`, `MarshalTypeRef` and `SafeArrayUserDefinedSubType` on `[MarshalAs]` attribute are not supported (due to [Mono bug](https://github.com/mono/mono/issues/12747)).
3635
- 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.
3736
- 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.
3938
- Threads that execute past `OnApplicationQuit` event are not-very-well handled (usualy not something to worry about).
4039

4140
## Preformance

0 commit comments

Comments
 (0)