Skip to main content
Always close the Unreal Editor before upgrading LCK.Native libraries are loaded at editor startup and cannot be replaced while running. Upgrading while the editor is open will cause failures and may corrupt your project.

Before You Begin

Pre-Upgrade Checklist

  • Close Unreal Editor completely
  • Backup your project (especially Plugins folder)
  • Note current LCK version for reference
  • Check release notes for breaking changes
  • Verify Unreal Engine version compatibility

Upgrade Steps

1

Close Unreal Editor

Completely close the Unreal Editor. Verify no UE processes are running in Task Manager.
Even if you haven’t pressed Play, LCK loads native libraries on editor startup. These cannot be replaced while the editor is open.
2

Backup Current Installation

Before removing the old SDK, create a backup:
# Windows
xcopy /E /I "YourProject\Plugins\LCK" "YourProject\Plugins\LCK_backup"
xcopy /E /I "YourProject\Plugins\LCKTablet" "YourProject\Plugins\LCKTablet_backup"
Or manually copy the Plugins/LCK* folders to a safe location.
3

Remove Old SDK

Delete the existing LCK plugin folders:
YourProject/
└── Plugins/
    ├── LCK/           ← Delete
    ├── LCKTablet/     ← Delete
    ├── LCKUI/         ← Delete
    ├── LCKAudio/      ← Delete
    ├── LCKFMOD/       ← Delete (if present)
    ├── LCKWwise/      ← Delete (if present)
    └── LCKVivox/      ← Delete (if present)
4

Install New SDK

Extract the new SDK package to your Plugins folder:
YourProject/
└── Plugins/
    ├── LCK/           ← New version
    ├── LCKTablet/     ← New version
    └── ...
5

Regenerate Project Files

Right-click your .uproject file and select Generate Visual Studio project files (or equivalent for your IDE).This ensures the new plugin modules are properly registered.
6

Open Editor and Verify

  1. Open Unreal Editor
  2. Go to Edit > Plugins
  3. Verify LCK plugins are enabled
  4. Check Output Log for any LCK errors
  5. Test recording functionality

Version Compatibility

SDK VersionUnreal EngineNotes
0.9.25.4+Current stable
0.9.15.3+Previous stable
0.9.05.3+Initial release
We recommend always using the latest SDK version. Per the SDK License Agreement, older versions are not officially supported.

Breaking Changes by Version

0.9.2

No breaking changes from 0.9.1. New Features:
  • Device-specific quality overrides
  • Improved Quest 3 support
  • Better error reporting

0.9.1

Breaking Changes:
  • FOnLCKRecordingComplete delegate signature changed
  • Removed deprecated StartRecordingSync() method
Migration:
// Old (0.9.0)
Service->OnRecordingComplete.AddLambda([](FString FilePath) { ... });

// New (0.9.1+)
Service->OnRecordingStopped.AddLambda([](const FString& FilePath) { ... });

Handling Custom Modifications

Upgrading will overwrite any custom changes made directly to LCK plugin files.We strongly recommend NOT modifying LCK plugins directly.
Instead of modifying LCK files, create project-local overrides:
  1. Custom Blueprints: Create Blueprint subclasses of LCK actors
  2. Custom Widgets: Create widget variants based on LCK widgets
  3. Custom Materials: Create Material Instances, don’t modify base materials
  4. Custom Scripts: Extend LCK classes in your own modules

If You Have Modifications

If you’ve modified LCK files directly:
  1. Document all changes before upgrading
  2. After upgrade, reapply changes to new version
  3. Consider refactoring to use extension approach

Troubleshooting Upgrades

Cause: Old native libraries still loaded or version mismatch.Solution:
  1. Close all UE processes
  2. Delete Binaries and Intermediate folders in your project
  3. Delete DerivedDataCache folder
  4. Regenerate project files
  5. Rebuild project
Cause: API changes between versions.Solution:
  1. Check release notes for breaking changes
  2. Update your code to match new API
  3. See migration examples above
Cause: Plugin not properly installed or wrong folder structure.Solution:
  1. Verify folder structure matches expected layout
  2. Check .uplugin files exist in each plugin folder
  3. Ensure plugins are enabled in Edit > Plugins
Cause: Settings or configuration may have changed.Solution:
  1. Verify Tracking ID is still configured
  2. Check Project Settings > LCK SDK
  3. Review Output Log for specific errors
  4. Test with a fresh LCK tablet actor

Downgrading

Downgrading to older SDK versions is not recommended and not supported.If you must downgrade due to critical issues:
  1. Report the issue to LIV support
  2. Restore from your backup
  3. Regenerate project files

Clean Installation

For a completely fresh start:
# 1. Remove all LCK plugins
rm -rf YourProject/Plugins/LCK*

# 2. Remove cached data
rm -rf YourProject/Intermediate
rm -rf YourProject/Binaries
rm -rf YourProject/DerivedDataCache
rm -rf YourProject/Saved/Config  # Optional: resets all settings

# 3. Install new SDK
# Extract new SDK to Plugins/

# 4. Regenerate project
# Right-click .uproject > Generate Project Files

See Also