I haven't forked the spine-cpp code yet and was hoping to avoid it to benefit from easy upgrades in the future. But that appears to be the easiest path forward for me right now.
Adding this to the build.cs allows you to not use a single PCH:
PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs;
You are correct, my ue4 runtime is a custom piece that sits on top of spine-cpp (well, spine-c since I have not successfully migrated yet). I definitely wouldn't say there is anything wrong with your runtime. It is great! I came at this by wanting to change my large project from 3d to 2d. This meant I wanted animation logic similar to animation blueprints in 3d. The biggest piece is a custom controller to act as a configuration-driven state machine. This allows for zero new code (blueprint or otherwise) to bring up a new character. Our characters are pretty complex with the main hero nearing 100 distinct animation states that are all setup and managed through the standard interface. There is too much to get into here, but this is pretty detailed system that uses configurable Gate, Action, and Filter UObjects that bring it all together to drive the states, this allows the character specific classes to just call "PlayAnimationState" in a few locations when they want to force the state to something else like an attack.
In addition, I wanted to be more inline what I was used to with UE4 in other areas well - "Sockets" for example. My character class already made use of sockets for a variety of things before I switched to 2d. So I built a new "SpineSketelalMesh" to mirror the ue4 "SkeletalMesh" which sort of brings together stuff in your Renderer, Follower, Skeletal Components. Now, I can parent stuff to this in blueprints and set their sockets just like I could with UE4 3D skeletal meshes. This SpineSkeletalMesh is the only spine-related component in my blueprints. I can select the specific animation controller I want to use on the SpineSkeletalMesh, very similar to how you select on animation blueprint with a 3d skeletal mesh.
Anyway, like I said, this is mostly the result of my specific circumstances. I was taking my character-heavy 3d side scroller and making it 2d. I have felt very fortunate that your system allowed me to get so far into the weeds.
Hope this helps.
Thanks!