TurboActivate in Unity

I'm attempting to implement TurboActivate in Unity. It seems to go well since it's the same as the C# implementation.

There is a critical difference, however. My Unity Editor application is using x64 architecture, and is unable to import the TurboActivate.dll.

Can you export and send me a x64 version of the TurboActivate dll? The one included in the standard download is a x32 version, which seems to be unusable by any x64 application.

Both x86 & x64 builds are included in the main package: https://wyday.com/limelm/api/#turboactivate

See this: https://wyday.com/limelm/help/using-turboactivate-with-csharp/#signup-limelm

It explains where to find the dlls, and how to include both in your app and have your app choose the right one at runtime (if you want to make an "Any CPU" build).

As I expected, totally my fault 🤣

Thanks for the heads up where to find them, I've got the right files and set them up correctly within Unity. It's working great now.

Hello - we are trying to set up TurboActivate with our Unity apps, and are having trouble getting started. We'd appreciate any help you can offer. We are developing on a Mac, but exporting both PC and Mac builds.

We're using the CSharp example provided by LimeLM, specifically the TurboActivate.cs file. Do we need any others (besides the .dll, .dylib, and .dat of course)? I was getting a DLLNotFoundException initially, and edited the .cs file to point to "Assets/Plugins/libTurboActivate.dylib" instead of TurboActivate.dll. That seemed to get rid of that error, but now I'm getting a new error that the TurboActivate.dat file cannot be loaded (is missing or corrupt). I have this file in the same folder as the .dll and .dylib, so I'm not sure what to do.

Hey Steve,

On Windows the TurboActivate.dat file has to be in the same directory as the TurboActivate.dll file and it just magically works. On macOS the TurboActivate.dat file needs to be in the same directory as the executable file itself and it magically works.

In either case you can specify a custom path by pass the full path when you construct the TurboActivate object in your app.

For example:

ta = new TurboActivate(your GUID, /path/to/TubriActivate.dat)

Thanks Wyatt. I did try that, and still had problems. I think part of the issue may be that I'm trying to run the app with TA in the Unity Editor - there is no executable file yet. I was hoping the OP here might be able to help with how our project should be set up to include TA in Unity.

Hi Pillo - I am also trying to set up TA with a Unity project and was having some similar trouble. Please see my previous posts here.

Pillo wrote:> I'm attempting to implement TurboActivate in Unity. It seems to go well> since it's the same as the C# implementation.> > There is a critical difference, however. My Unity Editor application is> using x64 architecture, and is unable to import the TurboActivate.dll. > > Can you export and send me a x64 version of the TurboActivate dll? The one> included in the standard download is a x32 version, which seems to be> unusable by any x64 application.

Hey Steve, I'm actually running into the same problem right now.

What I've done is put the TurboActivate into the /StreamingAssets folder, and reference to that path with: Application.streamingAssetsPath + Path.AltDirectorySeparatorChar + "TurboActivate.dat";

That way, no matter what platform you're on, the game will be able to find the TurboActivate.dat file. I haven't tested it yet because I'm still figuring out how to include the libTurboActivate.dylib files.

Hey Pillo,

Check out the other thread I have going about this:https://wyday.com/forum/t/1305/limelm-and-unity-3d/

I had to set the path to the dylibfile (perhaps similarly to what you did above), and change the encoding for all the DllImport calls to "Charset.PAnsi"