Skip to content

Advanced

Game Creator includes a collection of tools used throughout the entire ecosystem. This section briefly goes over all of them and provides a link to each tool's page, where they are explained in-depth, with use cases and examples.

Advanced Level

This section of the Documentation assumes you are familiar with Unity and Game Creator. Some sections may require you to also have some coding knowledge.

Data Structures

Advanced Data Structures (also known as ADS) are generic data structures that help better perform certain tasks.

  • Unique ID: Uniquely identifies an object with a serializable Guid.
  • Singleton: It ensures there's zero or one instance of a class at any given moment and its value is globally accessible.
  • Dictionary: A serializable dictionary.
  • Hash Set: A serializable Hash Set.
  • Link List: A serializable Linked List.
  • Matrix 2D: A serializable 2D matrix.
  • Tree: Generic structure that allows to have acyclic parent-child depenedencies between multiple class instances.
  • Ring Buffer: This structure is similar to a generic list, but sequentially accessing its elements yields in an infinite circular loop, where the last element connects with the first one.
  • State Machine: A data structure that allows to dynamically manipulate a state machine and define logic on each of its nodes independently.
  • Spatial Hash: An advanced data structure that allows to detect collisions of any radial size inside an infinite spatial domain with an O complexity of log(n).

Variables API

Local Variables and Global Variables can be modified at runtime using the exposed API. Note that Local variables are accessed via their component and Global variables require to be accessed through a singleton manager that contain their runtime values.

Learn how to use the Variables API

Properties

Properties are a core feature that allows to dynamically access a value. They are usually displayed as a drop-down menu and allow to retrieve them depending on the option selected.

For example, a PropertyGetPosition allows to get a Vector3 that represents a position, from different sources; A constant value, the Player's position, the main camera's position, from a Local Variable, etc...

Learn more about Properties

Saving & Loading

Game Creator comes with a fully extensible save and load system that allows to easily keep track of the game progress and restore its state at any time. All that needs to be done is to implement an interface called IGameSave and subscribe/unsubscribe inside the OnEnable() and OnDisable() methods respectively.

There is a special component called Remember that allows to cherry-pick the bits of data you want to save when saving a game.

Tweening

Game Creator comes packged with a powerful Tweening (or automatic frame interpolation, from in-between-ing) system. It allows to fire & forget a command that creates a tween between a starting value and end value. The transition can be linear or an easing function can be specified.

Learn more about Tweening

Examples and Templates

Game Creator and all modules come with a collection of examples and templates ready to be used on your games and applications. Other developers can leverage this feature in order to create reusable examples that can be installed/uninstalled across multiple projects or share them if you are a module developer using the Example Manager window.

Learn more about Creating custom Examples

Back to top