QuadSpinner Gaea
Download GaeaTalk to Support
  • User Guide
  • Node Reference
  • Changelog
  • Home
  • Getting Started
    • Install Gaea
      • Regular Installation
      • Portable Installation
      • Mass Deployment
      • Troubleshooting
      • Version Numbers
      • Uninstall or Clean Install
    • License Management
      • Activation
      • Deactivation
      • Hardware Thumbprint
      • Floating License
    • User Interface
      • Graph
      • Viewport
        • Render Modes
        • 2D Viewport
        • Measurement Tools
      • Property Editor
        • Modifier Stack
        • Presets
        • Binding Variables
      • Data Editor
        • Terrain View
        • Export View
        • Automation View
      • Menus and Toolbars
        • Main Menu
        • Undo and Autosave
        • Graph Toolbar
        • Viewport Toolbar
        • Property Editor Toolbar
        • Data Editor Toolbar
      • Lazy Menu
      • Keyboard Shortcuts
    • The Graph
      • Procedural Workflow
      • Toolbox and Search
      • Lock Preview and Underlays
      • Suspending Engine
      • Graph Conveniences
      • Portals and Chokepoints
      • Organizing with Tabs
      • Annotations
      • Groups
    • Managing Gaea
      • Command-line Interface
      • Options
        • Compute
      • Autosave and Recovery
    • For Gaea 1 Users
      • Migration Guide
      • Node Changes
  • Using Gaea
    • Terrain Basics
      • Creating a Snow Mountain
      • Creating a Simple Landscape
      • Exporting Elements
      • Importing Meshes
      • Masks
      • Non-Determinism
      • Scale and Resolution
      • Memory Requirements
    • Crafting the Surface
      • Noises, Primitives, and Landscapes
      • Erosion
      • Surface Nodes
      • Transpose Shapes
    • Understanding Erosion
      • Erosion_2
      • Erosion_1
      • Thermal Erosion
      • Additional Erosion Nodes
      • Nuance
    • Simulations
      • Snowfall
      • Debris
      • Water
      • Vegetation
    • Colorizing and Textures
      • Crafting Masks
      • Working with SatMaps
      • Synthesizing Colors
      • Layering Textures
      • ColorErosion
    • Managing Graphs
      • Using Modifiers
      • Portals and Chokepoints
      • Visualizing Scale
      • Accumulators
      • Navigating Complex Graphs
    • Baking Nodes
      • Linchpin Nodes
    • Build and Export
      • Exporting Nodes
      • Build Options
        • Managing Regions
      • Tiled Builds
      • Using Regions
      • Profiles and Batch Builds
      • Batch Builds
      • Mesh Exports
        • Tangent-Space Normals and Warped Maps
      • Application Specific Export Nodes
        • Unreal Node
        • Unity Node
    • Importing Terrains
      • Universal Instructions
      • Software-specific Instructions
        • Unreal
      • Common Issues
  • Advanced Topics
    • Build Swarm
      • Creating Mutations
      • Build Reports
    • Technical Information
      • File Formats
      • Learning and Predictive System
      • Paths and Storage
      • Dimensions and Scale
      • Calculating Memory Requirements
    • Automation
      • Command Line Automation
      • Managing Input and Output
      • Building a Bridge with the CLI
  • Plugins
    • Gaea2Houdini
      • Installing Gaea2Houdini
      • Using Gaea Nodes
    • Gaea2Unreal
      • Installing Gaea2Unreal
      • Importing Terrains
      • Importing Weight Maps
  • Developers
    • Scripting and Expressions
      • Variables
      • Expressions
      • Math Node
    • TOR Platform SDK
  • Troubleshooting
    • Terrains
      • Common Errors
      • Terrain Quality
    • Diagnostics (Watson)
      • Diagnostics Package
      • CPU Only Mode
      • Benchmark Devices
Powered by GitBook
LogoLogo

Copyright © 2020-2025 QuadSpinner. All rights reserved.

On this page
  • Creating a Variable
  • Create an unbound variable
  • Creating a Variable from a Property
  • Binding Variables
  • Unbind a Property
  • Editing and Managing Variables
  • Editing Variables
  • Editing the User Interface
  • Deleting a Variable
  • Manipulating Variables from the Command Line
  1. Developers
  2. Scripting and Expressions

Variables

PreviousScripting and ExpressionsNextExpressions

Last updated 1 month ago

Variables provide a "token" you can store values into, confine them to specific ranges, and then bind one or more node properties to them. This gives you an external way to control a node, and even create a concerted set of changes based on a single variable.

Gaea supports Float (decimal), Int (whole number), Choice (dropdowns), Color, Range (float2), and String. There is an additional Undefined variable type for advanced use and error handling.

Creating a Variable

There are two ways to create variables: by creating a variable directly, or by creating one from a node property.

Create an unbound variable

Go to the Vars panel in the Data View, and use the Create Variable menu to create a variable.

This will create a variable with an automatically given name, and then bring up the Edit Variable dialog so you can rename the variable and modify its properties.

While you can choose to name your variables anything, it is highly recommended that you keep the names to filename friendly characters such as AZ/ az/ 0-9 and underscores. Avoid spaces whenever possible, and non ASCII characters.

This will ensure code safety and easy CLI automation.

Now this variable is ready. It can be viewed in the Variables tab of the Data View.

Creating a Variable from a Property

You can open the Property Binding menu represented by the diamond icon. Select Bind to > New Variable.

This creates a variable based on this property. If it is a float (decimal) value, then it will use its Min and Max values to define the range. It will automatically bind itself to this property.

Binding Variables

Once you have one or more variables defined, you can open the Property Binding menu and bind the property to any variable. You can also unbind a property the same way.

Once a property is bound, the normal Slider or other control will be replaced with a Variable control. You will see the name of the variable and the current value. You can click the value to edit it but note that it will also change the Variable's value and affect any other property bound to this variable.

Unbind a Property

If you open the Property Binding menu, and select to Bind to > Unbind, you can unbind that property.

When unbinding, you can choose to just unbind that property and leave the Variable as it is, or delete the variable as well.

Deleting a variable will unbind any other properties that may be bound to it.

Editing and Managing Variables

Gaea provides two easy way to display the Variables: as organized by you, or grouped by Nodes.

In the Grouped By Node view, all variables bound to a node are grouped by node, unless you have a variable bound to two or more properties, then those variables are separated into the MultiBound Properties group.

Editing Variables

By toggling Edit Mode, you can switch to plain view of all variables. You can edit the values manually, rename the variables, and drag the variables to reorder them. You can also right-click a variable to bring up the Edit Dialog.

In this dialog, you can change all aspects of the variable including variable type. For Float, Range, and Int variables, you can also specify a Min and Max for the variable's range.

Changing variable types can be dangerous! It can cause large incompatibilities if you switch from say an Int to a String. The bound nodes may not know how to respond.

Editing the User Interface

In the Create Variable menu, you can choose UI Decorations: specifically, Separator and Group.

You can see that Decorations are shown separately in Edit Mode. You can move them around and edit the UI as needed.

When you switch back from Edit Mode, you will see that the custom UI has been implemented.

Deleting a Variable

To delete a variable, toggle Edit Mode, right-click the variable and select Delete. This will remove the variable and unbind any properties that were bound to this variable. They will return to their normal state.

Manipulating Variables from the Command Line

See Command Line Automation

Ungrouped / Custom Order
Grouped by Nodes
Edit Mode
Custom UI modifications.