settings reference
Reference for each setting in ShadowMatchConfig and ShadowCaptureStudioConfig, in the order they appear.
ShadowMatchConfig
Matching Algorithm
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
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
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
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
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
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)
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
Level Id
string
Unique identifier for the level.
Display Name
string
Name shown in UI or logs (e.g. puzzle title).
Puzzle Content
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
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
Config Override
ShadowMatchConfig
Optional. Per-level config override. If null, the system default config is used.
Last updated