Writing Custom Components
Infinity Creator allows you to extend its functionality by creating custom components using C++ or C#. These components can integrate directly into the Node Graph.
Using a language other than C++ requires the relevant runtime to be loaded.
Additional runtime functionality may be missing or limited in the Infinity Creator during the Alpha.
Step 1: Creating Your Custom Procedural Component
Creating a custom Procedural Component can be done from the Infinity Creator.
- In the Components Menu, select "Create Procedural Component..."
- Fill out the required fields:
- Name: The display name of the component.
- Group: The organizational group of the component (e.g. Org.Group.Subgroup).
- Class Name: A valid classname of the component. Must not have spaces or hyphens, and cannot start with a number or special symbol.
- Runtime Language: The runtime language of the component.
- Output Path: The filepath where the development files of the component will be generated.
- Click "Create". The development files for the procedural component will be generated at the Output Path.
For a comprehensive tutorial on creating custom C++ Procedural Components, please visit the Infinity SDK documentation.
Alternatively, Procedural Component development files can be generated using the infinity_tool CLI executable that is shipped with the Infinity SDK.
Group names starting with "Infinity." are reserved for use by Infinity Generation Inc.
Step 2: Importing a Custom Procedural Component
Procedural components can be easily imported to the Infinity Creator. To import a component from the filesystem:
- In the Components Menu, select "Component Library..."
- Click the "Import Component" button at the top of the component list.
- Select the folder containing the installed component files. (This folder typically contains subfolders named bin/, lib/, share/. See the Infinity SDK documentation for more details).
- The component will be imported into the Project, and will be available in the Toolbox to drag into the Node Graph.