I have an idea on how to bypass this issue, but I don’t know if it actually applies here though:
A: Perhaps replace the call to the standard “asset browser” and instead call a dialog that just asks for an asset/class “type” instead of asking for a specific asset, this way we can just choose “skeletal mesh” or “static mesh” or “BP” asset type without having to load every asset in our whole project, then we can select the correct asset after.
B: If you could set up “select preview asset” field to ONLY take skeletal meshes, static meshes, and Blueprints as an input, this would greatly reduce the massive hang time (this field really shouldn’t be scanning textures, or any other object types that wouldn’t be used)
C. Also, removing the prerequisite to “set a preview asset” in the asset browser would also be a great help, it would function much faster if the editor would open blank without loading the asset browser, then we get to select our preview asset in the editor settings after Able is already open.
Sorry to keep pressing this, it’s just that this set up seriously hamstrings an otherwise speedy Able workflow.
No worries, Aumaan, I agree it’s a sore spot in an otherwise fast workflow.
I already have ways to filter out the assets to load, but maybe tossing in a quick Dialog asking the user which class they want to choose from would help… I’ll see about adding that in.
So I went to add this today but it’s already supported (you can select the Target you want to base the object location off of). Can you describe what change you had to do?
EDIT: NM, I see the issue.
So far on the 2.0 update:
Stop on Interrupt will work for all Animation Modes (Play Single Instance results in a hard stop, so just beware).
Added a Class dialog to allow you to select what type of assets to load when choosing a Preview Actor (also added some descriptive text, image, and cleaned up that flow a bit). This makes that workflow MUCH faster.
Added “Custom Task” which is a 100% Blueprint driven Task. You can now create your own Tasks entirely in Blueprints and they’ll show up in the Ability Editor like normal Tasks. Customize the Task Name, Description, Logic, Color in the Editor - all of it.
Added “Custom Task ScratchPad” which is a 100% Blueprint driven Scratchpad (the small structure created every time an Ability is executed) where you can store any states or variables.
Made the Self/Instigator/Owner filters prune all instances of Self/Instigator/Owner rather than assuming there’s only one entry.
Few more Unity build fixes.
Spawn Actor now runs for each Target Type selected for the Task and not just for the Self Actor.
Still looking at the Socket Rotation thing change extents on queries (may just be a debug draw thing). Other than that, it’s almost done.
Updated submitted, I pretty much got everything I wanted in. I believe the Socket Rotation thing is only a visual issue with debug so I’m going to dive into that a bit more, but I didn’t want to hold the update up for it.
I’ll link to my quick write up on the Custom Task as well in this post.
In the Ability Editor, select Timeline -> Show Collision Queries.
another question,how can i set able’s rate,i try set playanim’s rate,but this able’s length not change.So my character still stay behind this montage ended.
Hi, we really very very very want two thing more. Yea, just two thing.
Trigger – Just like a flying fire ball or weapon collision, we need a hit event and received hit result, according to result we can do any thing. This may difficult, but we really need it.
MoveTo – We want not only can move to a point on the ground, we also want can move to a point in 3D, Just like Epic’s Paragon game, there is a hero his name is Greystone, and we want to implement his “Assult the gate” skill. Here is that skill’s description: “Greystone leaps as far as 1000 units, dealing 99|135 damage in a small AOE when he lands.”
You can change the time of the Ability by simply changing the length of it (it’ll be in the Ability properties in the upper left when you first open the Ability in the Ability Editor).
I wouldn’t use a trigger for that, I would just spawn a Fireball actor, pass it all the info, and let it handle things. This lets you “Fire and Forget” so you don’t have to have an Ability that is running as long as the Fireball is going (which may be till it reaches the end of the world).
Now that 2.0 is out, you can actually make a MoveTo using the Custom Task and set whatever parameters/behavior you need. I’ve looked at doing a Move To multiple times but I haven’t found a super clean way to do it yet that works across all genres and higher issues keep coming up.
Is there any way to get current running tasks in ability blueprint? I would like to set some variable in ScratchPad or just cancel some task depending on something. For now I can’t find a way to get tasks in Ability.
I don’t believe there is a way to grab the currently running tasks. Those are split up into various lists and such during execution (one for Sync, one for Async) so it would be difficult/potentially unsafe to grab them.
EDIT: NM, Scratch Pads are per Task, not per Ability. So if you want to end a Task early, you need to override IsTaskDoneBP and have it check whatever you are looking for.
That crash is because you don’t seem to have a valid Set Shader Parameter structure created in that Task. I’d verify your parameters and try it again.
I want dynamic set this length.For example,i have a spell speed property,it change PlayAnim rate and all ability’s timeline,if i change time of the Ability, this montage was be cut down.
sigh … I should have started using this months ago … oh well.
Quick question - what is the easiest way to spawn decals on a dedicated server multiplayer game. I am trying to spawn particle hit effects and a decal, but it only ever appears on the local client or when running 2 clients without dedicated server.
I then powered up your CE1_Shooter and experienced the same result.
Dynamic play rate currently isn’t supported (although it’s trivial to add - I should have put it in with the 2.0 update but I simply forgot). I’ll toss it in the next update.
Particle Effects are inherently Client Only. If you’re trying to setup something where decals persist on the server, that would require a Decal Actor. You could likely just use the Custom Task and have it simply create the Decal from Blueprints (assuming that lets you create decal actors on the fly - or just make a Decal Actor Blueprint and then use spawn actor or some such).
Why abilities who inherit other abilities aren’t inheriting task from them? For example I have base ability with custom event task and this task won’t be executed in inherit abilities.
Tasks are private members, so they aren’t inherited. The purpose of inheriting from an Ability is to save you from re-writing a bunch of Blueprint code again if you have setup various special methods/overrides/etc.
If you just want to create a copy of an Ability (tasks and all), you can just right click on it in the content browser and select “Duplicate”.
@ - Thank you very much … and thank you for creating this awesome system. I have basically re-written most of my project with your system in 1 night. You sir are a legend and a gentleman.
By the way, your system works with XBOX One and Linux … I did a test port early this morning and it is working. I will do some more tests but I haven’t seen any issues or compilation errors/warnings with your system on these two platforms.