build Pulse in unity Android scripting backend il2cpp

Dear All,

I’m trying to build Pulse in the scripting backend “IL2CPP” unfortunately it doesn’t work as shown in the image.

Can you help me with that, thanks in advance :slight_smile:

Hi Omar,

Are you working with Android 64 or 32 bit?

Hi abray,

I am currently working on 32 bit.

What device is that?
Have you checked out the logs?

Dear Abray,

I checked the logs and everything is fine, the problem is that pulse works in Mono scripting backend, not in IL2CPP. I read the files associated with the extension and it turned out that there is an XML file I added but it does not work as in the picture.

my Unity version is 2020.3

The app is android

Is that screen shot from the editor from windows?

Have you seen this?

https://gitlab.kitware.com/physiology/unity#il2cpp-build-support

The screenshot is taken from the application and not from the windows.

and for the link that you mention it “IL2CPP Build Support”, the XML code I have done it before but still not working.

So can you give an example as unitypackage that Includes the XML file with the ability to export the android app via IL2CPP scripting backend? it will help me a lot especially in augmented reality applications.

Can you try putting this in the build.xml?

<linker>
  <assembly fullname="System" preserve="all"/>
  <assembly fullname="Google.Protobuf" preserve="all"/>
  <assembly fullname="Pulse" preserve="all"/>
  <assembly fullname="Pulse.CDM" preserve="all"/>
  <assembly fullname="Pulse.cdm.bind" preserve="all"/>
  <assembly fullname="Pulse.engine.bind" preserve="all"/>
</linker>

I should change the casing to be more consistent…
But I think this may keep all the proper pulse classes

I tried with the code but it didn’t work it still doesn’t give any pulse signals I don’t know what is the reason.

What I’m trying to do is display the heart rate monitor in augmented reality via Unity and that’s done on mobile phones Android devices as well as IOS.

Action steps: After making the augmented reality scene and activating ARcore > download your extension via Unity > create the “Assembly” file > create an XML file and put it in the pulses file of the scene > click on build settings > player settings > change scripting backend from Mono to il2cpp > uncheck script engine code > build and run > there is no indication of pulses as in the first picture.

Hey Omar

This is how I test Pulse on android
https://gitlab.kitware.com/physiology/unity/-/wikis/android

So I created a dummy project, and installed Pulse from the Store
And I am getting a blank screen as well

When I build my APK from my development environment
(Which is a Unity project where I clone our unity repository under the Assets folder of a project)
I do get vitals data…

So, I am looking to see what the difference is between my fresh store based unity project and my development project…

Will keep you posted!

So I created a link.xml file and put it under the Assets folder of my test project with the contents

<linker>
  <assembly fullname="System" preserve="all"/>
  <assembly fullname="Google.Protobuf" preserve="all"/>
  <assembly fullname="Pulse" preserve="all"/>
</linker>

And that seemed to do it

The link.xml file needs to be under your project Assets folder, not the Pulse asset folder

Dear Sir,

Thank you so much for your offer… it’s working and it’s so good :hugs:

I download the plugin as you mention before, so I change my settings as in the pic and also attach the XML file.

and it’s working even in ARM64 :grinning:, for anyone who sees this, you can check or uncheck “strip Engine code” still working, the reason that I uncheck is because of AR Scenes.

I have tested this on Samsung Galaxy S10 and S9 and it’s working.

thank you so much and happy new year :slight_smile:

1 Like