Skip to main content
Version: Next

VLSDKSettings

VLSDKSettings is a ScriptableObject that manages all VLSDK configuration values. It is assigned to VLSDKManager and contains all settings that control VLSDK behavior, including VL API request addresses, GPS guide, VL quality, log level, etc.

Properties

PropertyTypeDescription
URLListList<VLURL>List of Invoke URLs and Secret Keys for VL requests. Multiple VL APIs can be used
GPSGuideboolWhether to enable GPS location-based VL API selection feature
locationGeoJsonstringGeoJSON format area data used in GPS Guide
vlIntervalInitialintVL request interval before VL Pass state (unit: ms, range: 250~5000, default: 250)
vlIntervalPassedintVL request interval after VL Pass state (unit: ms, range: 250~5000, default: 1000)
vlQualityVLQualityQuality criteria for VL responses. Choose from LOW, MEDIUM, HIGH
initialPoseCountintNumber of successful VL responses needed for initial position calculation (default: 1)
initialPoseDegreefloatMinimum rotation angle between poses for initial position calculation (unit: degree, default: 10)
failureCountToNotRecognizedintNumber of VL failures to transition from Initial to NotRecognized state (default: 20)
failureCountToFailintNumber of VL failures to transition from VL Pass to VL Fail state (default: 40)
failureCountToResetintNumber of VL failures to transition (reset) from VL Fail to Initial state (default: 40)
faceBlurringboolWhether to enable face blurring feature in VL request images (default: false)
showVLPoseboolWhether to enable visualization of received VL Pose in Scene (default: false)
logLevelLogLevelLog level to output to console (default: DEBUG)
testModeboolWhether to enable test mode. Disables internal filtering features (default: false)

Creation Method

VLSDKSettings files can be created through Unity Editor's Assets menu.

Assets > Create > ARCeye > VLSDKSettings

Assign the created .asset file to the Settings field of VLSDKManager to use it.

Usage Examples

Basic Setup

// Assign VLSDKSettings file to VLSDKManager
VLSDKManager vlsdkManager = GetComponent<VLSDKManager>();
vlsdkManager.settings = myVLSDKSettings;
vlsdkManager.Initialize();

Runtime Settings Changes

// Change VL Quality at runtime
myVLSDKSettings.vlQuality = VLQuality.HIGH;

// Enable GPS Guide
myVLSDKSettings.GPSGuide = true;

// Enable Face Blurring
myVLSDKSettings.faceBlurring = true;

Detailed Description

URL List

Manages a URL list to allow using multiple VL APIs in a single app. VLSDK uses URLs in the following order:

  1. Initially sends VL requests to all URLs sequentially
  2. Prioritizes URLs that received successful responses
  3. When GPS Guide is enabled, only uses URLs corresponding to GPS location

GPS Guide

When GPS Guide is enabled, it matches the device's GPS location with areas defined in locationGeoJson and only uses VL APIs for that area. This allows:

  • Prevention of unnecessary VL requests outside service areas
  • Efficient management of multiple VL APIs

GeoJSON format follows RFC 7946 specification, and the properties.location value of each feature must match VLURL.location.

VL Quality

VL Quality sets the reliability criteria for VL responses:

  • LOW: Low VL Pass acceptance criteria. More success counts but higher possibility of incorrect position recognition
  • MEDIUM: Balanced setting (default)
  • HIGH: High VL Pass acceptance criteria. Fewer success counts but improved accuracy

Failure Count Settings

VLSDK transitions states according to VL failure counts:

  • failureCountToNotRecognized: Criteria for Initial → NotRecognized transition
  • failureCountToFail: Criteria for VL Pass → VL Fail transition
  • failureCountToReset: Criteria for VL Fail → Initial transition (reset)

For detailed information on state transitions, refer to TrackerState.

Initial Pose Settings

Settings for calculating initial position:

  • initialPoseCount: Number of successful responses needed
  • initialPoseDegree: Minimum angle difference between each pose

For example, if initialPoseCount=3 and initialPoseDegree=10, 3 successful responses with angle differences of 10 degrees or more are required.

VLURL

A class that contains VL API connection information.

public class VLURL
{
public string location // Name of the region where VL API operates
public string invokeUrl // Invoke URL of ARC eye API
public string secretKey // Secret Key of ARC eye API
public bool Inactive // Whether to use this URL (if true, not used)
}

VLQuality

An enumeration representing VL response quality criteria.

public enum VLQuality
{
LOW, // Low quality criteria (more success counts, lower accuracy)
MEDIUM, // Medium quality criteria (default)
HIGH // High quality criteria (fewer success counts, higher accuracy)
}

LogLevel

An enumeration representing log output level.

public enum LogLevel
{
DEBUG, // Output all logs
INFO, // Output INFO and above
WARNING, // Output WARNING and above
ERROR, // Output ERROR and above
FATAL // Output FATAL logs only
}

See Also