Gen. Questions: AI parent BP, weapons, Client-Server


I’m working on a MMORPG, so basically I can have 2 players playing normally without issues (updating their hp, etc) yet still working on the damages. Even so, I am lost in a few things, which I hope someone can guide me a bit.

I’m not expecting blueprints of any sort. Like I said, just some guidance from someone with more knowledge in UE4, since I am barely new.

I’m starting to work on the NPCs but I need some guidance. I made one simple AI based on the Epic Skeleton. What is the best way to proceed with the AIs? meaning:

  • Should I have one parent AI (epic skeleton?) with all the npc stats (hp, damage, expToGive, etc) and then create child blueprints for all my other AIs (a troll, a giant, a demon, etc?) which will inherit the stats, yet I can set their own final stats?

  • If so, should I do skeleton retargeting so that I can use the same skeleton of my main AI blueprint (aka all my other assets), but that is compatible with other animations (ex. the troll animations and its bp, or a demon one, etc)

  • How should I go regarding setting the initial stats of the map? On my blueprint I have “event play”->init attributes and here everything adds up (ex. if in the settings I did that minDmg=5 and maxDmg=10, on initattributes Damage would be Damage= randomNum(minDmg, maxDmg)… is this correct? or what would be the best way to do so

Regarding weapons:

  • Should I also have one “Main_Sword_BP_Parent” so other weapons blueprint (child) can access their attributes (long sword, dagger, etc?)

Regarding the Server-Client:

  • Right now I have my players stats in their blueprint (if I’m not wrong). Would this be fine? The only thing Is that I will have a big map, but a few smaller maps that the players will need to teleport to (like entering a shop, or entering from the start area to the real area)

  • I only replicate max health and currentHp, from the server side (doing the custom event to tell server, then server multicast it to everyone and edits the hp) . Is this a good way to do it? or what would you recommend.

  • I don’t really understand a lot the “Custom Event” → Replicate on Server - really works. This means that if I do that, the functions after that basically execute on the server? (which would mean I should always do this to modify health, do damages, regen health, etc? otherwise it could be kinda hackable right?)

  • Switch auth only means if either the client or the server is doing the action/function? not that it will execute (example: I’m on my character blueprint, and I do switch auth server → print “hey”… this wont execute because I’m on the client, right?)

Sorry for all the questions. I just cant keep adding stuff on the game without being sure of all these questions

Thank you very much for taking your time answering. Really appreciated.