API

Assembly: Spark.Playables Interface: IPlayablesPlugin Implementation: PlayablesPlugin

Interface

public interface IPlayablesPlugin
{
    // Animation
    void ExecutePlayableAnimation(PlayableAnimationEntry entry,
        PlayableExecutionContext context);
    void ExecutePlayableAnimation(PlayableAnimationEntry entry,
        PlayableExecutionContext context, float delay);
    void ExecutePlayableAnimation(PlayableAnimationEntry entry,
        PlayableExecutionContext context, PlayableAnimationTargeting targeting);

    // Sound
    void ExecutePlayableSound(PlayableSoundEntry entry,
        PlayableExecutionContext context);
    void ExecutePlayableSound(PlayableSoundEntry entry,
        PlayableExecutionContext context, Vector3 position);
    void ExecutePlayableSound(PlayableSoundEntry entry,
        PlayableExecutionContext context, float delay);

    // GameObject
    void ExecutePlayableGameObject(PlayableGameObjectEntry entry,
        PlayableExecutionContext context);
    void ExecutePlayableGameObject(PlayableGameObjectEntry entry,
        PlayableExecutionContext context, Vector3 position, Quaternion rotation);
    void ExecutePlayableGameObject(PlayableGameObjectEntry entry,
        PlayableExecutionContext context, float delay);
    void ExecutePlayableGameObject(PlayableGameObjectEntry entry,
        PlayableExecutionContext context, float delay, float duration);

    // Generic
    void ExecutePlayable(SparkDatabaseEntry entry,
        PlayableExecutionContext context);
    bool IsPlayableSupported(SparkDatabaseEntry entry);
}

PlayableExecutionContext

Carries source, target, position, and rotation data for playable execution.

Property
Type
Description

source

GameObject

The entity initiating the playable

manualPosition

Optional<Vector3>

Override world position

manualRotation

Optional<Quaternion>

Override rotation

manualParent

Transform

Override parent transform

manualTarget

GameObject

Override target object

Methods:

Position, Rotation, and Target Modes

Database Entries

PlayableAnimationEntry

Plays character animations.

Field
Type
Description

parameterName

string

Animator parameter name

isRandom

bool

Enable random parameter selection

randomParameterNames

List<string>

Pool of random parameter names

parameterType

AnimatorParameterType

Trigger, Bool, Int, or Float

boolValue

bool

Value for Bool parameters

intValue

int

Value for Int parameters

floatValue

float

Value for Float parameters

Methods:

PlayableSoundEntry

Plays audio clips.

Field
Type
Description

audioClip

AudioClip

Single audio clip

randomClip

bool

Enable random clip selection

audioClips

List<AudioClip>

Pool of random clips

audioMixerGroup

AudioMixerGroup

Audio routing group

volume

float

Playback volume

pitch

float

Playback pitch

spatialBlend

float

0 = 2D, 1 = 3D

maxDistance

float

3D audio max distance

rolloffMode

AudioRolloffMode

Distance attenuation curve

loop

bool

Loop the audio

Methods:

PlayableGameObjectEntry

Instantiates prefabs with positioning, rotation, parenting, and optional auto-destruction.

PlayableTransformEntry

Moves, rotates, or scales objects over a duration with easing. Supports per-entity overrides via PlayableTransformEntryOverride.

PlayableCoordinatesEntry

Moves an entity to specific world coordinates. Used for scripted movement sequences.

PlayableCameraOverrideEntry

Temporarily switches to a different camera view for a duration. Used for cutscenes.

Events

Event
Description

PlayableRequestEvent

Requesting a playable to execute (priority 100)

PlayableExecutedEvent

A playable finished executing (priority 50)

PlayableRequestEvent fields:

Field
Type
Description

playableEntry

SparkDatabaseEntry

The playable to execute

context

PlayableExecutionContext

Execution context

PlayableExecutedEvent fields:

Field
Type
Description

playableEntry

SparkDatabaseEntry

The playable that executed

context

PlayableExecutionContext

Execution context

success

bool

Whether execution succeeded

errorMessage

string

Error details if failed

Components

Component
Description

PlayableEntity

Links a GameObject to the playable system

PlayableTransformEntity

Entity with per-entity transform overrides

PlayableTransformEntryOverride

Override data for transform playables

PlayableAudioSource

Spatial audio source for sound playables

CameraOverrideEntity

Camera activated by camera override playables

PlayableAnimationTracker

Tracks currently playing animations

Execution Infrastructure

Class
Description

PlayableExecutor

Core engine that runs all playable types

PlayableConfiguration

Bundles multiple playables into a sequence

PlayableCoroutineHelper

Runs coroutines from non-MonoBehaviour code

AnimationSpeedCurveController

Applies speed curves to animations

Usage

Last updated

Was this helpful?