<!--
{
  "availability" : [
    "iOS: 15.0.0 -",
    "iPadOS: 15.0.0 -",
    "macCatalyst: 15.0.0 -",
    "macOS: 12.0.0 -",
    "tvOS: 17.0.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "PHASE",
  "identifier" : "/documentation/PHASE/PHASEStringMetaParameterDefinition",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "PHASE"
    ],
    "preciseIdentifier" : "c:objc(cs)PHASEStringMetaParameterDefinition"
  },
  "title" : "PHASEStringMetaParameterDefinition"
}
-->

# PHASEStringMetaParameterDefinition

A specification for a metaparameter defined by text.

```
class PHASEStringMetaParameterDefinition
```

## Overview

Use this class to spawn discrete instances of [`PHASENumberMetaParameter`](/documentation/PHASE/PHASENumberMetaParameter), for example, a “player speed” metaparameter that the app changes gradually from `0.0` to `1.0`.

To use a number metaparameter, create an instance of this class and:

- Register it with the engine by calling [`registerGlobalMetaParameter(metaParameterDefinition:)`](/documentation/PHASE/PHASEAssetRegistry/registerGlobalMetaParameter(metaParameterDefinition:)), then access the instance of this class in the engine’s [`globalMetaParameters`](/documentation/PHASE/PHASEAssetRegistry/globalMetaParameters) dictionary.
- Pass it to the [`PHASEBlendNodeDefinition`](/documentation/PHASE/PHASEBlendNodeDefinition) initializer, [`init(blendMetaParameterDefinition:identifier:)`](/documentation/PHASE/PHASEBlendNodeDefinition/init(blendMetaParameterDefinition:identifier:)), and then access the instance of this class in a sound event’s [`metaParameters`](/documentation/PHASE/PHASESoundEvent/metaParameters) dictionary.

## Topics

### Creating a Parameter Definition

[`-  initWithValue:`](/documentation/PHASE/PHASEStringMetaParameterDefinition/init(value:))

Creates a specification for a textual metaparameter with the given value.

[`-  initWithValue:identifier:`](/documentation/PHASE/PHASEStringMetaParameterDefinition/init(value:identifier:))

Creates a specification for a named textual metaparameter with the given value.

## Relationships

### Conforms To

[`Hashable`](/documentation/Swift/Hashable)

[`CustomStringConvertible`](/documentation/Swift/CustomStringConvertible)

[`CustomDebugStringConvertible`](/documentation/Swift/CustomDebugStringConvertible)

[`Equatable`](/documentation/Swift/Equatable)

[`NSObjectProtocol`](/documentation/ObjectiveC/NSObjectProtocol)

[`CVarArg`](/documentation/Swift/CVarArg)

### Inherits From

[`PHASEMetaParameterDefinition`](/documentation/PHASE/PHASEMetaParameterDefinition)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)