#blueprint

1 messages Β· Page 372 of 1

maiden wadi
#

It's passing the UWidgetBlueprint CDO instead of the one I specified.

#

Note that's not even a parent class, that's the associated UBlueprint class.

fleet prism
#

Any Help?

Hello, I tried reaching out on the maker's discord server but it's basically dead so I'm coming here to see if someone can help me.

The Problem:
I was following a Lasers Tutorial and while making the reflective cube and setting up that logic I saw the save Icons on the other children and saved them in the middle of me making it and I fear as a result of that my lasers have stopped working entirely and I'm not sure how to fix it in a timely manner? If someone knows how to fix this issue that would be much appreciated.

I'm not sure what the issue is exactly my first thought was because I saved things Since I didn't change anything I just added some more logic in a separate blueprint

If anyone knows the cause or how I can fix this to get it working again that would be great.

I'm in a bit of a rush.

Thanks!

maiden wadi
#

@crimson briar @frosty heron @chilly root Not sure why it does that. I don't follow FFrame code well enough to understand why this thunk is pulling out the UBlueprint instead of the UUserWidget but...

By the time this is called.

DEFINE_FUNCTION(UKismetSystemLibrary::execDoesImplementInterface)
{
    P_GET_OBJECT(UObject,Z_Param_TestObject);
    P_GET_OBJECT(UClass,Z_Param_Interface);
    P_FINISH;
    P_NATIVE_BEGIN;
    *(bool*)Z_Param__Result=UKismetSystemLibrary::DoesImplementInterface(Z_Param_TestObject,Z_Param_Interface);
    P_NATIVE_END;
}```

You get this debug info. The object being pulled from that first P_GET_OBJECT is UWidgetBlueprint rather than W_HUD_Frontend that I passed it. And of course the UWidgetBlueprint doesn't implement that interface, the UserWidget it manages does. So false return.
#

TLDR, if you want a type check. Use the class version. πŸ˜„ But neat to know why it breaks on the other.

maiden wadi
fleet prism
# maiden wadi Could use more context on this? Is the tutorial free to view? Uncertain what the...

Yes, It was a two part series. And the reflections were in this video here: https://www.youtube.com/watch?v=aUFg3iZ9un0&t=998s

This tutorial series will cover creating a basic laser system like you would see in puzzle games like portal. Lasers will be made to bounce and be rerouted with specified objects. In this part, we will be adding a wall that reflects the laser as well as a cube that can redirect it.

Subscribe for more Unreal tutorials - https://www.youtube.com/@...

β–Ά Play video
errant snow
# maiden wadi <@935087247030624296> <@1050954229902213150> <@272461003512479754> Not sure why ...

The thunk isn't relevant. It's the declaration:

/** Checks if the given object implements a specific interface, works for both native and blueprint interfacse */
UFUNCTION(BlueprintPure, Category="Utilities", meta=(DisplayName = "Does Object Implement Interface"))
static ENGINE_API bool DoesImplementInterface(const UObject* TestObject, TSubclassOf<UInterface> Interface);

You just specify an object. The picker is there to pick assets. When you pick a blueprint, that's the blueprint. Not even the class. There's no way that is can understand from context that the CDO should be checked.

maiden wadi
#

Well up until that point it's passing around my class's CDO

errant snow
#

I don't think that's true. Event the tooltip from your blueprint picture is the UWidget and not the CDO or even the UClass. It's the UWidgetBlueprint.

maiden wadi
#

Yeah fair. I think I was looking at the stack's context.

maiden wadi
#

Wtf? Why are you tagging someone who hasn't messaged in two days just to bring up a stupid religious discussion?

hearty rain
#

That's a weird setup for UE you have here

rose blade
#

Hi!
Using Sub Object Data System. I've added a StaticMesh Component to a Blueprint Asset.
Now I'm trying to edit it so it reference some StaticMesh asset, I do not find no node to do so.
From bluetility.
Thank you

lone depot
#

are you in a tank ?

kind estuary
#

im binding my unit card to show a tool tip widget.
Though everytime i hover with my mouse it seems to call pre-construct everytime...?
Is this normal?

#

that keeps adding stats

#

So does that mean that Get Tool Tip Widget respawns the widget. Im confused

next hollow
#

I’m not surprised.
It gets added and removed.
Its comment even talks about getting called multiple times.

last peak
#

Yall got it wrong jesus was asian

ocean cloak
#

Hi everyone! I'm making a mobile horror game (similar to Granny) in Unreal Engine 5. I need help setting up the controls:
Left side: A Virtual Joystick for movement (Forward, Backward, Left, Right).

Right side: No joystick, just a touch area to look around (Swipe to rotate camera).

Crouch Button: A UI button that triggers the Crouch/Uncrouch function.

Does anyone have a good video tutorial or a blueprint screenshot that shows how to set this up using the Enhanced Input System? Thanks in advance

barren tangle
#

Hello, before going further, is it ok to use the sequence node like that?

#

just for clarity.. or i should avoid?

#

πŸ˜‚

blissful grail
#

My eyes

#

Do you ever intend on those assets not being valid?

#

If not, personally, I wouldn't check for validity. Let the errors flow so that you can fix them during production instead of silent failures.

#

At least log that they're not valid.

dusky hemlock
#

well.... you can use it like that but lets just say that each of the empty sequences is getting called

barren tangle
#

ok i will avoid then πŸ™‚

dusky hemlock
#

I do it with reroute nodes placed like you use the sequence node

barren tangle
#

yes that becomes spaguethy because of the distances

#

those curved connection are sometime reallya annoying πŸ˜„

barren tangle
#

it's visual and not mandatory so it's ok, if they are not valid

errant snow
#

You can do a reroute to the top case too. That line doesn't have to be straight.
You could collapse the nodes in each sub-sequence to a function or collapsed nodes to save space (and then probably not even need the sequence)

blissful grail
#

You can still test without the validity checks. BP shouldn't crash anything.

barren tangle
#

hooo that's cool

#

i didn't know that

last peak
#

Banned in 3.2.1 πŸ’₯

barren tangle
#

that's reaaly cool πŸ˜„

marble tusk
#

btw, you can right click those getters and convert them to validated get. Does the same thing with less nodes

barren tangle
blissful grail
#

That's only useful when you have one condition

barren tangle
#

hooo amazing again a cool node πŸ˜„

blissful grail
#

If you have an AND or an OR, it is less useful

errant snow
# barren tangle

just be careful with the insides of those collapsed nodes.
They don't work like functions. If you want all the execution paths to reach the end, you have to do that yourself.
It's not like functions that return to the caller when hitting the end of an exec line

barren tangle
errant snow
#

yes, exactly

barren tangle
#

yes i understand it, that's really usefull because when we do that the function start to become longer and longer ----> until the end of the screen

#

like that we can collapse code for more clarity!!

#

I don't want a function juste for visibility so that things is really cool

blissful grail
#

BP has a number of useful things to make it more tidy and organized that people just don't use or know about.

barren tangle
#

yes that's why i come ask here πŸ˜„

#

the entry point was that

#

the result is that

#

it was for clarity of the code

#

because i didn't know collapse code πŸ˜„

#

reroute node are spaghetty

#

and becomes annoying because they are curved

#

sometimes πŸ™‚

#

It was not supposed to be bought with another pluggins?

lunar sleet
spark steppe
#

it's beautiful and horrific at once

broken heart
#

Hey can someone help me soo ive just created a dash in unreal its been applied to my camera rotation but it allowing me to dash up if im ground and looking toward the sky id like to remove this possibility?

mental trellis
#

Change the pitch to 0.

last peak
#

That is the preparation for the most holy god class

barren tangle
#

Any Idea Why?

mental trellis
# barren tangle

Instead of a giant sequence, you could define events or functions and then just put those on the switch. You'd save a lot of whatever that is.

barren tangle
mental trellis
#

I mean, they're not really useless...

barren tangle
mental trellis
#

But I guess that works!

#

Nicely done.

barren tangle
barren tangle
mental trellis
#

I did say events or functions. πŸ˜›

barren tangle
mental trellis
#

Ah.

barren tangle
#

Stop exagerate πŸ˜„

#

Stop exagerated that my screenshot was the worst things you saw today πŸ˜„

mental trellis
#

What type of vehicle is that?

#

And that is?

#

Ah. Cool.

mental sequoia
#

Any plugins, or other paths, for adding adds to your game? I mainly want those adds that lasts for 10-30 seconds, common in many mobile games. Thx.

mental trellis
#

Let's be fair, 10-30s ads aren't that bad. My partner was playing random shit on her phone and there were ads that took minutes.

faint pasture
#

I'll never ever play a game with ads, ever

#

it's a non-starter

mental trellis
#

That's fair enough. But most mobile games have them.

#

I do wonder if people wille ver do the thing quake live tried to do back in the day (or was it quake 3?) - sell ads on in-game billboards. I'm sure somebody else has tried it...

#

Exactly. I would actually find it kinda fun to see random ads if they were appropriate to the setting.

#

Make the world feel a bit more alive.

white parrot
mental trellis
#

He did specifically say "common in mobile games".

warped juniper
mental trellis
#

Though I'm now thinking of a mortal kombat version where instead of ripping out their heart, it turns into a can of pepsi πŸ˜‚

white parrot
mental trellis
#

Yeah.

white parrot
mental sequoia
#

No worries, intended to be displayed at the side of the menu, not fullscreen.

That is, if possible. Luckily steam kicks people like me out, so gotta go somewhere else.

white parrot
#

Not sure what the end goal is though. If you want to profit from the ads, just make a mobile game.

mental sequoia
#

Ads for money as a side quest, making games just for money I find soul-quenching. I’ll see what happens.

warped juniper
mental trellis
#

Oh dear.

#

Surely they're meant to be shrunken heads, not children's skulls?

#

Could have put it on his loin cloth or something.

stable lintel
#

hi. Been poking around with the Lyra project, does anyone have any recommendations on the best lobby blueprint to utilize that integrates with it easy-ish?

warped juniper
mental trellis
#

I always thought Dhalsim was more chill than that. Oh well.

warped juniper
plush hornet
#

Hi all what variable type would a UI Material be?

mental trellis
#

Material

#

The UI-ness of a material is a property of the material, not a different object type.

plush hornet
#

Its a flipbook material im not sure if that changes anything

#

Correction, it will take the material but not a material instance?

mental trellis
#

If you want an instance, you can use MaterialInstance or MaterialInterface (can take material or instance)

plush hornet
barren tangle
#

FViewport::ViewportResizedEvent doesn't it mean it's a c++ code only? is there a way to have that in blueprint?

frosty heron
#

Bind in cpp and call a blueprint implementable event for bp use.

#

The delegate probably needs to be BlueprintAssignable for binding in bp and with the case of ViewportResizedEvent, its not. So you will need to get your hands dirty.

somber minnow
#

I'm trying to understand the gameplay tag system, but I just can't seem to grasp it. Is there anyone within the project who can show me or share it with me?

frosty heron
#

on top of having hierachy for better categorized tag, no more hard coding strings or name.

somber minnow
#

Where do you keep the blueprint and VFX files? I can't quite picture it in my mind.

frosty heron
#

what's gameplay tag got to do with VFX?

somber minnow
#

burn fire ligth poison effect on me and enemy

frosty heron
#

depends on how you use them. I am just gonna guess you are trying to figure out GAS.

#

while they use Gameplay Tag, the usage of Gameplay Tag is not exclusive to GAS and goes beyond that scope.

#

you can literary do anything you like, gameplay tag is pretty much just Name but with hierachy.

#

in the case of GAS, you will have to look at Gameplay Effects.

#

they apply tags to target / actors.

somber minnow
#

my bad i didn't see this channal

#

thanks

queen heron
#

does anybody know the reason why I cannot use the hotkeys to bring any macro node sometimes?

#

like, its really annoying when, despite having the right settings, and worked smoothly in a different project on the same version, hotkeys for macro nodes don't respond at all

#

I can still bring the non-macro nodes like branch and delay, but any macro nodes won't come up

maiden wadi
queen heron
#

5.6.1

#

all macro nodes
forloop
foreachloop
increment
decrement
etc

#

can't understand why it happens

#

and a simple restart won't fix it

#

actually for each loop node has no hotkey by default

#

I made one myself

maiden wadi
#

At least I'm 95% sure that's not a 5.7 thing?

#

Either way. Ew. 5.6. Here are some matches, here's some kerosene. I advise drowning it and lighting it up.

queen heron
#

not sure how it is in 5.7, as I haven't tried it yet

craggy flicker
#

Does anyone know what's causing my mesh to act weird? I circled my right leg in the red circle. CPL is my CalfPoleLocation and RTL is my ReachTargetLocation. My foot bones and mesh seem fine, the thigh and calf bones are fine, but the thigh and calf mesh are messed up

viral perch
#

hi, so lately I've been trying to upgrade my knowledge about coding and I was wondering. let's say i want to create a weapon base template. What would be the real difference between using a structure or using a base class (in which I would create all the variables needed) and create childs of that class? My english is not perfect so i hope my question sounds clear enough, otherwise i can rephrase

maiden wadi
viral perch
#

i'm not quite sure I understood you're question. What Im trying to understand is what's the difference between creating a structure with all the variables (2d texture for icon in inventory, integer for max ammo and so on) and then adding that structure to my actor or to simply create all the variables in my actor and set them as public and create childs of it (since all the child share the same variables). Then i'd set those manually in each child.

craggy flicker
flat rampart
#

got an issue with a child actor. I cast it, but I cant access the dynamic material parameters inside the actor, either nothing pops up or the material field cant be filled in. any ideas? I also tried setting it to another variable to make it easier to access, but the new variable cant access anything at all, no functions or variables.

maiden wadi
# viral perch i'm not quite sure I understood you're question. What Im trying to understand is...

Ah. In that case there's no real difference. It's just organization.

Though I would make mention that you should learn datatables or data assets. You don't normally want to keep stuff like icons, images, names, etc on the weapon class itself either in or out of a struct. This is static data that never changes and you need this data even without the weapon actor a lot in like UI or spawners and such.

craggy flicker
stable lintel
#

I've been poking around with the Lyra project, does anyone have any recommendations on the best lobby blueprint to utilize that integrates with it easy-ish?

viral perch
#

okay thank you I get it better now !

frosty heron
#

Instanced struct would be really nice here.

#

The system can be trully modular.

Need description? Just add description fragment.

Need buff on the weapon? Add the buff fragment.

And so on.

#

You can look at the Lyra project

last peak
#

If you want to use structs maybe create them in c++

gritty plover
#

I guess I was wrong about this, but I thought multi-sphere traces were supposed to generate an array of every single hit event within its collision, and not just the first one?

frosty heron
#

but returns every overlap hit.

gritty plover
frosty heron
#

think of a flame thrower, it can go through animals but will stop at the wall.

gritty plover
#

Hmmm

gritty plover
frosty heron
#

or other means

#

you may want to make your own custom trace profile too.

#

or custom collision profile.

gritty plover
#

So, almost embarrassingly, I did make a custom trace profile. I just didn't know how to apply it to the BP in question, so I sorta moved it to the back of the solution-queue in case other methods didn't work out.

#

Nevermind I got it

#

That works great actually. Thank you kindly.

paper smelt
#

My UI is not referencing the correct player. so my health bar is not updating correctly on clients. when I plugin self to my char reff it gets the server instead of the char that its in (the client) so my char reference does not work

frosty heron
#

what class is this on? post the whole picture

paper smelt
#

Its in my char blueprint

#

This code inside of my widget does not call correctly

#

It does not call at all on client

frosty heron
#

@paper smelt does the print string gets called on client?

paper smelt
#

yes it call for player 0

#

on both

#

for some reason

frosty heron
#

So the widget is created on client too?

paper smelt
#

It executes on owning client

#

on possessed

frosty heron
#

I'm asking if the widget is created on the client.

#

When you play as the client, do you see the widget?

paper smelt
#

Yes

#

The widget is there but the health bar does not get updated because the char reff is not getting set correctly

#

for some reason

frosty heron
#

As long as the character is replicated that shouldn't be the issue

#

Is your health component set to replicate?

paper smelt
#

The health system works

frosty heron
#

Make sure to tick replicate on the health comp.

paper smelt
#

but its not set to replicate

frosty heron
#

Well that wouldn't work on MP

#

It will not replicate member variable on client.

paper smelt
#

Ah

#

shit

frosty heron
#

Tick replicate on your comp

paper smelt
#

thanks lol

#

Didnt think it would be that simple

#

Also

#

noticed you have some japanese in ur bio I can read about one letter as im learning it. what does it say?

frosty heron
#

Koru Saama. Cold summer

paper smelt
#

Thanks πŸ™‚

frosty heron
#

@paper smelt just some 2 cents. Don't use child actor component, they are cursed as f, even epic staff avoid them.

Also I see you have some cpp class. Instead running Rpc, you can override Acknowledge Possession to have a callback on client. Do your widget on that function and skip the Rpc all together.

frosty heron
#

instability, serializing issue, crashes.

dark drum
#

Can you not just use a camera component instead of a child actor component?

wide beacon
#

does anyone here know how to make a 2.5D aim at cursor in 3d space? I've been stuck for days trying to get it to work and would appreciate any help πŸ™‚

dark drum
#

Ahh ok. Yea if there's no actual logic on the child BP's you'd probably be fine then.

Using different camera components and the set view target with blend would require you to disable all the cameras not in use and activate the one you want to switch to with the view target. Not the most elegant solution though.

cunning quarry
#

I dont understand, can anyone help?

dark drum
cunning quarry
maiden wadi
#

So either your jukebox's root needs to be static, or your buttons need to be mobile.

cunning quarry
maiden wadi
#

Is the jokebox's root and the mesh you're attaching them to static?

maiden wadi
maiden wadi
# viral perch what are Uobjects?

They're the top of the class hierarchy in Unreal. Most things inherit from them. ActorComponents are UObjects. Actors are UObjects, DataAssets are UObjects, Datatables are UObjects, Assets like StaticMesh and SkeletalMesh are UObjects.

wide beacon
#

does anyone here know how to make a 2.5D aim at cursor in 3d space? I've been stuck for days trying to get it to work and would appreciate any help πŸ™‚


maiden wadi
wide beacon
# maiden wadi Need more clarity on what you mean by 2.5D

So I have this logic here to aim an arrow at the cursor; the arrow is a placeholder for now. When I say 2.5d it's a sidescroller. I've managed to get the arrow to aim at the cursor. Still, I want it to be able to rotate over the mesh when, at the moment its just stopping at the top unless I manually change the direction of the character and then it works on the other side, so I'm trying to create a way for the character, mesh to follow the cursor also and rotate instead of having to use my keyboard to rotate the mesh if that makes sense, ill sends a video of what happening at the moment.

maiden wadi
#

Ah. And everything is technically a flat plain left right up and down, right?

#

Need the editor open, sec.

maiden wadi
wide beacon
# maiden wadi Need the editor open, sec.

I'm not too sure what you mean by a flat plain, like the constraint of the level. This would've been so much easier if I knew the sidescroller variant existed, but I've been working on this project for a while and thought it would be quite hard to migrate everything over, so I'm trying to see if it works in this one.

wide beacon
maiden wadi
#

By flat plain I mean that your visuals are in 3D, but your gameplay all happens on the Z and X axis. Or Z and Y, which ever. But either X or Y axis aren't used in gameplay.

wide beacon
#

so the y-axis is like the depth and I have tried to flatten that in the logic I sent

maiden wadi
#

So Y axis is like towards and away from the camera?

wide beacon
#

so thats in the level viewport, i assume thats waht you mean by way from the camera?

maiden wadi
#

Test this out then. This should do what you're after.

wide beacon
#

okay thank you, ill give it a go!

maiden wadi
#

It maths out a "trace" against an invisible plane at the location of the arrow along the Y direction. Then finds the rotation from that hit point against the plane and rotates the arrow in that world direction from itself.

#

Er

#

Wait, I derped a part. missed the add again.

viral perch
wide beacon
#

Ah, alright, anyway if it does work, you're an actual lifesaver my friend projects slowly coming close to being due hahah

wide beacon
# maiden wadi

one more thing, i see your cast node doesnt have the execute pins like mine, is this just beacusae i need to use an eventt tick or something like that?#

maiden wadi
#

You don't need to cast to yours. You can just cast it to PlayerController. But right click the node and convert to pure cast.

#

Or hook it up before the set rotate, either way.

wide beacon
#

okay sweet thank you.

wide beacon
maiden wadi
wide beacon
maiden wadi
#

Can you share your current code? Cause that doesn't sound right unless your arrow is inverted in scale.

wide beacon
#

this is the setup

maiden wadi
#

Ah, cause you have the look at rotation backwards.

#

You want to look from the arrow to the hit point.

wide beacon
#

so i need to swap target and start around?

maiden wadi
#

Correct

wide beacon
#

okay thank you!

#

that worked perfectly, life saver

tropic torrent
#

can you reference the weight of an object? want to make an ability that grabs things of a certain weight

maiden wadi
tropic torrent
#

nice

maiden wadi
#

If you have connected things, you'd need to walk up the attachment hierarchy til you find the root most component and then iterate through it's attach children to combine all of them.

idle sun
#

I am trying to make a tool for UE where if I have a entity selected in viewport, on a key bind press it rotates inclemently based on its set rotational increment. I have it working with Editor Utility Widget as a button but dont know a way for it work with a custom keybind. Would anyone know how to achieve it on keybind?

last peak
#

Whats the difference to the Gizmo tool ?

idle sun
# last peak Whats the difference to the Gizmo tool ?

I am trying to make certain tools like snaped rotations, scaling and bunch of other world building tools. At work, our bread and butter are things like this for environment art. Is there a way to bind the UEW button output action through cmd? That way I can just making it all on buttons and sliders but still give aritsts an option to bind those however they please.

maiden wadi
#

This kind of feels like a new editor.. Uhh.. What do they call those? Like where you can go into the geomtry edit mode, landscape mode, normal click and select mode, etc. AFAIK these all have their own keybind layers and whatnot. I've never made one myself though so might be off base here.

lean bolt
#

Any built in functionality for sorting an array of objects based on a property in the object?

#

e.g., an array of data assets with an integer field, and sorting based on the integer

maiden wadi
#

None automatically as far as I know. I think one of the BP libraries offers some predicate functions that'd let you do it. If you have C++ capability to make a library you could make your own function fairly easily that you could bind to a BP function.

dark drum
idle sun
odd compass
#

does anyone know how I can make the player only be able to hear things within a certain range? Like only hearing dialogue if NPCs are talking within the players hearing range?

barren tangle
#

Hello, Is there a way to find where i bind all event dispatcher? i don't remember where one of them is

shut blaze
#

(You can create one from the content browser)

maiden wadi
barren tangle
#

When we debug the self is empty? we can't see the data inside the self?

odd compass
lunar sleet
#

and no it doesn't show you instances iirc

barren tangle
barren tangle
#

we can't do that?

#

the idea was to sent to the triggered even, the data of myself

#

like that the one that will triggere the even will know the data of the object as well

#

i think i'm in the wrong place πŸ˜„

placid elbow
#

Hey everyone!!

I'm currently setting a gameplay tag using a evaluator when an actor is destroyed. I'm trying to debug this by setting a break when enter on the tree however, it does not toggle. Any advice?

frosty heron
celest lotus
#

What does this other body index return? Can I use this to get the instance of Instancedstatic mesh component?

maiden wadi
#

That's usually what it is, I believe.

frosty heron
dark drum
maiden wadi
#

That also makes sense.

dark drum
# celest lotus it returns -1

Oh wait, i'm thinking of something else. Body index is related to the collision capsules used in a skeleton. What's ending overlap? Does it have a physics asset setup to define the collision on the skeleton?

celest lotus
dark drum
celest lotus
#

yes and for context,
Im moving vehicles that are instances of a ISMC, they are overlapping with an actor and I wanted to get a hold of those vehicles that have triggered overlap

dark drum
celest lotus
#

let me try it

gentle urchin
#

OverlapInfo.Item = ISM.InstanceIndex ?

#

My head dont compute that, but i've never seen "item" either πŸ˜›

#

Apparently i lied. Im using Item myself πŸ™‚

clever swallow
#

I remember that body index only available on static mesh , am I wrong?

celest lotus
gentle urchin
#

That's what I'm doing atleast

#

altho im not using that specific event with "getBodyIndex" , but it seem to return the same value

celest lotus
#

I need to setup the collision of my instance for it to detect overlaps first

soft ledge
#

I know what you mean, your pawn made of several parts(collisions shapes) , you want get the index of the one ( collision part )

celest lotus
soft ledge
slow plank
#

chat is my BP evil

errant snow
# slow plank chat is my BP evil

It's not evil at all. I might move a few things around to reduce crossing wires, straight up that exec line, etc.
But overall it's fine. What makes you think it's so bad?

slow plank
#

it's for a mod for a VR game, i'm a mod dev, so i was thinking of making a tool that forcefully closes the game (also making it host only to prevent trolls from closing everyones game)

#

im still a noob at blueprint so yeah

dark drum
slow plank
errant snow
slow plank
dark drum
narrow pulsar
#

I was testing get control rotation vs getting rotation from "Get player view point" why are they slightly different sometimes? It's very very minute difference but usually there's like a tiny difference IE: (Y: 148 on one while the other is Y:150)

#

and which should I use for an ranged aiming system (where im aiming towards in my POV)

frosty heron
#

I used GetBaseAimRotation

maiden wadi
#

Yeah. Unless you're doing something locally with the client's own local auth control rotation values, GetBaseAimRotation is usually safer in places that aren't the owning client.

frosty heron
#

Rite, forgot about pawn that gets controlled locally.

maiden wadi
#

GetBaseAimRotation should work even for them depending on the case. I don't recall if GetBaseAimRotation does the compression for the local client though. For pitch.

frosty heron
#

I had to remap the value for proxies, that much I remember.

#

Due to compression.

narrow pulsar
frosty heron
#

So client A can't access Client B controller->control Rotation

#

But luckily epic already replicate that controller rotation via GetBaseAimRotation.

#

You can think the value as what the pawn is looking at, what the player is looking at, or what the AI is looking at.

narrow pulsar
#

I mean

#

Why would they need access to anyone elses

maiden wadi
#

Like animBPs

frosty heron
#

Not sure what you mean by is aiming always have access to their own controller.

#

Btw don't want to make this more complicated if you not doing MP

dense mica
narrow pulsar
# frosty heron Not sure what you mean by is aiming always have access to their own controller.

So like for example this is what I'm doing right now (and yes it is for multiplayer). This is my "Bolt" which is being shot from a crossbow. The idea is getting the rotation & location of my camera and use that to line trace the location where I want my bolt to travel to. Not sure if this is the most correct way to do it though (I kinda can already see a flaw IE: If server detects a hit on a player but player gets out of the way during projectile travel since it's not hit scan, would it stop mid air or would it continue, etc)

#

Right now this seems to be working except the bolt seems to not really be properly aligned with where I'm looking

#

a tiny bit to the right

#

Think it's because it's calculating from the server's location/rotation and I havent done any local prediction yet so yea

frosty heron
#

Not an easy question to answer as there are soo many ways you can approach this.

Each with pros and cons.

#

And I don't even know how I will go forward my self, I am not much into the combat yet.

#

Anyway gotta go to bed. Best of luck and probably ask that question in #multiplayer where the wizards are.

narrow pulsar
#

Will do thanks!

frosty heron
#

For a quick moke up, you can probably try to spawn the projectile locally when the client fire.

Inform server that you fire and have server spawn that projectile.

When the server version of the bolt is replicated to the client that predict, you can interpolate the client version to server version position.

I dont think there's a scenario where everything is perfect. In real world, latency is a fact.

You just have to go with the one that you can tolerate enough.

narrow pulsar
#

I'm just not sure why it's firing from a different position (or rather, it's going towards a different position) when shooting from client vs when shooting from server

#

one variable is clearly different locally vs server im just not sure which and why

#

I'm checking it out right now but i'll have to find a way to have it be the same locally / client and it should only be affected by latency

swift musk
#

Hello im wondering if anyone can help me out? im trying to create an actor compent based on stats like health,food,Thrist,Stamina and Mana (for spells latter on)..i created all the variables and ect..instead of using the begin play. I want to create an fuction ..i know how to set/get but im confused at what goes inbetween those nodes...if possible for a video example

pure jolt
#

can someone help me with a replicated health bar not updating for client?

#

like for 5 mins?

#

client can actually damage the enemy and they do lose hesalth. But ui updates for client only when server hits the client

faint pasture
#

show the code path that updates the UI

faint pasture
pure jolt
#

Its a 1v1 game and its a health variable with repnotify and it uopdates in the function. Here's a photo. The print string on the last photo are being called when client hits server but ui just wont uodate for a reaosn

swift musk
faint pasture
#

So the first thing after AnyDamage should be HasAuthority

pure jolt
#

done🫑

faint pasture
#

Get that working first

crimson briar
#

I was about to say, doesn't the icon on AnyDamage mean it only works on server?

pure jolt
crimson briar
#

Or am I misremembering

faint pasture
pure jolt
faint pasture
#

just set the replicated variable.
Let the onrep be what triggers clientside stuff

pure jolt
faint pasture
#

Might not even need HasAuthority, I think Damage is gated anyway. Worth checking.

pure jolt
#

okay, 1 min

#

alright, so shoudl I test now?

faint pasture
#

should be nothing

#

Later you'll want more stuff to detect dying etc

swift musk
faint pasture
#

What I'm saying is to set the current values to max values on begin play, and on tick do the regen

#

HP = MaxHP, Mana = MaxMana

#

etc

swift musk
#

Roger! let me do that

pure jolt
faint pasture
#

you need hits to happen serverside

pure jolt
#

alright, thanks for your advice. Will have a look and let you know! thanks again

faint pasture
#

multiplayer is hard

pure jolt
swift musk
#

is this right? it looks kinda werid

faint pasture
#

Why are all these stats integers anyway?

swift musk
#

waiit dose the max health need to be on the output side? coz its not letting me plug it in that way
oh i choose the wrong thing lol - they were supposed to be floats

dark drum
# swift musk Hello im wondering if anyone can help me out? im trying to create an actor compe...

Shameless plug. πŸ˜… In this video, you can do the same thing for other stats so it's not limited to oxygen.

https://youtu.be/yi5Zjpy9O9o

In this tutorial, I’ll show you how to create an oxygen supply meterβ€”ideal for underwater games, space environments, or any scenario where oxygen management is key. We’ll start by setting up a dedicated folder and blueprint, then dive into adding components to the game state and building out the logic to track and adjust oxygen levels.

Yo...

β–Ά Play video
swift musk
dark drum
swift musk
swift musk
#

@dark drum can i dm u?

somber minnow
#

I'm going to use an event dispatcher, but I don't want to use a heavy cast to actor. Do I need to use the Bluprint interface and the event dispatcher together? Is there another way?

rose crest
#

If that actor will be loaded anyway when you need dispatcher. Just cast

dawn gazelle
remote galleon
#

Guys, I have a stupid question.
Assuming my actor has a certain angle in world space (so its rotation is not 0) I am trying to add an angular impulse (make it spin) but with the rotation that follows the local space axis - currently by doing this it spins but along the world space axis (so it doesn't respect its relative rotation) - how do I fix this?

faint pasture
#

you want to add an angular impulse in the local forward direction

#

so forward x somenumber is your impulse

#

assuming you want to roll, idk which axis you're talking about here

remote galleon
#

The yaw @faint pasture

#

but the actor itself has a 10Β° pitch

#

And all I want is for the angular impulse to respect that 10Β° pitch and rotate along the new "up" vector that is well, 10Β° slanted

#

the local forward vector of.. what? the actor or the component?

#

since the impulse is applied on the component mesh

fleet prism
#

Anyone know why I cant connect thies two pins?

swift musk
#

@faint pasture is this right? or have i done it the wrong way again?

faint pasture
remote galleon
#

@faint pasture given that the impulse is applied in world space to the component and not the actor, what kinda forward vector do I need? I tried both to no avail (actor forward and component forward vector)
(I also tried up vector)

#

Like, it spins but still along the world axis and not the actor's axis

faint pasture
#

although if this is pinball you should use a constraint set up as a motor IMO

remote galleon
faint pasture
#

The world has a forward vector, as does the actor, as does a component, etc etc.

remote galleon
#

That thing is so weird, especially the angular drive and the constraint

swift musk
faint pasture
remote galleon
smoky grail
#

ALOO In my game I'm tracking progress to unlock stuff through the savefile, because I'm not really sure how else I'd do that, but I have this issue where I can't really add new unlockables without telling my playtesters that they have to delete and remake their save file. It makes sense to me why, because the save file is already created, so I can't add new data to it rather than just reading and modifying the data that's already there if that makes sense, but was wondering if there was a workaround for this?

#

Not entirely sure if it's the right channel but I'm using blueprints for my savefiles so shrug3d

faint pasture
#

What is the record of what has been unlocked

remote galleon
#

@faint pasture okay I got it setup and now it just reacts to the ball approaching, stays in the middle and swings back and forth - how do I actually apply an impulse to it and have it stick in the up / down position?

faint pasture
#

let the motor do its thing

#

Tune the stiffness and damping to taste

smoky grail
# faint pasture What does adding a new unlockable look like in the save?

Literally just adding an integer to an array to track the unlock progress, although thinking about it now it might actually be fine now that the array is a part of the save object? They might just have to delete and remake the file the first time now that the patch has been pushed to make sure the new save file has the array in it Hmm the record of what's already been unlocked is just an array of booleans, might have jumped the gun on asking without checking with a second unlockable though, I'll test that rn please hold uuh

remote galleon
#

@faint pasture yeah but here's the thing: if I do it via blueprint (add a 25Β° angle) it does absolutely nothing (the EIS input fires, I checked) - but if I add the 25Β° angle on the details panel (so before runtime) when I press play it swings right into place - I noticed that if i add a small impulse after I set the angle it works - but it feels weird, hacky and stupid and I'm probably missing something

#

Like, this works, which is painfully stupid

remote galleon
#

The phys sim is sleeping? Is there an "awake, you idiot" node?

faint pasture
remote galleon
dawn gazelle
faint pasture
remote galleon
#

Thanks for all the help

lean schooner
#

epic should have a "most beautiful blueprints" contest every year, i would love to see if anyone has as pretty blueprints as me πŸ˜›

lean schooner
#

i am w i n n e r

dawn gazelle
lean schooner
#

gorgeous 😍

#

i was going to share mine but i think you guys are just trollz πŸ˜›

cloud token
#

Procedural generated blueprint

smoky grail
frozen hedge
#

This is in my ignite spell actor, for my quell spell actor, how can I on overlap collision, destroy this specific component, it's a cascade particle system for the emitter.

crimson briar
#

Not sure if there is a way for the particle itself (without any blueprint callign it) to destroy itself on a specific overlap, never done it with particles.

frozen hedge
#

This is my quell logic on the left

This is my ignite logic on the right

#

But it still ain’t deleting?

#

If it has the tag, it goes from true on the branch

faint pasture
frozen hedge
#

Yeah separate actors

faint pasture
#

Are you intending the ignite sets an area or thing on fire and quell gets rid of the fire?

#

Specifically what is ignite meant to do?

frozen hedge
#

Put a cube on fire in this case, quell gets the fire destroyed

faint pasture
#

What does it mean to be set on fire, that a fire actor is spawned?

#

The simplest setup I can think of is like this.

Ignite spawns Fire

Fire does whatever

Quell does an overlap and destroys any overlapped Fire

frozen hedge
#

That’s what I am trying to do

frozen hedge
#

When the fire projectile particle is overlapped with the cube

faint pasture
frozen hedge
#

The fire projectile actor

faint pasture
#

The projectile IS the OnFire effect, basically?

frozen hedge
faint pasture
#

I'd rather have the projectile spawn an actor representing something being on fire.

#

Why not do it like this:

Projectile spawns Fire actor when it hits.

Quell does an overlap check, destroying all overlapped Fire actors.

#

Easy, simple

#

Just give the fire actor a sphere hotbox and the particle component.

hollow arch
#

how to make sure the points dont touch each other by a certain radius or length?

faint pasture
fading raptor
#

Hello everyone ! I've got a problem : I'm trying to code in BP a pipe puzzle (the ones in which you connect an energy source to a receptor by rotating pipes and such) but I can't get any print for side detection.. I've already got the rotation part covered tho. Does anybody have an idea ? Thanks in advance !

fading raptor
#

I've left it as is, is it a problem in that situation ?

#

well I'm detecting if the collision boxes overlap so does it need one ?

#

I can't check overlapping boxes with that ?

#

so I need to make it scene components or something like that ?

#

well that's what I'm trying to find out since no Print are displaying despite overlapping

dawn gazelle
#

Overlapped Component == The component on this actor that was overlapped.
You're currently checking "Other Actor" which is the other actor that caused the overlap and setting that actor as "Pipe Connected" and checking if one of Pipe Connected's components are == to this actor's components, which it won't be.

#

You probably just need to swap it to use "Other Comp" instead.

fading raptor
#

oh ok !

#

that works now, thanks !

remote galleon
#

This is probably a very stupid question... but given a spring arm and a camera (that work)... how do I clamp the camera from going "too far in" and clipping into the character's mesh?

#

That is, when my pitch goes too far

placid elbow
#

Hey all,

Any idea on how to debug a state that gets entered through an evaluator? Breakpoints aren't working when this happens :/

lucid apex
#

Hello all, if anyone has faced this kind of issue and knows anything about it, please let me know. I am stuck with an issue related to Cesium and Exponential Height Fog.

Cesium renders the world on a spherical globe, while Exponential Height Fog in Unreal is calculated relative to a flat, world-space height axis, which effectively makes the fog behave like a horizontal plane. Because of this, when I move further away from the Cesium origin, the camera looks like it is far from the Cesium tiles, but in reality it actually goes inside the fog area. Eventually, everything I see becomes the fog color and nothing else is visible.

I can’t use two fog actors, and I can’t shift the Cesium origin due to some project complexity.
I also can’t make the fog volumetric, because I already have volumetric clouds and performance is a concern.

So what else can I try to make this work?

lucid apex
obsidian mulch
#

ok in game animation sample project we have a beautiful turn in place setup but want it to qwork like that of the lyra project is there a way to configire it like that with out writing the entire lyras turn in place system
by lyra style i meant if rotation exceeds certain threshold then then instead of accumulate rotate in that direction as per controller rotation yaw
tried using brach in the function get rotation Mode to return relase if yaw. abs more than 85 but character animation does not behave like that

dark drum
#

Do anyone know if there's resourse on using the 'Mover' plugin? I'm looking for initial setup and overview of setting up basic movement from scratch.

Everything I can find just says to enable the mover examples. πŸ˜… πŸ₯²

white parrot
#

Setting up movement would be through ProduceInput via the IMoverInputProducerInterface instead of your usual InputActions.

dark drum
white parrot
dark drum
white parrot
dark drum
white parrot
# dark drum Just trying to setup some basic movement similiar to what you'd have in the temp...

So in ProduceInput you're feeding the data as you would normally, only to the FCharacterDefaultInputs struct (which inherits from FMoverDataStructBase) instead of the usual.

here, you would get the same value of IA_Jump, but feed it to the struct, and adding the data to the struct (assuming it exists)

Syntax is a little different in blueprints.
You would also need to bind to OnPreSimulateTick to register the collection first

void AMoverCharacter::ProduceInput_Implementation(int32 SimTimeMs, FMoverInputCmdContext& InputCmdResult)
{
  MoverDefaultInputs.bIsJumpJustPressed = bJumpJustPressed;

  InputCmdResult.InputCollection.AddDataByCopy(&MoverDefaultInputs);
}

Kind of an abstract example...hopefully this is somewhat helpful.

wintry saffron
#

I got ue5.7 and it dosint show a already made character for you to play as so I dont know how to make my own character for the game

lean schooner
#

you use "first person template" or "third person template" etc and it will have starter content including a usable ready made character

dark drum
white parrot
dark drum
white parrot
dark drum
last peak
dark drum
clever swallow
#

mover plugin example shows a lot features of this component, I just went through all levels in the map folder this week

surreal peak
#

If walking itself doesn't handle it (we made our own walking MoverMode), then it would be done via an Instant Move Effect or whatever they are called.

#

And yes, the "Jump Just Pressed" boolean is supposed to be only true in the frame that the key was pressed, not every frame it is held.

#

We don't use the Default Movement Inputs anymore either though.

dark drum
dark drum
surreal peak
#

Mover is pretty simple in that regard. Although I can't comment on BP usage. We ripped out BP support for it.

dark drum
surreal peak
#

Yop.

clever swallow
#

yup , I found it's more important to understand c++ part of the mover samples , read that cpp code first

dark drum
#

Am I right in assuming that the mover just handles velocity (including angular) for a given actor based on the movement states. So ultimately everything boils down to calculating the desired velocities based on the active state?

surreal peak
#

You basically have a MoverComponent which has multiple MoverModes and optional MoverTransitions. Each MoverMode can also have optional MoverTransitions. Each SimFrame, Mover/NPP asks you to "produce input", which is just the struct it will sent to the Server and then perform the local move with. And each move is divided into a "GenerateMove" and a "SimulationTick" call. GenerateMove is basically meant to create a set of data that is meant to be used in SimulationTick to actually perform the move. E.g. "I want to move with 100,0,0 Velocity." SimulationTick then takes that and tries to move with it.

surreal peak
#

Aka "PreviousState" + "Input" = "Output/NewState".

#

What that exactly boils down to is up to each MoverMode.

#

There are also LayeredMoves (that get "layered" on top of the current MoverMode) and InstantEffects. Think they also added Modifiers and such, so it can get a bit more complex, but those are used when needed and more an optional thing.

#

I don't think we really use Layered Moves much in our setup.

#

Instant Effects would be things like a teleport.

#

Other than that, you have two types of transitions you can do. Transition being MoverModeA -> MoverModeB.

#

The first one is within the SimulationTick of a given MoverMode. Here you can set the new MoverMode in the Output Param, in case the logic within SimulationTick determines that it should change. An example:

Walking might notice that, after moving forward, it can't find a valid floor anymore, so it changes to Falling.

#

There is a small thing about "refunding time", which has to be understood when working with this, but yeah.

#

The other transitions are actual objects that can be placed onto the Component or individual MoverModes. Component ones are aways evaluated. MoverMode ones only on the active MoverMode.

#

Example for those would be a transition that checks if you want to go into MoverMode_Swimming based on same transient WaterState.

#

Since you don't necessarily want to have a manual transition in every MoverMode, hardcoded into SimulationTick, you can use those Transition Objects for more generic transitions.

#

E.g. we have one that puts us into a MoverMode_Vehicle, whenever the player is inside a vehicle seat. Which can be at any point, as even NoClip players could enter a vehicle during debugging.

#

So that Transition sits on the MoverComponent.

#

But yeah, in theory, simple system. Can get complex if you start using all its little tools.

#

Don't necessarily think this is a plugin that should be used in Blueprints, but I leave that up to you.

faint pasture
#

Battlefield but you have 10 hp and a pistol

surreal peak
#

Yeah, but I would equally recommend the CMC tbh.

faint pasture
#

and vehicles

surreal peak
#

Mover + NPP isn't really cheaper once you add back all the fancy stuff that the CMC supports and Mover is lacking.

maiden wadi
#

Mover fully replaces CMC right? Like can you basically ditch the entire ACharacter class?

surreal peak
#

I still think turning the CMC into something modular is better, but well.

surreal peak
#

BUT, Mover doesn't have all the features that the battle tested CMC has.

faint pasture
#

To me the most important thing is that ejecting from a moving non-predicted vehicle is smooth, and that the CMC is doing nothing while you're in the seat

surreal peak
#

RootMotion support is pretty bare minimum. There are no fancy "Land on Platform + Jump off of Platform" thresholds. Stuff like that.

maiden wadi
#

I might test it out later on singleplayer stuff. Always interested in removing that stupid ass separation of needing two sets of code for common things just because one is an actor and the other has to be a Character and you can't easily inject your own parent of the two.

surreal peak
#

We "trick" Mover into thinking that it's doing BasedMovement while being attached.

#

I coded that into the MoverComponent directly.

#

As soon as the UpdatedComponent is attached, it runs through a different code path that returns the attach parent etc. as a MovementBase, so you won't get corrections while attached.

#

And we then, on top, put the player into a MoverMode_Vehicle, which doesn't do shit, despite yeet you back into Falling/Walking if you exit the vehicle.

dark drum
faint pasture
#

ok so Seated is basically BasedMovement but you can't move and don't run all the math that would be involved with moving relative to the base until detach

surreal peak
surreal peak
faint pasture
#

I really gotta dive into the new physics replication stuff, I'm still using the OG path from UE4 and it works great even under bad latency. Not predicted of course.

surreal peak
# dark drum You mentioned root motion support is bare minimum. I've noticed the dedicated pl...

I can't comment on the Chaos version, but NPP Mover also ticks a bit different than expected. We use the fixed tick version and the DeltaTime is rounded (a lot). So when playing a Montage on the Mesh Component ( we don't use Layered Moves for this ), we progress the internal playposition via that DeltaTime. However, that causes the Montage and the internal playposition to slowly drift apart, which means that the visual movement doesn't fit the actual root motion anymore..

#

CMC also has code to specifically handle SimProxies with RootMotion.

#

SimProxies can easily go out of sync with RootMotion.

#

So the CMC allows them to be "ahead". They basically take the replicated RootMotion and allow the SimProxies to forward predict its transform if their Montage is ahead. Otherwise, it looks out of sync pretty quickly.

#

WHich are those things that I mean with: Mover is lacking battle tested features that CMC has.

clever swallow
#

I tried to combine Locomotion plugin + Mover component for my character , but I can't get the root motion work properly πŸ˜…

maiden wadi
#

Which is Locomotion?

clever swallow
surreal peak
# faint pasture I really gotta dive into the new physics replication stuff, I'm still using the ...

You do get corrections upon entering/leaving the vehicle. Mostly cause the Interaction for entering is not running through NPP, so it's not "predicted".
Server is always at least 2 frames behind, even if ping was 0 (due to buffering), so if the Server and Client both attach to the Vehicle in the same frame, the Server would still process 2 older frames attached while the client wasn't attached. NPP is one of those things that you gotta fully commit into or live with some corrections. And fully committing into is not necessarily easy, as NPP is very specific and it doesn't fit all "things" (e.g. an inventory).

#

I would probably suggest to stick with CMC for Multiplayer, and use Mover for now only for SIngleplayer stuff. And be fully aware that C++ is probably needed, as a lot of Movers features aren't even exposed to Blueprints.

maiden wadi
surreal peak
#

And then maybe wait for Chaos Mover to be fully done in idk how many years.

clever swallow
#

maybe locomotion plugin just for level sequencer

surreal peak
clever swallow
surreal peak
#

CMC also has RootMotionSources, which are only really exposed to Blueprints through GAS, but can be added without GAS too in C++ or if exposed properly.
Those RootMotionSources are what LayeredMoves could be used for.

#

I might also be a tricky person to ask about all of this, cause we altered Mover.. a lot.

dark drum
clever swallow
#

Mover run on its independent thread, has about 100ms delay , everytime I run the example level, i felt dizzy

surreal peak
clever swallow
surreal peak
#

Mover does have some delay coming from input and what not. But 100ms sounds a bit high.

clever swallow
#

yes , maybe 60ms

surreal peak
#

Yop, we also tick Input before NPP produces it, to have the most up to date input. :D You'll find a lot of people that will say that i'm pretty negative about NPP/Mover, but we are using it for 18+ months now and the amount of changes and fixes needed were tremendous.

clever swallow
#

when play a game , delay more then 50ms nearly unplayable

white parrot
clever swallow
wide beacon
#

im trying to make this logic so that the ammo is reloading from spare ammo, spare ammo is set to 90, but the gun is able to reload way more times, my slip and ammo is set to 30

maiden wadi
white parrot
faint pasture
#

You're losing the information about how much was added to the magazine

wide beacon
faint pasture
#

There's probably some way to do it without a variable but I'd just cook up how much you're gonna move then add to mag and remove from spare

#

R -> Transfer = Min(blah, blah) -> Mag += Transfer -> Spare -= Transfer

wide beacon
surreal peak
#

You would realy benefit from using a function here, instead of just the EventGraph.

faint pasture
surreal peak
#

That would allow you to create a Function Local Variable, which only exists within the function, so you can store some temporary info to use later within said function.

#

I wonder if another fix could be to just swap the order of Ammo and Spare being set.

#

Ah no, there is a Min(SpareAmmo, ..) nvm.

faint pasture
#

I'm sure there's some clever way to do it but just make a temp

#

it's a similar problem to swapping 2 variables without a temp

surreal peak
#

Yop, but please do that in a Function and not in the EventGraph.

faint pasture
#

a=a+b; b=a-b; a=a-b
This swaps A and B without a temp so probably a way to modify it to work for this problem

wide beacon
#

this is really confusing me, I'm quite new to Unreal, im at uni atm so I'm still really trying to wrap my head around blueprints hahha

faint pasture
#

do it correct, then try to get clever later if you want

wide beacon
#

so in the function i create an ammo system?

faint pasture
#

I think I sorted out the clever way, makes sense if you think of it. It's like unloading the clip then reloading.
Spare = Spare + Loaded
Loaded = Min(Spare, ClipSize)
Spare = Spare - Loaded

surreal peak
#

Your problem is that setting "Ammo" relies on "SpareAmmo" and setting "SpareAmmo" relies on "Ammo".

#

The second you set "Ammo", it alters the math behind setting "SpareAmmo".

#

So you need to store the amount of ammo that you "reload" somewhere before modifying either "Ammo" or "SpareAmmo".

#

For that you need a new variable.

#

HOWEVER; it's yucky and bad to create such temporary variables in the class/blueprint itself. You should make a function called "ReloadWeapon", which which you can create "Local Variables" instead.
Those don't exist outside the function.

faint pasture
wide beacon
wide beacon
faint pasture
surreal peak
faint pasture
#

it's 3 sets

surreal peak
#

In your step 2, your ClipSize - Ammo breaks, because step 1 already sets Ammo to 30, while you expected it to still be 5.

wide beacon
surreal peak
#

The corrected math introduces a temporary variable:

Upon Reload
------------

1. (Temp Variable) AmmoToReload = Min(ClipSize - Ammo, SpareAmmo) = Min(25, 90) = 25
2. Ammo = Ammo + AmmoToReload = 5 + 25 = 30
3. SpareAmmo = SpareAmmo - AmmoToReload = 90 - 25 = 65
surreal peak
#

My math example assumes that you shot 25 times (given each shot takes 1 ammo) before reloading.

wide beacon
surreal peak
#

Doesn't matter, the problem is the same.

#

You can even shoot once and reload.

#

Because you are first setting Ammo back to 30

#

And then you use Ammo to calculate how many SpareAmmo to remove.

surreal peak
#

But Ammo is already set back to 30, so ClipSize - Ammo results in 0.

wide beacon
#

so i wouldn't be taking any of the spare ammo because its at 0?

surreal peak
surreal peak
wide beacon
faint pasture
# wide beacon this worked

There are many ways to skin a cat, the version with the temp variable will also work.
Whatever you do, make sure you UNDERSTAND what you're doing and why it's working or not working.
Do you understand why your first version didn't work?

surreal peak
#

Yeah that's a bit more important, cause you seem to not understand why it's not working in your attempt.

wide beacon
#

Kind of, I still find it quite hard to follow how blueprints work, I'm just way too new to them and didnt really expect game dev in my course s,o wrapping my head around it has been a challenge.

surreal peak
#

I think you are expecting the result of the initial "ClipSize - Ammo" to remain whatever it first calculated.

#

While in reality, it gets recalculated for every connection it has.

#

Which means while it might have been "30 - 5" or whatever "Ammo" was at the time the player pressed R, once you set Ammo back to 30, the next time you use that set of nodes, it will calculate "30 - 30"

wide beacon
surreal peak
#

If we focus only on the "Set Ammo" node and what you connected to it, and we take my example of reloading with 5 Ammo left in the Clip, you'd get this.

#

That's clear so far?

wide beacon
#

yes that maths makes sense

surreal peak
#

ClipSize - Ammo gives you how money bullets you need to refill Ammo fully (25 in this case).
Min(SpareAmmo, ClipSize - Ammo) ensures that you don't reload more than you can (still 25 in this case).
Ammo + Min(SpareAmmo, ClipSize - Ammo) then adds the needed bullets to the current Ammo value (25 to 5 , resulting in 30).

#

Okay, so the White Exec line that I didn't blur defines the order of how things execute.

#

So the R Key Press first reaches the Branch (which is blurred), and then the "Set Ammo".

#

And only after that it reaches the "Set Spare Ammo" (also blurred at the moment).

#

That means, after the "Set Ammo" node got executed, Ammo is now 30 again.

#

That's important to remember. Now let me change the blur a bit to focus on the "Set SpareAmmo" node.

#

When you calcualte what to subtract from "SpareAmmo", you are now calculating with the updated "Ammo" value.

#

That results in the left part now calcualting 30 - 30 = 0. So it never removes any "SpareAmmo".

wide beacon
#

ah okay that makes more snese

surreal peak
#

The nodes circled in red all "re-evaluate" for each connection they have.

#

So the 3 nodes on the left don't save the initial 30 - 5 = 25.

#

Which is why we say that you "need" a temporary variable to save the result to.

#

So before you set "Ammo", you first have to store the number of bullets that need to be reloaded somewhere.

#

You could make a new variable in the Blueprint and use that, but that's ugly, as that Variable is temporary and won't be needed outside of this logic.

#

Which is why we suggest you to make a new function and move the code into that, because Functions allow having "Local" variable, which only exist within that function.

#

Either way, once you have that magical 3rd Variable created, you set it to the result of your Min(SpareAmmo , ClipSize - Ammo) before setting "Ammo" and/or "SpareAmmo".
That variable will then hold the 25, and you can use it to both add to Ammo (5 + 25 = 30) and subtract from SpareAmmo (90 - 25 = 65).

#

I don't think I can explain it any simpler, I hope this helps :D

wide beacon
#

i think i get it now, sorry for being hard to work with, i appreciate your help.

surreal peak
#

No worries. You aren't hard to work with. I taught students at the university a bit and you always have peeps that need a bit more time and more detailed steps before it clicks.
Doesn't really say anything about how good they are in the future. I had peeps that were really having a hard time and by now work in software dev just fine, cause it eventually just "clicked" and the rest became surprisingly easy.

#

The majority of users on e.g. this Discord here just doesn't have the time (and potentially nerves) to do this very often.
Been a while since I helped someone this way too. Just make sure to avoid users that get frustrated and try again later.
Or maybe consider asking your prof or other students instead. A tutor might also be a good thing (that's what I was at Uni basically, for C and C++).

wide beacon
wide beacon
surreal peak
# wide beacon I've tried to ask my prof multiple times, I basically get ignored hahaha

Yeaaah, idk how it is where you live, but our Uni basically had the main session with the prof, and then a secondary thing where you went to train. Our Uni required some weekly homework, because we had no limit on how often you can repeat the exams, so they filtered "bad students" with a point requirement at the end of the semester (points gained via that homework).

The person who did those secondary sessions was usually a student that already passed the overall topic with basically one of the highest scores you can get. They were then hired to teach for an hour a week + controlling the homework.
You could always go to those sessions and ask questions, let them explain things to you (especially the homework), etc.

And then additionally there was a tutoring session, where you could go to ask even more questions.

We usually didn't ask the prof itself, cause they always just read/write off of their paper that they have for the past 10 years and then leave the room :D

unborn anchor
#

is this a good channel to post questions about my blueprints?

#

So I'm trying to make a jump for my physics object pawn but it seems to be tied to framerate even though im accounting for delta world seconds. Any idea what I could be doing wrong?

faint pasture
#

JumpButton -> add impulse is correct

unborn anchor
#

ok let me try removing it

faint pasture
#

A jump is instantaneous, it doesn't have a duration. One frame your velocity is X, the next it's y

#

you will jump giga high if you don't change your number btw

#

also jump height isn't linear with impulse

unborn anchor
#

yeah I had to make it high for my guy to jump decent

unborn anchor
faint pasture
#

I'd just change that variable name to Jump Z Velocity and turn on Vel Change

#

try like 2000

faint pasture
#

You could do the math to convert from desired jump height to the jump velocity but I'd just not do that, rename the variable and call it a day.

unborn anchor
#

thanks mate seems to be working better now

#

is this slight variation something to worry about?

faint pasture
unborn anchor
#

roger

#

thanks again

faint pasture
#

Just remember forces for continuous things (rockets, tires), impulses for transient things (knockback, jumping)

unborn anchor
unborn anchor
#

or anything that moves over time instead of an instant impulse

faint pasture
#

no need

#

You would use delta seconds if you were wanting to accomplish force-like behavior with impulses.
Impulse = Force x Duration
If you use AddForce for continuous things it'll have the time handled for you.

unborn anchor
#

ahhh

#

so the forces node auto applies/takesintoaccount delta time

faint pasture
#

I do my tire physics with impulses for reasons, so I do end up using the timestep there, but I could also just use forces in which case I wouldn't

unborn anchor
#

gotcha

faint pasture
#

Basically calling AddForce means "For the next frame, I want to add this much force to this thing, accelerating it via physics"

#

Calling Add Impulse means "I want to instantaneously change the speed of this thing"

unborn anchor
#

makes sense now

#

youre tha goat

trim matrix
#

hi, if i have a video file i want to play when a level opens, to mimic a cutscene for lack of better wording, how can i get the video to actually play? i have gotten other videos to play in widgets using the same method of media textures into ui materials and opening the source of the media player, but this one seems to just not be cooperating, ive tired using an actor to create the ui and just the level bp itself to create the widget and they both do but then the video is static on the first frame, the video file is in my movies directory for the project as well

mental trellis
#

Have you checked the output log?

#

Have you actually told it to play?

trim matrix
mental trellis
#

Tried sequencer?

trim matrix
#

no bc im playing mulktiple other videos this same way and its working just fine for them

maiden wadi
lean bolt
#

I'm looking for some help in figuring out an appropriate data structure. I am limited to blueprints for this project, which makes it a bit troublesome.

I have an event system for button presses, and I have an enum for state. I need objects to be able to register to a button press and an enum. So ObjectA registers to 'Button A pressed while Enum B is selected', and maybe ObjectZ registers to 'Button B pressed while Enum C is selected'. Multiple things can bind to the same event, so naturally I will need an array of objects.

I can just hardcode arrays for each combination, but thats annoying.

I can't create a C++ structure to use as a key to a map even though that would be best. Blueprint structures don't allow for equality operator stuff I don't think, please correct me if I'm wrong (I'm also afraid of blueprint defined structs, it used to be very buggy, unsure if thats still the case in 5.7).

I could map the button to an int in the 10s place (e.g., 10, 20, 30), and map the enum to an int in the 1s place (e.g., 1, 2, 3) and add them, and then use that as a key to a map. That could work if I wrap the array in a struct again, but I'm not sure if that would be problematic. That would at least not change at all ever, since its just a wrapper, so there's less chance of blueprint corruption and such.

I could do some lame-o string operations, get the IA name as a string and append that to the enum as a string, but I'd rather not due to performance concerns (not sure if the concerns are warranted).

Anybody have any suggestions?

#

For reference, there will be about ~5-10 events, and ~5 enums

faint pasture
lean bolt
#

the actual registered object number will probably be pretty small though, no more than like 15 at a given time

#

just a guess

#

realistically, it would probably be more like 3 enums and 3/4 events at a given time, but it could go higher

faint pasture
#

I'd probably just cook up a way to encode event,enum and send that to a dispatcher, which will forward it to anyone who could care. They can just each check if it matches their state

#

if their event,enum state is stored inside themself

#

yeah it'd be some branching but a total nothingburger unless you're doing this per frame over tons of actors

#

in C++ I'd do a event,enum key into a multimap but you don't have that in BP I don't think

#

even then it's still not free perf, for something this small iterating might be faster

lean bolt
# faint pasture yeah it'd be some branching but a total nothingburger unless you're doing this p...

I have an abstraction layer on top of the CMC, and my movement states (not modes, states - wall running, ledge hange, etc) have different conditions to evaluate them.

For instance, wall run would evaluate 'can I wall run' on tick while in the falling CMC mode, but slide should only evaluate when pressing crouch while in the walking CMC mode.

So some of them might be on tick sometimes, though I'm not sure about how many actors. Its single player, and I'm unsure about how to get NPCs to engage in wall running and stuff lol.

#

this setup scales well to a lot of different types of modes, and doubles as an ability system. This is where I'd like to 'equip' the slide state, and have the slide state tell the movement system 'you need to check if you can slide now whenever you press crouch and are grounded'. But I don't want to do the check if I don't have to.

#

these objects are not instanced though, and can't contain actor specific states. the movement manager has to read and act. Hmm. Let me think about that actually

faint pasture
lean bolt
#

I personally can, yes, but not for this project :[]

#

I guess maybe I can make an argument for C++ structs. those are super simple to understand, probably the easiest way to get introduced to C++ anyway...

frosty heron
#

I would use gameplay tag as states instead of enum

golden kayak
maiden wadi
#

My response to more than one bool driving same state.

golden kayak
maiden wadi
#

I'm already questioning the first one.

golden kayak
#

If only our programs could read our minds

white parrot
maiden wadi
#

Almost inevitably your checks start as Yes/No. Then you need Maybe. Possibly jumps in a week later. Sometimes joins in a month after that.

golden kayak
white parrot
golden kayak
maiden wadi
#

My food brain agrees that this makes GameplayTags superior. No one wants a 1 bite sandwich.

frosty heron
#

Gameplay tag also allow for multiple states (gameplay tag container).

ancient moth
#

hi guys, just because I ask last time in #cpp how much should be done in BP, if prototyping is valid in BP. I wanna know what you guys think, how muc work and what work should be done in BP and what in cpp?

frosty heron
#

My precious performance!

frosty heron
white parrot
maiden wadi
frosty heron
#

Personally for me the ratio is 90% in cpp soo far.

Bp for asset reference, widget blueprints and high level blueprint assets.

I tend to go heavy on cpp because I had my fair share of silent blueprint corruption.

ancient moth
#

Ohh wow so you also are heavily on the cpp side, I thought you lean more towards bp.

#

What do you think about StateTreeTasks, also a lot of cpp?

frosty heron
#

Blueprint logic are applied to only widget and spells for me because I wouldn't mind redoing a bit of logic.

white parrot
frosty heron
#

I haven't explored states trees, though I should.

Just using behaviour tree at.

frosty heron
ancient moth
#

And what about thinkgs like GAS abilities also mainly in cpp?

white parrot
maiden wadi
#

GAS abilities should be mostly done in BP. That is gameplay scripter territory.

frosty heron
ancient moth
frosty heron
#

You should just dive in tbh, its something you figure out along the way imo.

maiden wadi
#

Tasks are structural though. Wait how did you do tasks in BP? I thought those were an async node? Can you do those in BP?

ancient moth
#

For me its like the thing, BP feels it's "faster" to implement, since you are not compling and if you have to fix something its quite quick. But C++ ofc is way more strucuted and feels way cleaner and easier to implement, especially having a programming background.

white parrot
ancient moth
#

Would you also tend to do GAS abilities in C++?

white parrot
#

I dont use GAS so i can't answer that question, but if i would and it could be done in C++ (without heavily modifying the engine for it) i would.
There's no definitive answer, a lot of times the overhead is negligible that it comes down to a preference

frosty heron
#

Every GAS abilities in my project have a blueprint asset. Most logic are done in the bp.

#

There are some heavy lifting on the native class, such as instancing new ability but other than that. Mostly in bp.

ancient moth
#

Ok cool, but that really reassures me to do even more things in cpp if you guys are also leaning to do a lot in cpp.

frosty heron
#

My rule of thumb is, anything high level and a few nodes can be done in bp. Especially if the object is contained. Like GAS spell or gameplay effect.

#

I will not make a whole system in bp and deal with spaghetti but that's just probably skill issue on my end.

ancient moth
#

But it's mostly structural reasons right? Because BP might be limited to a degree and that they can get messy and code is way better to manage in that regard.

And use BP more for "design" choices and configuration but not really the logic behind it, or just simple logic right?

ancient moth
maiden wadi
#

Realistically, you'll get answers to this question ranging from BP only to C++ only to anywhere in between. And I'm not exaggerating about that. But realistically it just depends on your style and or who you're working with. Don't do it because people tell you, do it because you and or the people you're working with find it the easiest way to achieve your goals.

white parrot
frosty heron
#

Everyone journey is different.

frosty heron
#

I was still heavy on bp before I deal with corruption.

ancient moth
#

Yea for me I was a bit hesitant in regards to the Cpp thining like I'm trying to work against the system or something

#

but i also know there is cropout and you could do a whole game in bp

frosty heron
#

You are making the system. Start building and you will figure it out.

maiden wadi
#

Kind of. Even Cropout's earlier systems hacked CommonUI a bit to make it work. And also Cropout is an exceptionally simple singleplayer game.

ancient moth
#

and i get that for designers bp might be more acessible, but also understanding now that bp is or should be just the tip of the iceberg

frosty heron
#

You shouldn't do whole game in bp for any project that is not a prototype or simple.

#

IMHO.

#

100% bp is just asking for pain. Not to be smug but things like bp struct break.

white parrot
frosty heron
#

And not being able to use unexposed function is not great.

ancient moth
#

Ok cool but I really appriciate you guys feedback, I feel way more confident to rely heavily more on cpp

maiden wadi
#

Yeah. That's another fair point too. To focus on prototyping. It gives you really good real experience. Games change fast and need a fast playable iteration. So it's good to throw stuff together fast. And you get experience both being able to do that, as well as compose it later into something better and more stable afterwards. And those are invaluable industry skills.

frosty heron
#

I'm not saying go heavy on cpp. If you start building your project you will get the feel on what to refactor and not.

ancient moth
ancient moth
white parrot
frosty heron
ancient moth
maiden wadi
#

The people that frequent that channel usually aren't the ones doing that. They're largely engineers who get put in a dark room to make things work the best way possible.

ancient moth
frosty heron
#

Don't game jam actually not so great in some aspect?

I think it depends on what skill you want to hone.

A lot of people focuses on rapid prototype for game jam. They bundle something quickly but the moment they need to turn the project serious, they have to refactor majority of the code or scratch it all together.

sand shore
#

I generally advocate for involving C++ but I really can’t recommend you iterate in C++ during prototyping unless you need to

frosty heron
#

Close editor, compile. Cry. Repeat.

ancient moth
frosty heron
#

Nah

sand shore
#

You’re gonna have much better velocity towards fun in BP even if you reimplement everything in code later

ancient moth
#

Because livecoding is not to bad as long as you are not chaning the sturcutre of you class that what they say

white parrot
frosty heron
maiden wadi
#

The main thing about gamejamming is that it's a requirement for publishers or advertising. It's better to spend two months throwing together something that could be shit and getting told it's going in a drastically wrong direction or is entirely stupid and being able to scrap it than spending six months to a year making it well design project structure wise and being told the same thing.

ancient moth
#

But thank you guys a lot now I'm looking forward to write some more Cpp code πŸ˜›

white parrot
#

Remember, the best blueprints are the ones in c++

ancient moth
#

noted ^^

lean bolt
lean bolt
maiden wadi
#

GameplayTagContainer

lean bolt
#

can't use that as as a key to a map

#

...

#

lol

frosty heron
#

Really?

maiden wadi
#

Wait, seriously?

lean bolt
#

...yesssssss

#

all g all g

maiden wadi
#

Weird. I wonder why. It should be hashable...

#

Maybe it was just an oversight and they didn't add the hashing for it.

dark drum
# maiden wadi Weird. I wonder why. It should be hashable...

It makes sense because you can add new tags to the container which could cause issues if it then matches another key. It might be doable in c++ though if your using a pointer but in BP it's always a copy if i remember correctly.

Singular gameplay tags work though.

maiden wadi
#

Conceptually I mean. If you could access the TagContainer, regular Integer or FIntPoint as a reference. Changing their values with that reference is then the same conceptually.

dark drum
maiden wadi
#

Yeah. But to be fair you shouldn't be messing with a Key's values like that anyhow. Like I said. It's no different than having Integers as a key and having 32 already in the map as a key, and getting 7 by ref and changing it to 32.

faint pasture
#

You said you only have like 10-15 options

lean bolt
faint pasture
dark drum
faint pasture
faint pasture
#

thats the problem if they're meant to be exclusive

maiden wadi
#

But two booleans.

dark drum
lean bolt
frosty heron
#

Bitwise operator only make sense for networking to me

weak citrus
#

is there a defined order for BP construction scripts in a hierarchy of child actor components?

wraith loom
#

Are Event Tick nodes always called first, or does anything (like physics or delays finishing) get called before it?

crimson briar
crimson briar
# wraith loom Are Event Tick nodes always called first, or does anything (like physics or dela...

There are tick groups, you can change which tick group the actor belongs to. There is a pre-physics group, post-physics group and a few more.
https://dev.epicgames.com/documentation/en-us/unreal-engine/actor-ticking-in-unreal-engine?utm_source=chatgpt.com

Epic Games Developer

Explanation of the ticking system used to update Actors each frame.

#

As for delays... I'm not really sure. They are not strictly connected to ticks, another system handles latent actions.

mental bobcat
frosty heron
storm solar
#

Im trying to get my character to jump and 'lock in' the momentum or play input they have so there jump arc is consistant and can't be influenced by player controls. kind of like castlevania. Everything online tells me I should adjust air control but turning it to 0 kills all momentum.

crimson briar
#

There is midair braking or something like that within the jump settings

#

It also affects falling though

dreamy mountain
#

im trying to make it so an npc runs the opposite direction of the player when they get too close, how would i go about figuring that out? ive got all the sensing right, its just making it so the npc runs away

#

so when the player overlaps the sensing, it runs in the opposite direction of the player

faint pasture
dreamy mountain
#

thats what ive got in terms of movement

#

havent got anything custom persay, literally just using whatevers available in ue5

#

Flee is the event i want to call to make it run in the opposite direction

maiden wadi
maiden wadi
faint pasture
#

there needs to be a roam mode, and a panic/run away mode

#

at least a bool somewhere representing the state

dreamy mountain
faint pasture
#

Just change how the point is chosen

maiden wadi
#

Not specifically. This really is an EQS/BT issue.

faint pasture
#

well yeah if you wanted to do it for real but for this learning example it's worth making it work

maiden wadi
#

BT should detect that it needs to flee, and take the path of running an EQS that picks a move point away from the flee target and moves there.

#

I'd take the detour of learning it, honestly. This is a very small example, so it's a great oportunity to learn it early on before you get too much logic.

dreamy mountain
#

ive never heard of eqs let alone use it lel

#

what does it do differently that i cant do here? only reason im using stuff that i know is because i procrastinated too hard and my assignment to make a game prototype is due on the 6th

maiden wadi
#

It's just the more correct way to do it. More scalable.

#

Adriel is right though, you can just pick a different location in your Roam there if you know it shoul dbe fleeing.

dreamy mountain
#

how would i actually find the location though? no nodes to figure out that math/logic comes to mind

maiden wadi
#

Find UnitDirection from the player to the self. This is a 1.0 size direction. Multiply this by how far you want the thing to flee. Add it to self's location, project to navigation.

surreal peak
# dreamy mountain ive never heard of eqs let alone use it <:lel:848999118353203301>

Environment Query System. It's more tied into the existing AI stuff that comes with the engine. It allows generating a set of unfiltered points (e.g. a square, a circle, a donut, or something custom if you want to generate your own set of points). And then you can apply filters to the generated points, that either fully cut points away or apply a weight to them (e.g. the closer the better, or the more behind the target the better).

The whole thing is designed to be modular and reusable. Different Generators and be mixed with different Filters (resulting in a Query) and Generators and Filters can each have parameters. Some even runtime evaluated ones (e.g. "What is the forward direction for the 'filter everything behind this point' filter?").

#

I think it also allows generating a set of Actors and filtering those. Not just points.

#

E.g. one could generate all enemies and then filter so that the closest and mostly in front actors are chosen.

#

Filters can also be custom written, so there isn't really a limit.

#

Could check if a path via navigation exists. Or have the points that are generated be provided by a cover system so that an AI can find the best cover point to walk to.

celest jungle
#

Hello everyone. I'm working on a third-person game and I need to make it so that the player can control both of the character's hands separately when climbing a rock. For example, by holding a button and using the mouse to guide the left hand to a specific ledge, the character could grab onto it, and the same with the right hand. I just can't figure out how to implement this mechanic. I’d appreciate it if anyone knows how to do it.

astral stratus
#

Question, Im trying to Learn Gas and im having a bit of a problem trying to implement the hold left click to continuously attack inside gas but it wont work, but seems to work fine in the actor component... could someone help me?, I tried to replicate what i did in the actor component but it seems like its having an issue

Here is the working BP inside the character component
https://blueprintue.com/blueprint/fgk53k01/

Here is the BP not working inside the Gas system
https://blueprintue.com/blueprint/il688iwa/

And i have this inside my character blueprint
https://blueprintue.com/blueprint/ztdkjo_a/

faint pasture
#

Just choose a random point in radius around a spot that's projected away from the player

#

or choose a bunch of random points around the AI and choose the one most away from the player

#

however you want to express it

unborn anchor
#

I know this is a herculean ask and feel free to just tell me "yeah man youre cooked" but I have the very basis of a game with movement and such but I wanna test online capabilities with blueprint only. I havent done much research yet but from what I gathered on the documentation is that there really is not an official document to guide someone through this. Ive gotten as far as clicking replicate and starting a test session in editor which only shows movement from the server and not from any clients (which I can only add 1 other for somereason)

Do you guys know a good source to learn how to adapt my simple game to work with friends? no need for a dedicated server or anything.

dreamy mountain
#

theres a couple of youtube tutorials out there for it

maiden wadi
#

You can test it in editor pretty easily with BP only. At least what you have already. Though there are things you'll need to set up correctly for it. As Player said there are some guides on it. BP networking stuff isn't as robust or nice to use as C++, but you can do a prototype at least.

crimson briar
#

I personally used the gamedev.tv multiplayer course for it. You need to do some C++ but it isn't that hard with a course, they guide you through it. Although I never actually tested it with Steam, only between a PC and laptop in a standalone version.

maiden wadi
crimson briar
#

Yeah I'm just saying it to communicate that I didn't use the course to completion

frosty heron
next hollow
#

Completely random thing.
Why can't the threaded update for animation blueprints just NOT access rotation?

#

Some weird limitation with the property accessor, or some legit reason?

tawny harbor
#

Following a blueprint tutorial, why did it work with him but not me, i have to use the cast to bp_thirdpersoncharacater and not it's variable

here it works

#

here it doesnt

frosty heron
#

Both looks terrible imo.

#

Never cross pin like that

tawny harbor
#

nevermind i found the fix

frosty heron
#

If this is some kind of damage box, just run a timer that checks for overlap every X seconds. Then apply damage.

tawny harbor
tawny harbor
#

if it works it works, i'll make it function and run smoother in the future

surreal peak
#

Should just store Actors on BeginOverlap in an Array and remove them on EndOverlap. And then use a timer or tick to apply damage or whatever to the array elements.

surreal peak
tawny harbor
placid elbow
#

I'm confused as to why this global variable cannot be set more than once?

Current Behavior -> Global variable gets set to true, does not get set to false when it should

Expected Behavior -> Disable Perception correctly sets global boolean to true. Then, Enable Perception should correctly set global boolean to false.

Additional info for pictures if needed:

Picture 1: STT_Change Parameter - Changes the global state tree boolean and lets you choose whether its true or false.

Picture 2: Evaluate Perception - Shows the initial branch logic where it checks if the state tree property ref State Tree Disabled is false then continue( this starts off as false since we want AI to receive input on start)

Picture 3: State Tree - 1 -> Shows the initial bindings to ensure these are correctly setup. 2 -> Showcases what the value should be at the point in time (Enable perception = true, disable = false as we can see)

#

also - I'm not sure why but I never get responses back for any of my questions. Is there something I'm doing wrong here?

frosty heron
placid elbow
simple berry
#

Is there any way to truly tell which actor/asset an error is coming from? I cannot package my project at all, All i have done recently is replace my GPU, and the output log seems to just link back to the default code for user defined structs. there are no other issues flagged, just this. Its a pure blueprint project. And I am able to package a fresh project just fine

maiden wadi
simple berry
frosty heron
#

maybe need debug symbol to see meaningful error msg

maiden wadi
# simple berry here it is

What is this \BigMapPannel.uasset?
LogLinker: Warning: [AssetLog] E:\Unreal Engine Projects\CodemakersGame2\Content\ThirdPersonBP\Blueprints\Minimap\BigMapPannel.uasset: VerifyImport: Failed to find script package for import object 'Package /Script/MinimapPlugin'
This is the last link that was attempting to load before the ensure triggered.

#

But yeah as ColdSummer said, definitely worth grabbing symbols to get a real callstack to see if it might give more info.

simple berry
#

Its a widget overlay for when you pull up the 3d minimap view, and alright i can see about that

simple berry
#

I cant seem to decypher any issue with the symbols installed, the log seems to purely be referring to the core engine things still?

frosty heron
#

Family=14.36.32532, FamilyRank=1, Version=14.36.32548, HostArchitecture=x64, ReleaseChannel=Latest, Architecture=x64, Error="UnrealBuildTool requires at minimum the MSVC 14.38.33130 toolchain. Please install a later toolchain such as 14.38.33130 from the Visual Studio installer.")

#

@simple berry

#

Written in your log

simple berry
#

thats... weird? I see no available updates and have the latest version enabled in the visual studio installer

frosty heron
#

To my knowledge if you don't want to specify the version via the text file then you need to only have the right msvc installed (e.g removing the older ones)

simple berry
#

apologies, I went into the installer and uninstalled all versions except for the .38 one, the error is now gone for detecting a wrong version, but the same issue for everything else is still occuring

frosty heron
#

Share the new log.

#

You normally want to see the first error at the top.

#

Having multiple errors is quiet common and for packaging, there is no room for error.

simple berry
frosty heron
#

Can you build from visual studio instead and share the build output

#

Maybe that will point to the relevant error more.

bitter arch
# simple berry

check if you installed Desktop development with C++ in visual studio?

simple berry
simple berry
bitter arch
# simple berry is this possible to do without converting the project into a C++ one? its curren...

Have you used any plugin like this?

  1. Missing plugin / broken asset references

The line

VerifyImport: Failed to find script package for import object 'Package /Script/MinimapPlugin' and the references to BigMapPannel.uasset

means your project contains assets that depend on MinimapPlugin, but that plugin is not installed or not enabled in the project. Because the plugin code can’t be found, Unreal can’t load those assets, so they fail during import

bitter arch
frosty heron
#

You can package bp only proj but i don't know if the output log in the editor equivalent with the build output.

slow plank
#

rate this blueprint

slow plank
crimson briar
#

Anyone can make a random mess of wires. The problem is where someone actally uses blueprints like this