VR Character to RPG Character Conversion help


I am really trying to avoid a ton of unnecessary time/effort/work by leveraging an already built C++/BP RPG character with ability system configured from the Open World Starter by Sabre Dart Studios, who has a wonderful tutorial series on making an MMO in UE4. I need to somehow have the RPG character base itself off of the VRcharacter instead of just ‘Character’, but I don’t understand how. Furthermore, I don’t understand how to properly link the two (both are separate plugins) so that there is no errors. I have stared at the two sets of header and cpp files for both character classes for long enough that I understand what they do but not how to manipulate them. I also understand that there are build.cs files that specify the modules and plugins, then there are these uplugin files that specify the modules and plugins for the plugins. I am hope someone knows what actual files would need to be modified, and how those modifications would look. Also, I am more than happy to provide as much additional detail as needed. I wasn’t expecting to get this lost in the weeds… thanks all.


Just open up your character blueprint in unreal editor, in the menu bar click on Class Settings. In the details panel on the right hand side change the parent class to VRCharacter.

Thanks Eanir! The only problem I see with this approach is that the ability system, which is configured for the OWS character in C++, will be lost if I use the VR character as the parent without pulling in all the config. I’d prefer to use the OWS character base as the parent class, and find a way to add in the VR character on top of that. It sounds like its possible…

Just wanted to put in an update here and say I have the solution to my problem. In case anyone is interested, I removed the #include “GameFramework/Character.h” on the base RPG character header file and added the VRCharacter.h include in its place. Then I updated the build.cs file to include the VRExpansionPlugin in the dependent modules, added to private and public but probably didn’t need both. way simpler than I was thinking it was.