This release is based on the original plugin, but adds a UI overhaul and a few extra features I originally made for myself, but I figured other people here might also find them useful.
Since the original EroScripts post seems to have been deleted by OP for some reason, I’m posting this build in a new topic so it’s still available to everyone interested.
The original creator said that they wanted to keep their version simple and lightweight, so rather than treating this as an update to the original project, I’m releasing it separately as a more feature-rich fork.
Current additions in this version
Parameter highlighter to make it easier to tell which asset or model element a parameter likely belongs to
Live parameter graph / scope to help track how values change over time and identify the right parameter more easily
Additional output modes, including UDP and Intiface support
Dynamic Live2D/Cubism detection for vastly improved game compatibility
UI overhaul
Possible future additions
Recording / export, such as saving movements as a funscript, ideally together with video
Profile / template import-export, so users can share their mappings more easily between games and scenes.
I did alot of testing with the older version and I just wanted to add my two cents.
Should be noted that not ALL Mono games with L2D assets. Next we are going to need a list of working games lol. I’ve burned through like 50 and only 3 worked, (the example being one)
These work: (I wont be updating this list lol I’ve done my part)
RJ01313038 がんばれうめちゃん おくちで奉仕
RJ01319890 東京物語:制服の誘惑
RJ01447280 合成×爆乳進化!バニーガールVIPパイズリ! [LAYO]
RJ01308696 羞恥!清楚なお姉さんに健康診断
I assume you tested with an SR6 or another OSR device ?
I tried with The Handy via Intiface but even though it connected it doesn’t seem to work for now. I unfortunately don’t own a multi axis device.
@ZeroScripts Thanks again for this fork and to Gohyrt for the original plugin
I hope this plugin will make it work with single axis devices if only the l0 axis is bind down the line
Thanks for the feedback. Nice to have some other games confirmed working already. The original plugin creator might have plans to improve compatibility with more games too.
The latest version improves the Intiface communication and should also be able to work with The Handy. Though I imagine the movement will be very jittery, since the plugin’s real-time output wasn’t really made with The Handy in mind.
There’s definitely some issues with the plugin in some games as mentioned. Would be good if there was a way to manually open the overlay or if there was a companion program that could output some debug info if it fails. As it stands most games I tried it fails to even display despite loading in the bepinex logs.
The issue depends on how the game was compiled. In games where the plugin works perfectly, like RJ01323215 , “Live2D.Cubism.dll” is kept as an independent file. However, in games where the plugin fails to load, like RJ345267 , the developers merged the whole Live2D Cubism library directly into “Assembly-CSharp.dll”.
I managed to fix this on my end using dnSpy. I modified the CubiLink.dll plugin by swapping its assembly reference from Live2D.Cubism to Assembly-CSharp. After doing that, the plugin worked on RJ345267.
Yeah I’m pretty sure in most cases it just comes down to how the game was built and where the Cubism classes ended up.
I’ll try to rework the plugin so it doesn’t hard-reference Live2D.Cubism.dll anymore and instead try to resolve the Cubism types at runtime, so it can hook into whichever assembly the game is actually using.
That should make it a lot more universal and hopefully let one build work across most Live2D games without needing manual patching each time.
For games where the plugin didn’t boot, I tried your modded dll and it did make it boot and able to edit the values, but it’s completely unable to connect to Intiface:
Eagerly awaiting for a dynamic resolver because this is likely due to some mismatch from the base CubiLink.
I can confirm it’s working with The Handy, though things will be stuttery.
Not sure that’s entirely the case. There’s some at least where the DLL is present but there’s still no output from the plugin despite it loading. An example is RJ01169637 as I’ve just been looking at that.
I’ve updated the plugin to detect Cubism at runtime instead of hard-referencing Live2D.Cubism.dll, so it should now be compatible with most Live2D Unity games out there.
Give it a try and let me know how it goes.
Perfect, I’ll do some testing and see what works. 1st thing I went into was RJ01055507 - Pinsaro Over The Wall since i did try to do this one for EDI but lost focus
Each game handles the required connection libraries differently, which can break Intiface depending on the game.
I made the Intiface connection more self-contained in the latest version and added a fallback connection method for runtimes that don’t support the normal one.
May still fail in some games, but compatibility should now be much better overall.
This game does not appear to use the standard Live2D Cubism Unity components, so the plugin can’t detect model parameters here without a custom separate detection.