Open merlin1277 opened 4 years ago
It looks like the code generator isn't finding the method because it's generic so it's types are T
instead of Object
. I'd happily accept a PR with a fix.
simple workaround : Set ParamTypes to ["UnityEngine.T"], however UnityEngine.T does not seem appropriate.
I found a new problem with Instantiate. ex)
GameObject a = GameObject::CreatePrimitive(PrimitiveType::Sphere);
a.AddComponent<MyGame::BaseBallScript>();
GameObject b = UnityEngine::Object::Instantiate<UnityEngine::GameObject>(a);
b instantiated with a BaseBallScript, but b's BaseBallScript.transform.GetInstanceID() will be return a's InstanceID. a will move 2x faster, b doesn't move.
root cause : a's CppHandle value also copied to b's when using Instantiate method. It's ok while calling base constructor, but between base constructor to Awake, CppHandle value overwritten to original's.
Hello,
Generate bindings breaks when trying to generate the binding for a "method<>(args)", it works well with "method<>()".
it doesnt find a matching method . the c# method is public static T Instantiate<>(T original) where T : Object; , on the UnityEngine.Object type;
Thank you for helping ,
Regards,
Merlin