Hello.
I used to make the program load a specific DLL and allow some of the resources from that DLL only to licensed users, or to control the program startup itself and obtain a list of available functions from the DLL.
For many years, I have been developing programs to prevent program duplication, game development, auto program development, and auto program use prevention programs.
I would like to discuss your project in more detail.
1) Are you trying to block the function? Or are you trying to block the start?
2) Can you provide the source code for the launcher or main program?
3) How difficult do you expect the protection function to be? (Encryption and decryption of basic resources, prevention of program decompile, etc.)
There are many ways to add packs to programs and many ways to run them.
In particular, in the case of projects in C# (Unity's default source is C#), pack in C# becomes more difficult because it is almost completely decompiled.
In order to grant a license function, the server must choose a method of not providing data to users who are not authenticated, but in the case of local programs, there is a possibility that this will also work.
I await your reply.