A control system, comprising: a development assistance device; and a controller configured to communicate with the development assistance device, wherein: a development tool configured to develop a user program for controlling the controller is installable in the development assistance device, the user program including one or more variables belonging to a predetermined namespace, and the development tool is configured to accept, for the namespace, a publishing setting for determining whether to collectively publish the one or more variables belonging to the namespace to an external device that is communicatively connectable to the controller; and the controller includes a program execution unit configured to control a drive device to be controlled in accordance with the user program received from the development assistance device, and update the one or more variables belonging to the namespace in accordance with an execution result of the user program, characterized in that a publishing setting unit configured to collectively publish the one or more variables belonging to the namespace to the external device in a case where the publishing setting received from the development assistance device indicates "publish", the development tool is configured to set the publishing setting for each variable belonging to the namespace and reflect the publishing setting for the namespace as an initial value in the publishing setting for the variable, and the publishing setting unit configured to determine whether to publish the variable belonging to the namespace to the external device by prioritizing the publishing setting for the variable over the publishing setting for the namespace. a development assistance device; and a controller configured to communicate with the development assistance device, wherein: a development tool configured to develop a user program for controlling the controller is installable in the development assistance device, the user program including one or more variables belonging to a predetermined namespace, and the development tool is configured to accept, for the namespace, a publishing setting for determining whether to collectively publish the one or more variables belonging to the namespace to an external device that is communicatively connectable to the controller; and the controller includes a program execution unit configured to control a drive device to be controlled in accordance with the user program received from the development assistance device, and update the one or more variables belonging to the namespace in accordance with an execution result of the user program, characterized in that a publishing setting unit configured to collectively publish the one or more variables belonging to the namespace to the external device in a case where the publishing setting received from the development assistance device indicates "publish", the development tool is configured to set the publishing setting for each variable belonging to the namespace and reflect the publishing setting for the namespace as an initial value in the publishing setting for the variable, and the publishing setting unit configured to determine whether to publish the variable belonging to the namespace to the external device by prioritizing the publishing setting for the variable over the publishing setting for the namespace. a development tool configured to develop a user program for controlling the controller is installable in the development assistance device, the user program including one or more variables belonging to a predetermined namespace, and the development tool is configured to accept, for the namespace, a publishing setting for determining whether to collectively publish the one or more variables belonging to the namespace to an external device that is communicatively connectable to the controller; and the controller includes a program execution unit configured to control a drive device to be controlled in accordance with the user program received from the development assistance device, and update the one or more variables belonging to the namespace in accordance with an execution result of the user program, characterized in that a publishing setting unit configured to collectively publish the one or more variables belonging to the namespace to the external device in a case where the publishing setting received from the development assistance device indicates "publish", the development tool is configured to set the publishing setting for each variable belonging to the namespace and reflect the publishing setting for the namespace as an initial value in the publishing setting for the variable, and the publishing setting unit configured to determine whether to publish the variable belonging to the namespace to the external device by prioritizing the publishing setting for the variable over the publishing setting for the namespace.