NCMBでオブジェクトのACLを変更

NCMBのユーザでなくオブジェクトのACLを変更する手順

動作したスクリプトを抜粋してるので動作確認無しです

NCMBUser user;
	string acltest;
	// Use this for initialization
	void Start () {
		user = NCMBUser.CurrentUser;
		string userName = user.UserName;

		//UserTypeフィールドにsuperの入っているユーザを検索してListに入れる
		NCMBQuery<NCMBUser> query = NCMBUser.GetQuery ();
		query.WhereEqualTo ("userType", "super");
		query.FindAsync ((List<NCMBUser> userList , NCMBException e) => {
			if (e != null) {
				UnityEngine.Debug.Log ("失敗 : " + e.Message);
			} else {
				foreach (NCMBUser users in userList) {
					pairUsers.Add(users.UserName.ToString());//SUの名前をリストに入れる
				}//foreachここまで
				acltest = userList[0].ObjectId.ToString();
			}
		});
		getuserlist();

	}


	void getuserlist(){
		string userName = user.UserName;
		NCMBQuery<NCMBObject> query2 = new NCMBQuery<NCMBObject> ("testobj");
		query2.WhereEqualTo ("player", userName);//Playerがusernameの結果を検索
		query2.FindAsync ((List<NCMBObject> objList ,NCMBException e) => {
			if (e != null) {
				//検索失敗時の処理
				Debug.Log("e");
				return;
			} else {
				if ( objList == null || objList.Count == 0 ){
					Debug.Log("e");
					return;
				}
				Debug.Log(objList.Count);
				int po = 0;

				foreach (NCMBObject objdata in objList) {//ne
					var acl = objdata.ACL;//ACL書き換え準備
					//読み込み権限全close
					acl.PublicReadAccess = false;
					//書き込み権限を全close
					acl.PublicWriteAccess = false;

					//userNameきっかけで読み書きアクセスお追加する
					acl.SetWriteAccess (user.ObjectId.ToString(), true);
					acl.SetReadAccess (user.ObjectId.ToString(), true);

					//他の方へのアクセス許可用
					acl.SetReadAccess (acltest, true);

					objdata.ACL = acl;//保存準備
					objdata.SaveAsync ((NCMBException z) => {      
						if (z != null) {
							//エラー処理

						} else {
							//成功時の処理
							Debug.Log(acltest);
							//objdata.ACL = acl;
							Debug.Log("good");//送信成功の意味

						}                   
					});
				}//for eachここまで

			}
		});
}