public double ComplexFunc(Param1 p1, ref int p2, out string p3, Action luafunc, out Action csfunc) { Debug.Log("P1 = {x=" + p1.x + ",y=" + p1.y + "},p2 = "+ p2); luafunc(); p2 = p2 * p1.x; p3 = "hello " + p1.y; csfunc = () => { Debug.Log("csharp callback invoked!"); }; return 1.23; }