.. _gui: GUI === Arcade's GUI module provides you classes to interact with the user using buttons, labels and much more. Behind the scenes the GUI uses a different rendering system than the rest of the engine. The GUI is especially designed to allow resizing and scaling of the widgets, which can cause problems with the normal rendering system. Usage examples are listed under :ref:`gui_examples_overview`. We recommend to read the :ref:`gui_concepts`, to get a better understanding of the GUI module and its components. **Learning Steps**: - **1 - starting**: Learn about UIManager, widgets like UIFlatButton and layouts like UIAnchorLayout and UIBoxLayout. Create your first button. - **2 - intermediate**: Learn more about size_hints and how to nest different layouts. - **3 - advanced**: Learn how to create your own custom widgets. - **4 - expert**: Create your own layouts supporting non standard positioning and animations. **Note**: Contribution and feedback of all skill levels is welcome. Please connect with us on Discord or GitHub. Find the required information in the following sections: .. toctree:: :maxdepth: 2 concepts layouts style own_widgets own_layout controller_support