I’m creating a variant of the vanilla Rex character class… specifically to nerf the very high health/melee D level-ups that make tamed dinos quasi-godlike.
Anyway, I believe I need to reference the DinoCharacterStatusComponent_BP blueprint (which has all those adjustable values) with the new ElderRex variant I’m making.
I say believe… because when I look at the references of a vanilla BP (Sarco) I can clearly see a reference between those blueprints.
However, I cannot find any field/ref point to link my custom ones.
I have the same problem, i linked everyting but the “statusComponentBP” for whatever reason it is not linked and i cant figure out where to link it. Post if you find out how!
The issue you are experiencing is due to limitations when creating a child of a blueprint. Components of a child blueprint (in the components tab) still depend on the parent so the reference is there, but it is made through the parent (or your blueprint actually does not have a statuscomponent in the components tab). To work around the child problem, you can instead make a duplicate of the blueprint rex such that its components are unique. If it is the latter mentioned problem, you simply need to add the statuscomponent to the components.
??? Have you actually tried to do this because it does not make sense. Please explain a little better because i myself have tried many workarounds including remaping the component to the child component in hopes that would help (there is no reference options within the BP), to test it i just upped the base health in the child component and then test it in the dev kit… no change was made since it was still show parent component stat values.
We need a Dev in here to help answer this because its a real problem. I can change the parent core data for DinoCharacterStatusComponent_BP_DinoName and it works fine, but when i subclass it or even try to remap it, it does not take the changes… Why is there not a reference for it instead?
Yep indeed it’s a current limitation of how UE4 handles non-native parent Components. What you CAN do to get around this in a Mod/Map, however, is Duplicate the Class in question, rather than create a Child of it (so for example create a Duplicate of Blueprint’/Game/PrimalEarth/Dinos/Raptor/Raptor_Character_BP.Raptor_Character_BP’ into your Mod, rather than a Child, and use that in your Mod/Map).
We’ll look into nativizing the CharacterStatusComponent reference (so that it can be modified in children), or providing a way to override the values of non-native parent Components, in the future however.
,
The Character BP is not the problem from what i have tested. You can use a child or duplicate and receive the same results (both will work in your MOD), its the CharacterStatusComponent child or duplicate that does not reference the duplicate dino, there should be an option in the BP for this or at least a way to remap it… (reference option inside Character BP/Character Status BP would be better).
I guess as of now we just wont be able to truly edit the values which alter health, exp, etc…
Yep, it’s the referencing of the CharacterStatusComponent blueprint that can’t be done currently.
Since it can’t be referenced back to the mod in anyway, there is no way to create new dinos with adjustable stats. Interestingly, when I run my mod using the testmap I actually can spawn my modified Trex and was surprised it didn’t crash due to the lack of reference.
Anyway… it is alpha… but please note for us to really do some interesting stuff (like make “bull” tyrannosaurs for big game hunting) we will need to be able to reference the basic stuff. Fortunately it seems we can re-balance the existing dino stats for now. Assuming I sort out the “Entry Point Not Found” error I just got trying to launch now haha (but that’s another story and possibly thread
Anything that is not reference just runs off the core data since you are using a subclass of a primalgamedataBP, everything just defaults back to the parent. I can modify everything else but the dang componentstatusBP which is the most important BP imo…
Go see my dilemma when I tackled the issue of creating children of blueprints with components here: GenericMod Questions - ARK: Survival Evolved - Epic Developer Community Forums Both and I have to you if you want to change the components, until they change how children work, you must duplicate not create a child of that blueprint. Doing it this way allows you to entirely replace the components or modify them. You still can’t change the components with the blueprint graph but that is an entirely different issue.
The devs have added the capability to override status components in child blueprints. (See the MegaRex for an example of how they did this. Basically it’s just the “Priority” field in the statuscomponent blueprint.)
I don’t get it. Are you expecting the DevKit to reference files on its own just because the file names are similar?
Just in case, file names don’t matter whatsoever. The devs only called things what they did for their own convenience.
Here’s how you make new dinosaur variants (short version, there is a tutorial available):
Create subclass (a.k.a. child) for the Rex CharacterBP OR create a copy of the Rex.
Create new StatusComponent for it and find a field that says “Component Priority” (or similar) and set it above 0 in case of child OR simply make a new StatusComponent.
Attach the StatusComponent to your CharacterBP in the “components” tab. In case of a copy, also remove the old StatusComponent (you won’t be able to do it for the child, but it shouldn’t matter with the priority set properly).
Assuming all other settings are correct, go to CoreBlueprints\Spawners and copy the spawngroups you want.
Edit the copied spawngroups to involve your new dino, or use the “NPCSpawn random class weight” to give your dino a chance to replace vanilla dino variants (this is how alphas work).
Go to PrimalGameData and remap all appropriate “NPC Spawn entries” to their modified counterparts.