diff --git a/Source/Tools/Flax.Build/Bindings/BindingsGenerator.CSharp.cs b/Source/Tools/Flax.Build/Bindings/BindingsGenerator.CSharp.cs index 3d261e599..3e99e3d7a 100644 --- a/Source/Tools/Flax.Build/Bindings/BindingsGenerator.CSharp.cs +++ b/Source/Tools/Flax.Build/Bindings/BindingsGenerator.CSharp.cs @@ -47,6 +47,7 @@ namespace Flax.Build.Bindings { "VariantType", "System.Type" }, // Mono types + { "MObject", "object" }, { "MonoObject", "object" }, { "MonoReflectionType", "System.Type" }, { "MonoType", "IntPtr" }, diff --git a/Source/Tools/Flax.Build/Bindings/BindingsGenerator.Parsing.cs b/Source/Tools/Flax.Build/Bindings/BindingsGenerator.Parsing.cs index ee234d218..338f86a64 100644 --- a/Source/Tools/Flax.Build/Bindings/BindingsGenerator.Parsing.cs +++ b/Source/Tools/Flax.Build/Bindings/BindingsGenerator.Parsing.cs @@ -324,6 +324,11 @@ namespace Flax.Build.Bindings // Read parameter type and name currentParam.Type = ParseType(ref context); currentParam.Name = context.Tokenizer.ExpectToken(TokenType.Identifier).Value; + if (currentParam.IsOut && (currentParam.Type.IsPtr || currentParam.Type.IsRef) && currentParam.Type.Type.EndsWith("*")) + { + // Pointer to value passed as output pointer + currentParam.Type.Type = currentParam.Type.Type.Remove(currentParam.Type.Type.Length - 1); + } // Read what's next token = context.Tokenizer.NextToken();