settings reference

Reference for each setting in ShadowMatchConfig and ShadowCaptureStudioConfig, in the order they appear.

ShadowMatchConfig

Matching Algorithm

Setting
Type
Description

Matching Mode

Enum

The algorithm used to determine if the shadow matches. Rotation compares quaternion angles. PixelComparison compares pixel data from render textures.

Rotation Settings

Setting
Type
Description

Rotation Speed

float

General rotation speed (default 4.0).

Axis Rotation Speed

float

Degrees per second when using controller sticks or WASD/arrows. Lower = more precise (default 25).

Axis Rotation Shift Multiplier

float

Multiplier applied to axis rotation speed when Shift is held. 1 = no change, 2 = double speed.

Invert Horizontal

bool

Invert horizontal rotation axis (left/right drag direction).

Invert Vertical

bool

Invert vertical rotation axis (up/down drag direction).

Drag To Rotate

bool

When true, rotating by dragging is enabled. When false, only key bindings (WASD/Arrows) work.

Required Match Percentage Amount

float (0–1)

The percentage required to count as a match. 0 = 0% required, 1 = 100% required (default 0.95).

Rotation Smoothing

float (0–100)

How much smoothing to apply during mouse rotation. Higher = snappier, lower = more laggy/smooth. Set to 0 for instant snap (default 15).

Solve Smoothing

float (0–100)

How much smoothing to apply during the final solve snap. Higher = snappier, lower = more laggy/smooth. Set to 0 for instant snap (default 5).

Play Solve Snap

bool

When enabled, on solve the object slerps to the nearest winning rotation. When disabled, it stays at current rotation.

Camera Settings

Setting
Type
Description

Camera Move Smoothing

float

How smoothly the camera moves into the puzzle view. Higher = snappier (default 5). Ex. You can move your camera somewhere in your scene that doesn't frame your puzzle. When you StartPuzzle(), the camera will move to the location captured at bake time.

Inertia Settings

Setting
Type
Description

Use Inertia

bool

When true, rotation continues with decay after release.

Inertia Decay

float (0–1)

How quickly the rotation slows down after release. 0.95 = slow decay, 0.8 = fast decay.

Performance

Setting
Type
Description

Check Interval

float

How often to check for a match, in seconds. Raising this improves performance.

Pixel Comparison Resolution

int (128–1024)

Resolution for pixel comparison render textures. Lower = better performance, higher = more accurate. Power of 2 necessary

Shadow Capture Layer

int (0–31)

Layer used for shadow capture camera. Objects and the shadow catcher quad are moved to this layer during pixel comparison (default 31).

Smoother Debug View

bool

If true, the "Source vs. Target" debug view updates every frame. If false, it updates with the Check Interval. Set to false for better performance.


ShadowCaptureStudioConfig

Baking Settings

Setting
Type
Description

File Name Suffix

string

The suffix added to the level name for the PNG file

Base Resolution

int

The base pixel resolution of the capture. Power of 2 strongly recommended (e.g. 256, 512, 1024).

Super Sampling

int (1–4)

Resolution multiplier for higher quality (anti-aliasing)

Anti Aliasing

int

Anti-aliasing for the display bake. 0 = off, 2/4/8 = MSAA

Pixels Per Unit

float

Pixels Per Unit for the imported Sprite.

Comparison Bake (for pixel comparison at runtime)

Setting
Type
Description

Bake Comparison Texture

bool

When true, also bakes a low-res no-AA texture used for cheap, accurate pixel comparison at runtime.

Comparison Resolution

int

Resolution of the comparison texture. Power of 2 strongly recommended. This resolution should be lower than your in-game texture to get the performance benefits.


ShadowMatchLevelData

Level data defines a single shadow match puzzle. Create via Assets → Create → Shadow Match → Level Data.

The ShadowCaptureStudio automatically writes most fields when you bake. The optional settings you can edit yourself are: Level Id, Display Name, Interactable Prefab, Use Initial Rotation From Level, Target Rotations, and Config Override.

This level data is here in case you want to a head start on creating your own level-loading system. Version 2 of this plugin will ship its own level-loading system.

Identity

Setting
Type
Description

Level Id

string

Unique identifier for the level.

Display Name

string

Name shown in UI or logs (e.g. puzzle title).

Puzzle Content

Setting
Type
Description

Interactable Prefab

GameObject

The prefab instantiated and rotated by the player.

Target Shadow Sprite

Sprite

The baked shadow texture the player is trying to match.

Target Shadow Comparison Sprite

Sprite

Optional. Low-res no-AA texture used for pixel comparison at runtime. If set, comparison uses this instead of the display sprite for accuracy and performance.

Initial Rotation Euler

Vector3

The rotation the interactable starts the puzzle in. Typically set via Capture Initial Rotation in ShadowCaptureStudio.

Use Initial Rotation From Level

bool

When true, the level’s initial rotation is used; otherwise the prefab’s default rotation may be used.

Target Rotations

List<Vector3>

Winning rotations in euler angles. First item is the primary (e.g. from Capture Target Rotation); add more for multiple valid solutions.

Camera Configuration

Setting
Type
Description

Camera Position

Vector3

The position the camera moves to when this puzzle is active.

Camera Rotation Euler

Vector3

The rotation the camera has when this puzzle is active.

Camera Field Of View

float

The FOV the camera uses for this puzzle (default 60).

Overrides

Setting
Type
Description

Config Override

ShadowMatchConfig

Optional. Per-level config override. If null, the system default config is used.

Last updated