Creating custom Enemies/Boss

Im getting started with UEFN deveopment and I want to understand some key functionallities and concepts.

Im exploring creating our own custom boss encounters and custom enemies. Im looking to find information on how to do this in terms of documentation and /or tutorials.

How do you create a custom boss in UEFN and verse?

I donā€™t think we have much customization options at the moment outside of the device spawners provided by UEFN and they are also a little light far as exposing customization at run time.

It might take a more creative mind then mine but far as Iā€™ve been able to tell we can import custom assets and such but making a fully flushed out boss with mechanics at the moment might be a little more hacky then it should be.

I believe later in 2023 the roadmap shows we will be getting some cool things that might open the doors for more customization.

for example right now in my ā€˜waveā€™ based game Iā€™ve been ā€˜hackingā€™ up the spawners, cloning them and customizing each instance with diff health, damage to player etc. depending on the ā€˜waveā€™.

although the UEFN demo did have that amazing boss encounter so I might be overlooking something :smile:

it seems we have to work within the current restraints for now with the weapons and such (Iā€™d love to modify the whirl wind ability to stay up based on some value or alter other things)

Iā€™ve done ā€˜hacksā€™ like for power ups Iā€™ll hide it on the map and when the player kills a monster it calls the ā€˜pickupā€™ method it works but is hacky!

Very scripted encounters would be possible. Object movers can create moving VFX and SFX, damage zones can be briefly enabled and disabled to simulate attacks, destructible objects can be used for hitpoints. It would basically be like creating a cinematic like seen in the GDC demo but with added functionality.

I see, Yes i guess we havce to wait to do fully custom bosses and enemies, I guess its a way of using the toolset and think creatively how you can connect and use the devices and things avaliable to you. Sounds like a fun challenge! :slight_smile:

I wonder if its still posible to add a new mesh or texture to the enemies like the fiend and add some flavout that way. ill keep digging into this

Thanks for the input! Much appriciated!

You can add custom props with custom meshes and animations, and they can be scripted and sequenced. You can also put these as a child of a movable creative prop, and get some rudimentary movement downā€¦

ā€¦but you need to use MoveTo commands, which take a Time (in Seconds) parameter - you need to have a background task that orchestrates movement and animation, all synchronized and such. Also it might have bad animation, because there is no way to ā€œabortā€ an existing MoveTo command - so your rate at which animations and movement can change is as quick as however long your last MoveTo command is. But you CANNOT do ā€œMoveToā€ literally every tick; even if you do calculate time since last tick - it just doesnā€™t seem to have that much precision. So you basically need to pin it to maybe half a second, idk what would be good if there are many animated meshes all tickingā€¦

That alone is a bit of work. You essentially have to write your own pathfinding. This is actually what Iā€™m working on myself, though itā€™s slow progress and Iā€™m not optimistic about the total throughput or complexity of Movement queues.

Second, and harder because I have barely looked into it (not that far yet, making passive custom entities is the first step still), is weaponry. Since itā€™s not possible to make Sentries or Guards a child of something else, youā€™d need to literally spawn your own Projectiles and do your own collision system. Collision is not TOO hard, since Triggers and Mutator Zones and the like can also be moved, and they WILL fire an event if they are MoveToā€™d onto a player who isnā€™t moving; but the overlaping checks of the ā€œprojectileā€ and OTHER things is another story. I think you would have to block-out your map with Triggers, and then use a Prop Mover on your Projectile only for the ā€œActives triggers as it movesā€ functionality (NOT for the actual movement, Verseā€™s movement is better). I THINK that will work.

You could also just do hitscan tbh, using a Perception trigger has a ā€œtest for line of sightā€ deviceā€¦ but that might not be too well received haha.

Butā€¦ thatā€™s a lot of code. From what I can tell so far of 2 weeks of hardcore Verse API fiddling, it would work - in theory. And TBH only reason Iā€™m sharing this is because Iā€™m almost certain there are some devā€™s working on this as we speak, and at a rate much faster than I am haha! Iā€™m still figuring out how ā€œsmoothā€ I can get a Movement path (doing Slerps with MoveTo queues that are built ahead-of-time in the background) so yeahā€¦ itā€™s one of those things, not super motivated to go hard on it because IDK if it will even be fast enough and Epic might introduce a solution making it obsolete before Iā€™m even finished.

2 Likes

hey guys did you try the new AI pathfinding class? and the custom behaviors? the docs are so limited I donā€™t even understand where to start how to use them, why Epic is so lazy with the docs, thereā€™s no examples, maybe Iā€™m looking in a wrong placeā€¦