---
title: "GameMaker Language"
source: "manual.gamemaker.io/monthly/en/GameMaker_Language.htm"
converted: "2025-09-14T04:00:11.711Z"
---
# GameMaker Language
You can use GameMaker Language to program your games in two different ways: by placing blocks to "write" code visually, or by writing code manually.
The first option, [GML Visual](Drag_And_Drop/Drag_And_Drop_Index.md), is best suited for beginners and hobbyists who want to get started making their own games quickly.
The second option, [GML Code](GameMaker_Language/GameMaker_Language_Index.md), allows you to harness the full power of GameMaker Language by writing your code manually.
While GML Visual is easier to start with, GML Code is still an easy-to-use programming language with powerful features ([Functions](GameMaker_Language/GML_Overview/Script_Functions.md), [Methods](GameMaker_Language/GML_Overview/Method_Variables.md), [Structs & Constructors](GameMaker_Language/GML_Overview/Structs.md), etc.).
## Creating Visual/Code Scripts
You are asked to choose between GML Code and GML Visual on creating a new Object event, a new Script asset, or anything else that results in the creation of a script:
In addition to the choice between GML Code and GML Visual, this window contains two checkboxes:
- **Don't ask again for this project**: When this is enabled, it sets the "Default scripting language" [Game Option](Settings/Game_Options.md) to your new selection, so you are not asked to choose again for the current project.
- **Don't ask again ever**: When this is enabled, it sets the "Default scripting language" [Preference](Setting_Up_And_Version_Information/IDE_Preferences/Language_Preferences.md) to your new selection, so you are never asked to choose again, for _any_ projects.
## GML Visual
This is GameMaker's **Visual Scripting** method that uses blocks of _actions_ which are chained together to create your game's logic. The following sections explain how to use these actions:
- [GML Visual Overview](Drag_And_Drop/Drag_And_Drop_Overview/DnD_Overview.md)
- [GML Visual Reference](Drag_And_Drop/Drag_And_Drop_Reference/DnD_Reference.md)
## GML Code
Write GML code using functions, variables and other coding constructs, and create your game's logic. The following sections explain how to code using GML:
- [GML Code Overview](GameMaker_Language/GML_Overview/GML_Overview.md)
- [GML Code Reference](GameMaker_Language/GML_Reference/GML_Reference.md)