diff --git a/Source/Editor/Scripting/ScriptType.cs b/Source/Editor/Scripting/ScriptType.cs index aa0ca5655..d174b7dff 100644 --- a/Source/Editor/Scripting/ScriptType.cs +++ b/Source/Editor/Scripting/ScriptType.cs @@ -832,7 +832,7 @@ namespace FlaxEditor.Scripting get { if (_managed != null) - return _managed.GetConstructor(Type.EmptyTypes) != null; + return _managed.GetConstructor(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance, null, Type.EmptyTypes, null) != null; return _custom?.CanCreateInstance ?? false; } } @@ -892,7 +892,12 @@ namespace FlaxEditor.Scripting public object CreateInstance() { if (_managed != null) - return Activator.CreateInstance(_managed); + { + var ctor = _managed.GetConstructor(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance, null, Type.EmptyTypes, null); + object value = RuntimeHelpers.GetUninitializedObject(_managed); + ctor.Invoke(value, null); + return value; + } return _custom.CreateInstance(); }