Skip to main content

What Problem Does This Solve?

When your app initializes the LCK SDK, the system needs to know basic information about your game: name, version, what engine you’re using, which render pipeline, etc. This helps with:
  • Compatibility reporting (which Unity versions work with which SDK versions)
  • Debugging (crash reports show engine version and graphics API)
  • Analytics (understanding which games/platforms use the SDK)
GameInfo is a struct you populate and pass to LckCore.Initialize() during startup.

When to Use This

You create and pass GameInfo once during app initialization:
This is a required parameter for SDK initialization—you’ll always use it.

Quick Example


Field Details

GameName

The display name of your game as users see it.

GameVersion

Your app’s version string. Use semantic versioning (major.minor.patch).

ProjectName

Internal project name (can match GameName if you prefer).

CompanyName

Your studio or publisher name.

EngineVersion

The Unity (or Unreal) version you’re building with.

RenderPipeline

Which render pipeline your project uses.
Detect Unity’s render pipeline at runtime:

GraphicsAPI

The graphics API currently in use.

Complete Example (Unity)


Why This Information Matters

For debugging:
  • Crash reports show engine version and graphics API
  • Easier to reproduce issues when you know exact configuration
For compatibility:
  • SDK team can track which engine versions work/break
  • Helps prioritize which platforms to test
For analytics:
  • Understand which games/studios use the SDK
  • Track adoption across Unity vs. Unreal, different pipelines

API Reference

Fields

Used By

  • LckCore.Initialize(string trackingId, GameInfo gameInfo) — Required parameter for SDK initialization

Common Mistakes

Don’t hardcode version strings — Use Application.version or auto-detect to avoid mismatches.
Don’t guess the render pipeline — Use preprocessor directives or runtime detection.

Best Practices

Auto-detect everything — Use Unity’s Application and SystemInfo APIs
Initialize early — Call in Awake() or Start() before using other LCK features
Log failures — Always check IsOk and log Message if initialization fails
Use semantic versioning — Format: major.minor.patch (e.g., “2.1.0”)