I have been sitting on this “how to” for years as I was hoping NI would implement a global search feature allowing users to search their user and factory libraries easily. Although this has been asked for by users for close to 10 years and now with the latest V3 version of KK still  not offering this feature, adding a custom path to your Factory Library is still a desired way to browse and works the same for KK V3 as it did for V2. 

This “how to” applies to users who use Native Instruments Maschine / Komplete Kontrol and have NKS libraries installed in their user library that they wish could be incorporated and searched with the factory library. 

DISCLAMER : This is general information and not a recommendation! I cannot (actually more of a prefer not to) assist with issues that may arise from doing this. This assumes you have some basic knowledge with computers, editing XML files / registry keys and understand some of the possible things that could go wrong. There are far too many differing skill levels out there for me to cover things perfectly and this is not supported by NI or other forum users.

With that out the way let’s get started.

Getting Started

Before starting I recommend you decide where you want your user library to live. If you are happy to simply copy the files wherever is easiest then no problem but if you have limited space on your OS drive and prefer another location then decide on this first. Also, it is recommended to COPY your user NKS files to this new location and not delete the ones in your user folder until you are happy things work. Always make backups before you start with something new!!!

Image/Database files do not need to be moved as they live in the same location for factory or user libraries.

You can download example files for the below instructions to get started:

Windows

macOS

Step 1 [Windows]

Firstly you need to either download the example files above or simply create a registry file and enter in the code below. The name of the registry file does not matter, only what is entered within the file:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Native Instruments\$regName]
"ContentVersion"="1.0"
"InstallVST64Dir"=""
"InstallVSTDir"=""
"ContentDir"="$path"

You need to set the following in this file:

$regName = This is a name that will be unique ID for the entry in the registry. I just enter my company name “freelancesoundlabs”, you can enter your own name for instance or whatever you like to identify this as your custom registry entry

$path = The path where the NKS files will be located. Note that when you enter the backslashes you must enter double backslash \\

Here is an example I have created: 

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Native Instruments\Freelance_Soundlabs]
"ContentVersion"="1.0"
"InstallVST64Dir"=""
"InstallVSTDir"=""
"ContentDir"="C:\\Test"

Save this file then double click to run it and choose to enter it as a new key.
If you then follow the path in the system registry (You hopefully know how to view the system registry otherwise google is your friend) you should see your entry: 

Step 1 [macOS]

You need to create a .plist file with a specific name: com.native-instruments.$RegName.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>InstallDir</key>
    <string></string>
    <key>ContentDir</key>
    <string>$Path</string>
    <key>ContentVersion</key>
    <string>1.0</string>
</dict>
</plist>

$RegName = This is a name that will be unique ID for the entry in the plist registry. It should work in the same way the windows registry works. The $RegName needs to begin with a capital letter.

Example: com.native-instruments.Freelancesoundlabs.plist

$path = The path where the NKS files will be located on your drive. This can be a single root path where you will place all your libraries within. There is no need to create a separate .plist file for every library you have unless you really feel the need to. Note the path separator is a colon “:”

Example: Macintosh HD:Library:Audio:NKS Presets

*replace “Macintosh HD” with the name of your drive

The .plist file needs to be copied to the preferences folder here: 
Macintosh HD/Library/Preferences

You should note in this location existing com.native-instrument .plist files

Step 2

Next create an xml file (or use the one in the downloads above) with whatever name you like. I created “Freelance Soundlabs.xml”

Enter the following code into the file: 

<producthints>
    <product version="1">

        <upid></upid>
        <name>ProductName</name>
        <regkey>$RegName</regkey>
        <binname>Bin</binname>
        <authappid>500</authappid>
        <pluginid fx="false">0x00000000</pluginid>
        <company>CompanyName</company>
        <factorylibrary>
            <name>$LibraryName</name>
            <!-- Please do not change the properties below this line -->
            <relevance>
                <application minversion="1.5" nativecontent="false">KKontrol</application>
                <application minversion="2.4" nativecontent="false">Maschine</application>
            </relevance>
        </factorylibrary>
        <type>Plugin</type>
        <authsystem>None</authsystem>
    </product>
</producthints>

Change the following (leave the rest as it is):

$regName = This must be the same name used for the registry/plist entry (In my example: Freelancesoundlabs

$libraryName = This will be the name displayed in the Maschine/Komplete Preferences > Library list

Save this file then copy it to the following location: 

Windows = C:\Program Files\Common Files\Native Instruments\Service Center

Mac = [System HD]/Library/Application Support/Native Instruments/Service Center.

You should see a heap of other xml files for all the other products you have installed. 

Step 3

If you have completed the steps correctly ensure the folder you set in the registry exists and place some NKS files in it to test (just a single library to start with). Open Maschine / Komplete and you may notice it scans new files on open but if not, open the Preferences > Library and check for the library entry you created: 

 

When you have selected your library entry you should be able to perform a scan on just that entry. If it has all worked your NKS library will now display in factory: 

Issues?

If you do not find your entry in the system registry (windows), check the Reg file is valid and that you have quotes where they should be around paths and you have understood the need for double backslashes in paths!

If you find that an entry is not entered into your Maschine/Komplete library make sure the “RegKey” matches the registry entry created

I strongly recommend very simple names and paths to avoid issues. The RegKey especially, consider either a single word or a string using _underscore or hyphen

There is no guarantee this will work into the future or at all for all users, this is just something I personally reverse engineered and tested and appears to work for me

If you still cannot get it working then I have no further ideas other than to either keep trying and testing or forget it altogether. I’m not really willing to assist with support on this one, only share some insight into how to get it working. The rest is up to you.