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
| Property | Type | Description |
|---|---|---|
| URLList | List<VLURL> | List of Invoke URLs and Secret Keys for VL requests. Multiple VL APIs can be used |
| GPSGuide | bool | Whether to enable GPS location-based VL API selection feature |
| locationGeoJson | string | GeoJSON format area data used in GPS Guide |
| vlIntervalInitial | int | VL request interval before VL Pass state (unit: ms, range: 250~5000, default: 250) |
| vlIntervalPassed | int | VL request interval after VL Pass state (unit: ms, range: 250~5000, default: 1000) |
| vlQuality | VLQuality | Quality criteria for VL responses. Choose from LOW, MEDIUM, HIGH |
| initialPoseCount | int | Number of successful VL responses needed for initial position calculation (default: 1) |
| initialPoseDegree | float | Minimum rotation angle between poses for initial position calculation (unit: degree, default: 10) |
| failureCountToNotRecognized | int | Number of VL failures to transition from Initial to NotRecognized state (default: 20) |
| failureCountToFail | int | Number of VL failures to transition from VL Pass to VL Fail state (default: 40) |
| failureCountToReset | int | Number of VL failures to transition (reset) from VL Fail to Initial state (default: 40) |
| faceBlurring | bool | Whether to enable face blurring feature in VL request images (default: false) |
| showVLPose | bool | Whether to enable visualization of received VL Pose in Scene (default: false) |
| logLevel | LogLevel | Log level to output to console (default: DEBUG) |
| testMode | bool | Whether 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:
- Initially sends VL requests to all URLs sequentially
- Prioritizes URLs that received successful responses
- 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 transitionfailureCountToFail: Criteria for VL Pass → VL Fail transitionfailureCountToReset: 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 neededinitialPoseDegree: 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.
Related Types
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
- How to create and configure VLSDKSettings: Create VLSDKSettings
- How to assign VLSDKSettings to VLSDKManager: Assign VLSDKSettings