/// <summary>
        /// creates a variable-container node
        /// </summary>
        /// <param name="graph"></param>
        /// <param name="var"></param>
        /// <param name="isInput"></param>
        /// <param name="pos"></param>
        /// <returns></returns>
        public static VarNode CreateNode(NodeGraph graph, Variable var, bool isInput, Vector2 pos)
        {
            VarNode res = ScriptableObject.CreateInstance <VarNode>();

            res.Initialize();
            res.Construct(var, isInput);
            InitNode(res, graph, pos);

            return(res);
        }