> For the complete documentation index, see [llms.txt](https://kb.heathen.group/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://kb.heathen.group/old-kb/old-toolkit-for-steamworks/unity/legacy/components/steamworks-creator.md).

# Steamworks Creator

{% hint style="success" %}

#### Like what your seeing?

Support us as a [GitHub Sponsor](/old-kb/where-to-buy/become-a-sponsor.md) and get instant access to all our assets, exclusive tools and assets, escalated support and issue tracking and our gratitude.\
\
These articles are made possible by our [GitHub Sponsors](/old-kb/where-to-buy/become-a-sponsor.md) ... become a sponsor today!
{% endhint %}

## &#x20;Introduction

The Steamworks Creator exists to selectivly create a [Steamworks Behaviour](/old-kb/old-toolkit-for-steamworks/unity/legacy/components/steamworks-behaviour.md) object for you based on the current state of Steam API initalziation. This componenet can be used in every scene and will test for Steam intialization and if required will create a new [Steamworks Behaviour](/old-kb/old-toolkit-for-steamworks/unity/legacy/components/steamworks-behaviour.md) object as required, optionally marking it as Do Not Destroy on Load.

{% hint style="warning" %}
This component is an alternative for users that cannot or do not wish to use a bootstrap scene or otherwise insure that [Steamworks Behaviour](/old-kb/old-toolkit-for-steamworks/unity/legacy/components/steamworks-behaviour.md) is initalized once and only once by design.

This tool performs a check on start and will if required create a new [Steamworks Behaivour](/old-kb/old-toolkit-for-steamworks/unity/legacy/components/steamworks-behaviour.md) object. This is not as performant or as stable as adjusting your design such that there is one and only one [Steamworks Behaivour](/old-kb/old-toolkit-for-steamworks/unity/legacy/components/steamworks-behaviour.md) object in your app but it does afford a degree of flexability.
{% endhint %}

### Use

Simply add a Steamworks Creator to a game object in any or even all scenes. The object can be configured to test on start or on demand and can be configured to mark the resulting [Steamworks Behaviour](/old-kb/old-toolkit-for-steamworks/unity/legacy/components/steamworks-behaviour.md) object as Do Not Destroy.

![](/files/0yded8fFSdYCHQXmWKCT)

### Create On Start

This configuration option if set true will cause the creator to check for Steam initalization at startup, if found it will do nothing if not it will create a new [Steamworks Behaivour](/old-kb/old-toolkit-for-steamworks/unity/legacy/components/steamworks-behaviour.md) game object complete with the [Steamworks Behaviour](/old-kb/old-toolkit-for-steamworks/unity/legacy/components/steamworks-behaviour.md) componenet and will apply the indicated Steam Settings object.

If this is not set to true you would need to call the Create If Missing method to perform the check and create on demand.

```csharp
steamworksCreator.CreateIfMissing();
```

{% hint style="info" %}
If you wish to create on-demand you can do so without the aid of the Steamworks Creator. SteamSettings has a static CreateBehaviour method that can be called to perform the same action.

```csharp
SteamSettings.CreatBehaviour(settings, markAsDoNotDestroy);
```

{% endhint %}

### Mark As Do Not Destroy

This configuration option if set true will cause the creator to mark the resulting GameObject as DoNotDestroyOnLoad. This is only applicable if the creator creates a new [Steamworks Beahviour](/old-kb/old-toolkit-for-steamworks/unity/legacy/components/steamworks-behaviour.md) and is not used otherwise.

If not set then the created GameObject will reside in the currently active scene and will be destroyed when that scene is unloaded.&#x20;

{% hint style="danger" %}
You must not allow a [Steamworks Behaviour](/old-kb/old-toolkit-for-steamworks/unity/legacy/components/steamworks-behaviour.md) object to be destroyed. Doing so will cause unperdictable errors with your Steam Integration.

If you do not mark as do not destroy then you must insure that the resulting GameObject is never destroyed.
{% endhint %}

### Settings

This is the settings object that will be applied to the resulting [Steamworks Behaivour](/old-kb/old-toolkit-for-steamworks/unity/legacy/components/steamworks-behaviour.md), this MUST be set.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://kb.heathen.group/old-kb/old-toolkit-for-steamworks/unity/legacy/components/steamworks-creator.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
