Easy Device Integration for Games. EDI - Game Selection, Fix Assets , Multi-Channel [12/2025]

I have a question. I am using bitdefender as a security service which quarantines EDI due to having an antivirus. Am i the only one having this issue? I restore the download and it works just fine by the way.

I saw that the new EDI interface has buttons to stop/pause scripts and restart them which is sweet but could these be assigned to keys on the keyboard? I saw that some game integration has it but not all of them so im assuming its not a standard feature.

Is EDI able to connect to this OSR/SR6 ESP32 Tcode Firmware which allows for wireless reception of funscript data?

if not, i would really appreciate adding this a feature to EDI since this firmware allows users to use their OSR/SR6 devices without them being connected to a computer which makes them easier to use and reduces the number of wires

I have a question.
What are the limitations for uploading scripts to the Handy?
Is there a file size limit or a limit to the number of funscripts EDI can handle?
I ask because I am getting close to completing Sextropolis 3 but when I try to load all of the scripts I created into EDI they don’t work. EDI doesn’t give any error, but the device doesn’t move.
I currently have around 1000 individual funscripts and they total almost 3MB.
Is this too big to upload to the Handy?

If this is a limit, is there a way to separate the scripts with EDI?
Like the game is divided into 3 stages. Maybe I can divide them and have a break in between stages to have EDI switch to the next gallery or variant.

Thank you for any help provided.

1 Like

Hello, I’am glad to hear you are making progress with that integration. I played the previous versions, and honestly, they were quite fun.

Yes, there’s a 1 MB limit for file uploads to the Handy. Additionally, EDI includes a function to split these scripts into smaller bundles. You can check the Fapland in HardMode definition, where I created one bundle for each file and the filler combined. However, you could also choose to create bundles of 500 or 600 KB for a more dynamic upload experience.

A bundle is uploaded as soon as you attempt to play any script within it, and from that point, all scripts in the bundle are ready to run. If you need to switch to another bundle, it will be uploaded when you play a script from it.

The bundle definition file is explained here

1 Like

Thank you. This should work.
I like that EDI will switch to each bundle dynamically. I was worried I would need to change a bunch of code to make this work.

Since EDI can take a minute to start working with the Handy, I created a Sync screen at the start of the game. It tells the player to wait until the device starts moving while in the background it sends a play command to EDI every 5 seconds. I’ll only need to put one of these “Wait to sync” screens between the three stages to implement this.

Just to confirm I have this right:

So if I have all my scripts in a folder named “detailed” I need a txt file named “BundleDefinition.detailed.txt”
Next I would edit the bundle file with a line like “- stage1” then list the funscript file names for that stage to have EDI bundle them together.

1 Like

Exactly, that should work!

In the latest versions of EDI, when connecting or reconnecting a device, it resumes synchronization with the last command sent from the game.
This means there’s no need to send a command every 5 seconds. You could send a single command at the start of the sync screen, and EDI will resume the action as soon as the device connects and finishes uploading the script.

Regarding the BundleDefinition, you can have one without variants, and it will apply equally to all variants. In Fapland, it’s only used for the hard version because it takes up much more space.

Lastly, remember you can check the bundles in AppData/EDI to confirm they are the size you want.

1 Like

I’m trying to use EDI with restim, and the results are very inconsistent. Because the more bespoke outputs don’t apply, to restim, it gets daisychained from EDI to Intiface to restim, being converted into TCode in the middle. Which I would think would be fine, but it unfortunately doesn’t work well in practice. Loops play perfectly the first time, then are choppy with no interpolation. Sometimes they fix themselves, but the experience is less than ideal.

example of choppy EDI → Intiface → restim output

I’m assuming there isn’t a solution for this.
My idea for one would be to output funscripts over WebSocket just like how MFP does. For restim users, this would be ideal because it would enable all of restim’s unique funscript types (volume, pulse width, etc.). I bring up MFP because it worked wonderfully playing funscripts into restim over WebSocket in the past. This sidesteps TCode altogether, letting EDI time the funscripts, and restim or any other end program interpret them. (for restim technically tcode works as well but it’s potentially error prone whereas labeled funscripts are more obvious)

Edit: the above is wrong, MFP outputs TCode over WebSocket, I just completely misremembered and didn’t double check.
don’t really think the below makes sense but i’ll leave it

Given the current UI, I think the best way to do this would be to allow users to create a websocket device. That device would show up in the window with the rest, so scripts can be chosen, etc.
No idea how feasible this is or if it even makes sense to pursue

Sorry for the brief reply. The best way to connect to E-Stim devices is to convert all FunScript files into MP3 files and place them in the same gallery folder under the same name. Regarding streaming the FunScript via WebSocket, it might be an interesting option to add to EDI, since people have requested a way to visualize the commands and produce a generic output. That could be a viable solution. Could you please send me any links to the code you mentioned, if available?

1 Like

Turns out I completely misremembered how MFP did this. The code is not available because I hallucinated it :sweat_smile: MFP streams TCode over WebSocket. Still ok for my usecase.

Understandable. Just not an option for me because my current kit operates fundamentally differently (operates strictly on funscripts/TCode, no audio input).

are you using a coyote?

FOC-Stim

So I currently have a SR1 2.0 and have downloaded the latest edi with multi-axis support. I am able to connect to MFP via COM4 (not COM5), and I am also able to connect to the single axis via tcode-v03 with intiface central. However, I can’t seem to connect to the edi directly via the OSR Port option(I tried COM4 and COM5). Is there perhaps something I’m missing?

P.S. love the edi btw, been playing lots of the game with my handy.

Had the same issue where the COM port wasn’t working through EDI but would work just fine if through Intiface. I just assumed it was because I had a jank setup to get my SR6 to work with my Steam Deck lol. Connecting using USB doesn’t work so I have to go through 2 applications to have it work wirelessly and emulate as if it was COM port, but I lose multi-axis from doing so


That’s why I’m hoping that EDI eventually gets websocket like MFP as it would bypass so much of the jank that I have to work through just to get my SR6 and Steam Deck communicating :laughing:

@The_AIR
I’m cooking up a new version specifically to improve compatibility with the SR1 v2. The people at the company were very kind and sent me one. I’ll be uploading it soon and tagging them.

I still haven’t figured out how to set up and play via WebSocket or UDP, etc. Could you send me a link or tutorial on how to enable and use this on the SR1?

2 Likes

Here is the MFP github where they utilize websocket, you could review it and somewhat deconstruct their implementation:

Don’t know if you are on it but you could also ask in the Tempest server for help with websockets as there seems to be plenty others trying to have apps communicate to tcode.

1 Like

How or with what tool do I connect to the SR1 to tell it how to connect to my Wi-Fi?

Are you talking about just connecting your SR1 to WiFi or how to communicate from pc to device with websocket?

If you’re just doing the first part with connecting to WiFi from device, I think you have to plug it into power and then the tcode web server will boot up, then you have to connect to its wifi hotspot and configure the settings from the webpage tcode.local . Once you save your wifi and password, it should connect to your network and you’ll see it in your router device list. From there, you should be able to access tcode.local without having to directly connect to its hotspot.

As for communicating from pc to device as MFP does, they utilize the websocket class to do so:

Well, something isn’t working as it should, haha
When I turn on the funsr1, I don’t see any WiFi hotspot to connect to. However, I do see the device in the Bluetooth list. When I connect from Windows via Bluetooth—meaning when I pair it from the Windows taskbar—after connecting, a message appears below saying “not connected”. Then, when I try to access tcode.local after “connecting” the device via Bluetooth, it fails to find the address or access it.

I’m not sure if I need to connect to the COM port through a console or use the Arduino serial connector to change some configuration or send a special command. I can’t find any information on how to set this up

Maybe we’re confused, and the funSR1 v2 doesn’t have WiFi connectivity?
@Falafel can you help me?

imageimage

Irrc this might be how it works, you don’t need it to say “connected” in the settings devices list.

Go to “more bluetooth options” → “COM Ports” tab and see if the FunSR1 is there. If it is then you can use the COM port just like an serial device.

Worst case try an USB cable.

1 Like