#blueprint

402296 messages Β· Page 403 of 403 (latest)

fiery flower
#

Hi everyone,
I have a question about the best workflow for a climbable actor.
My actor has 2 Static Meshes:

The visible model (the mesh players see).
The climbable area mesh (the collision/trigger area).
The climbable area mesh is always the same. However, the visible model will change a lot.
Instead of creating many Child Blueprints in the Content Browser, I want to drag and drop this single actor into the level multiple times. Then, for each instance in the level, I want to change its visible model mesh and edit its transform values manually.

I think this is a common logic in unreal, but I couldn't find how to do it properly.
Does anyone have an idea how I can set this up? Thanks!

dark drum
fiery flower
# dark drum Create a static mesh property and make it instance editable. Then its just a cas...

I actually thought about this and tried it, but it doesn't allow me to select the model mesh directly in the viewport/level. The transform gizmo only appears for the actor itself, so I cannot select or move the individual model mesh component.

Additionally, I found the 'Is Editor Only' option in the actor details. When I enable this, I can click on the model directly in the viewport, which is exactly what I wanted. However, I am not sure if it will keep its transform values when I package the game.

dark drum
fiery flower
narrow kite
#

How often does a set event by timer run? If it's set to 6 seconds is it still checking per frame for the established time?

#

And can you run a regen timer without updating per frame? Such as using a different method or in a BP witht the tick rate adjusted?

fiery swallow
#

but it's really not a problem unless you have an unreasonable amount of timers and delays

narrow kite
#

And what actually happens on a BP if you adjust the tick rate? Doesn't that mean it's only runnig at those points? Not every frame?

fiery swallow
#

if you wanna get gigga pro dev optimized just have one timer that manages regen across the board

#

A regen manager

narrow kite
fiery swallow
#

it has no effect on anything given that unreal is mostly event based

fiery swallow
#

but essentially yeah it's just one timer reading values and updating the right actors

#

you could throttle it to maybe x amount of actors a frame

#

you likely wouldn't need to throttle it at all unless you plan to have a lot of actors utilising it

narrow kite
#

Then it will be a design choice. Such as do enemies all have a natural regen. Or just rely on specific mobs casting their own heals and to others.

fiery swallow
narrow kite
crimson briar
fiery swallow
#

I would imagine it's only a problem to have timers running on loop if you had literally hundreds of timers

crimson briar
#

Anyway, most likely you won't be able to make a dent in performance with timers on some spawners

#

Don't hyperoptimize things that might never be a problem

narrow kite
fiery swallow
#

I find overall people don't use managers nearly enough. Managers, Subsystems, or even the AInfo class

#

I did in fact have a spawning system where I placed tons of spawn location actors, but it was the manager that actually ran the loop to spawn the enemies

crimson briar
#

Well it depends. If it is just a static "spawn X here" each spawner managing itself is fine. But yeah, if the spawning is more complex and has some other rules, or there is A LOT of spawners, a manager might be better.

steady night
#

Hey Guys im having this annoying AI issue, when my ai is walking upp the stair it gets stuck in this section..... is there anyway to controll how the nav should work here ?

fossil depot
#

I mostly have ADS down insofar as I can use the weapon bp itself to call the player camera to attach to the camera on the gun slot. However even having it set to reverse on the TL and such it doesnt go back to normal. I was trying to do it in the character BP but I am dumb and dont know how to reference the ADS camera on the weapon BP from there

night kettle
#

anyone know of a different discord UE5 for beginners? Not trying to be rude, just wanna get some actual help rather than "Do this" with no context at all

steady night
night kettle
#

like in ue or just on youtube, i've been focusing all my time on adding and integrating systems, which has been very hard, but pretty fun.

steady night
#

youtube

#

start with following base tutorials thers some greate teachers out there

night kettle
#

i find my issue is that there are so many obsolete ones that its hard to find ones that will not just work in the instance, but meld with the projects systems itself

#

hence the inquirys for the very basics of adding very simple stuff

steady night
#

dont try to meld them just do seperate tutorials

#

and try and change stuff etc,

#

worked for me

night kettle
#

i did a see a warning on reddit that im not doubting at all that there have been thousands of new peeps the tutors have givin time to and then they dipped and prolly feel burnt out from that cycle

#

hmmm i'll try

steady night
#

well yeah, Devving is not for everyone

night kettle
#

true that

steady night
#

same as cooking food and eating food, very different

night kettle
#

i like the grind myself

steady night
#

yeah thats good, but its the errors that will test you and your patience

night kettle
#

but it would be nice to have a homie in the corner being like "look over here nerd"

steady night
#

thats where most give up

#

yeah ofc, this channel is greate for that

night kettle
#

oh i hear that, the first thing i did was spent 4 months making an entire inventory

steady night
#

ive been here probably more then loads of ppl, but i still suck and ask stupid questions, i just cant stop devving so got that going

night kettle
#

it was wildly the worst tutorial to follow. but i got it after 3 months...then deleted cuz it was shit lol

steady night
#

jupp

#

ive done 1000 of those

night kettle
#

haha

steady night
#

now making an inventory is easy peezy

#

depending on how u want it do work ofc

#

its just grinding, each failure is a lesson

night kettle
#

agreed that one was to get like widget training and like basic int,bool, etc training

steady night
#

or rather an improvement for next project

night kettle
#

now im trying to just add enemy attack variations, and then player attack combos but based on what weapon type it is

#

seems easy, yet here we are

#

i know its easy too

steady night
#

once u get it, its easy πŸ™‚ you can just pm me with those stuff we dont wanna take up the channel for those simple stuff, im fine with helping since ive got all my help from here

night kettle
#

perhaps a trade, i know a few things

#

you mess with UDS or Chaos?

steady night
#

i DMΒ΄d u

narrow kite
#

This passed trained bonus float is set as a reference.

#

Shouldn't this increase it's value beyond the scope of the function? Since it's updating the reference not just a new variable?

#

I created a test float and did it the same way. It works. It's just not reading the game tag - float.

dawn gazelle
narrow kite
# dawn gazelle Not in the case of a Map. The "Find" node doesn't return a reference to the val...

Thanks, not the worst thing, but kind of a shame. The variable being sent needs to be specified for the verification before changes are made. That just means after the result the reference needs to be established again for the update.

Since it's per stat, vocation, upgrade it's going to occur each time. Overall not a huge deal at all. Just a shame since the reference is already a built in feature that just won't work here.

dawn gazelle
#

One of the issues in using maps.

narrow kite
#

Something seems off here. When I click to update to the stat it only updates every other click. 244, 246, 248. It's updating and counting correctly, but only displaying every other time. When I removed the * .5 on the level it doesn't have an issue. However, the level isn't changing.

I also printed the variable. At this point it shows 224.5, 225.5, 226.5. I'm not just sure how that *.5 seems to be effecting this?

#

After that is set this is called to simply update it

#

It feels like a rounding error. The only value being changed is +1 to trained bonus on the bottom. Which shouldn't have any relation to the level * .5. It should be just adding the new value (while the top isn't changing)

#

Is it an order of operations and calculated wrong?

#

I tested it with other stats that work the same way. Everything in the menu updates every click and shows all correct values. As soon as I multiply the level (which isn't changing) it only updates on the menu every 2 clicks.

dawn gazelle
#

Probably an order of operations issue. CalcArmor might be getting called after the text is being updated. Put a print string immediately after your "ADD" to see if it gets called and prints out the correct value there.

narrow kite
#

Floor, Round etc want to conver it to an int. Is there a way to round without changing the type?

#

Looks kind of dumb, but it works

#

That keeps the comma format

dawn gazelle
#

This prints out:
0.5
1
1.5
2
etc...

#

Unless you've changed something in the ToText(Float) node, then the value should be whatever is stored in the map.

narrow kite
#

There be a difference between the displayed output in the UMG widget vs a print string

#

I'll test it

dawn gazelle
#

Shouldn't. Widgets just display whatever text you feed them. The text is generated from the ToText(float) node.

narrow kite
dawn gazelle
#

There's your problem. half to even when using fractional digits 0.

narrow kite
#

Well not rounding, just dropping the digit

#

It's not even dropping seems to be round up.

#

Anyway that conversion can resolve that. This seems wrong in whatever it's doing
149.5 = 150
150.5 = 150

dawn gazelle
#

Removing the decimal points means it is stripping the decimal point first and then rounds it.

So 1 results in 1.
1.5 results in 1
2 results in 2
2.5 results in 2

Which is the behavior you're experiencing.

narrow kite
#

But in the menu it's only updating every 2 (counting both 149.5 and 150.5) for example as 150

#

Then 151.5 print strimg = 152 152.5 153.5 = 152

dawn gazelle
#

As I just explained...
If you set fractional digits to 0, it strips the decimal points first and then attempts to round it.
So if you input 0.5, it'll result in 0.
If you input 1, it'll result in 1.
1.5 = 1 (for the second time...)
2 = 2
2.5 = 2 (for the second time...)

narrow kite
#

Since the level doesn't change it's always .5

#

This is a way of properly rounding it. Round, floor etc. Whatever is going on by setting the display to 0 digits doesn't seem right. Hence it's only updating every 2 values. Yet the variable increase 1 every time.

#

In the menu it also shows how many times it's been incremented.

#

Anyway with the conversion it shows correctly. It updates every click.

#

Without the conversion the menu will only update every 2 clicks. That shouldn't be possible with a +1 value. Regardless of the decimal. 1.9 and 2.9 should be either 1, 2 or 2,3

dawn gazelle
#

It's not a proper way of rounding it. That's converting the float to an int64. (Well.. technically the round is converting to an int32, but at least its not using more memory than it needs to)
Just use a "Round" node and use that output. This works perfectly.

narrow kite
dawn gazelle
#

It still uses double the memory footprint of an int32, even if briefly. It would only be necessary to use an int64 if the number was larger than ~2.1 billion.

#

If you wanted to use the ToText(Float) node without any decimal points, then it looks like the From Zero or To Zero options are the rounding modes you want to use.

#

Half From Zero seems right from testing.

narrow kite
# dawn gazelle If you wanted to use the ToText(Float) node without any decimal points, then it ...

The int 64 is a design issue where circumstances may arise when it's needed, but not necessarily always known. The stats not designed to be capped. Thus exp, available exp, spent exp could easily exceed that. In testing or something like a boss not meant to be defeated could feasibly have 5B HP. So while most standard stats shouldn't achieve it I'm not sure I would want to go back or make exceptions when it occurs.

dawn gazelle
#

In which case, you probably shoudln't be using floats at all.

#

Though... Unreal is supposed to be using float64 under the hood now too <_<;

#

But how those numbers are stored is wonky, and you can always end up floating point errors being thrown into the mix.

narrow kite
#

Int/Int 64 needs to be converted to floats for calucations.

dawn gazelle
#

Uh.

#

No.

narrow kite
#

If you toss them into calucations without converting them you may not get the expected results.

dawn gazelle
#

I think you may be misunderstanding how computers do math.

narrow kite
#

Using whole numbers in calculations involving multiple fractions isn't a great idea. Rounding issues alone can cause problems. I don't trust the nodes to perform basic math either if the result is supposed to take an int and divide it even with a float result.

I have tested examples where it just doesn't work.

dawn gazelle
#

You don't use whole numbers to represent a fraction <_<

#

integers are whole numbers. There are no rounding issues involved with them at all.

narrow kite
#

Even the earlier example was wrong. It was counting 14.9.5 as 150 and somehow 150.5 as 150

#

It should either round them up or not. Not something in between

dawn gazelle
# narrow kite Int/Int 64 needs to be converted to floats for calucations.

This is factually not true. You can do calculations with whole numbers entirely without involving fractions and floats. As soon as you introduce floating point numbers, you start to introduce problems with fractions. It has nothing to do with the integer being a problem, it has everything to do with how floats are represented.

#

Yes, you must convert to a float if you want to mix the types.

#

And you're expecting a decimal point answer.

#

But the real issue is, that if you're using a float to represent a whole number that is greater than 2.1 billion, it is actually less accurate then using an integer64 and you will encounter floating point errors because it is a floating point number you're using.

#

If you're saying your mobs have 5 Billion HP.... Then fractions don't matter.

narrow kite
#

Even things like how level effects stats. In that example eariler you gain Level * .5. (1 stat point per 2 levels).

dawn gazelle
#

Which could be the same thing as 1 stat point every level, but everything costs 2 points.

narrow kite
dawn gazelle
#

The 5% one is a little harder on my brain to solve quickly atm XD

narrow kite
#

I just used .95 ( as 95% remaining)

#

Evasion bonus could be (Level * .4). So the math handles it and the menu's just round down.

#

If Evasion is an Int you should convert it to a float and mult it then convert back

dawn gazelle
#

Yeah I agree, it is easier to use float for just such a reason. I did try to correct myself stating that under the hood, Unreal is using float64 now, so really having 5 billion HP shouldn't really be a problem for it. Before the switch and using float32, a mob having some value of 5 Billion HP would not be able to be properly represented since those same number of bits can only be used to represent up to 4.2 billion values, so the accuracy of dealing with HP values on a mob with 5 billion HP would go out the window. If it had exactly 5 Billion HP that probably wouldn't be a problem but as soon as you say, subtract 10523 HP from it, even though its a whole number, may actually result in 12582.6267 HP being subtracted because it can't properly store 4999989477 in 32 bits.

narrow kite
#

The cost mult can't be an int

dark drum
# narrow kite The rounding in that case occurs on the digits displayed

As was mentioned, the issue is down to the rounding mode. Half to Even is a little weird and only really used in finance. (Something to do with preventing rounding bias in a given direction)

As the name implies, if the number has a decimal of 0.5 (half) it will round to the nearest even number. If it's not, it'll round normally.

3.5 = 4
4.5 = 4
5.5 = 6
6.5 = 6

Just a case of changing the rounding mode on the to text node.

modern cove
#

Does the Player Character get "Respawned" ie: Run its Begin Play sequence every time a level is opened?

maiden wadi
#

Define Level being opened.

#

OpenLevel, or a streaming level?

dark drum
maiden wadi
#

Seamless still kills off the world. It also just allows PlayerState to copy properties.

modern cove
#

Ah sorry; As in an OpenLevel command is used.

#

I was trying to find out why my dead character was briefly becoming visible again before the Respawn sequence. My PLayer Character's Begin Play has a node that sets the Material's visibility to full.

narrow kite
narrow kite
modern cove
narrow kite
modern cove
narrow kite
#

The binding actually seems like it would be far superior if you could just adjust their rate. All the bindings, updating, and transitioning information between BP's was already done in the binding.

frosty heron
narrow kite
#

The attributes menu was updated to remove all bindings and shift the variables to an attribute component. It refreshes only when needed, calculates exp spent, upgrades individual stats, and validates all the info.

I updated the bottom info for player data. So they can see how many upgrades where purchased and total spent per stat. The right menu is hidden until clicking on a stat which works as a pop up menu to explain stats.

Thanks everyone that pitched in to help with this process. (The combat system was updated for it also)

dark drum
narrow kite
frosty heron
narrow kite
livid flare
#

HI, I have an actor with a skm just playing an animation, how to change the sequence to play at runtime, can't find the right node

narrow kite
livid flare
frosty heron
#

Montage works with anim blueprint not anim seq node.

livid flare
frosty heron
#

Why do you need the anim bp?

#

Can you just show the whole code.

livid flare
#

I just have an actor loaded into the scene who just play an animation sequence (as in the pic I posted)
I'm trying to change the animation at runtime, is that possible or do I need to setup a custom logic with or without an anim bp

livid flare
#

I'm trying to access the animation asset - anim to play

frosty heron
#

And the client have the skm asset assigned to it?

#

If you want to just play anim then play anim should play to the new anim you set.

#

Do you have any nodes related to set leader pose?

livid flare
#

nope, I first set the skm so it let choose an anim sequence, after that I can remove the skm

livid flare
frosty heron
#

Wdym remove the skm πŸ‘€ ?

livid flare
#

Oh cause I was obsessed in reducing the actor size map, I guess I could leave the skm on the guy πŸ˜„

#

I'm gonna try with a skm to see if it works

#

I guess I need the anim bp too, I'm gonna try if it works without first

crimson briar
#

You don't need animation blueprint to play single animations

#

But you do need SKM, yeah. How would the skeletal animation work without the SKM?

livid flare
livid flare
quasi hearth
#

hey guys what's the point of making getter and setter functions instead of get/set directly in the event graph? I'm seeing a lot of articles suggesting to do it but not a lot of explaining why you should do it

crimson briar
#

For me personally setters make more sense than getters. I very rarely make getters, I just don't see a reason most of the time

#

In big projects getters and setters are supposedly helping maintain code and debug what changes what and where but dunno, I didn't work on a big project like that

dark drum
gray flame
#

Hey guys, I have a problem β€” I followed this tutorial in detail, but I'm stuck on the step at around the 19:00 mark... could anyone tell me why? (I've been pulling my hair out for a while now haha). Here's the video link and my screenshots right after. https://www.youtube.com/watch?v=zYYNTBOR8AI

I always really liked how the text boxes would fill in the zelda games, and it always seemed to help me retain information a little bit easier. so let's make our own! we'll set up a dialogue component that can be applied to any object, item, or mesh in our worlds and then used to communicate information to the player. we'll even add in a custom ...

β–Ά Play video
#

My Widget Blueprint

#

My BP Characters player

#

Bp Actor Component

frozen hedge
#

So what is not happening @gray flame

#

Any of it?

#

Anyways in bp actor component, the interface call, check speaking isn’t connected

#

The left pin isn’t but the right is

gray flame
#

When im near to my NPC and click en my interact button nothing appear

wide tree
wide tree
frozen hedge
#

As you set the interface and you call it on top of it makes no sense

gray flame
frozen hedge
#

As normally you would press e, and call the speech interface, set the speech interface in npc talking

gray flame
#

i have done nothing on the NPC Blueprint

frozen hedge
#

Interact trace function on player bp

#

Is that ever firing?

gray flame
gray flame
#

sorry a lot of questions haha

frozen hedge
#

I know your issue

#

You called speaking on speaking, you must call speech instead

#

@gray flame

gray flame
#

oh ok, but how i call it ?

frozen hedge
#

INCSpeech

Search that up

#

And press on that it should say

INCSpeech (message)

gray flame
#

still not working πŸ™

frozen hedge
#

If you go back through the yt video you probably missed something out

gray flame
#

do you know why ?

#

i write "Hello there" When i press E it show "H"

gray flame
gray flame
#

It's ok i resolved it thx

#

πŸ™

frozen hedge
autumn pulsar
#

I was wanting to make a sort of armor colorization feature. What would be the way to pass color values to a material on a per-actor level?

#

I know there's MPCs where it's global

#

I guess custom primitive data?

crimson briar
#

You need a parameter in the material of course

full badge
quasi hearth
#

Hey guys I'm trying to make a moving platform from https://www.youtube.com/watch?v=WznFdYWM2c8
and I copied everything exactly the same, but I can't move the widget gizmo for the InterpToMovement in the viewport. The mesh and default scene root are both set to moveable too. Anyone know why this isnt working?

Hello guys, in this quick and simple tutorial we are going to learn how to make a simple moving platform in Unreal Engine 5
β†ͺ️Just opened my Discord Server, join NOW: https://bit.ly/GorkaGamesYouTubeDiscordServer

β†ͺ️Check out awesome Unreal Engine courses: https://bit.ly/GorkaGamesWingfoxHorrorGame

Check out my Steam Game! https://bit.l...

β–Ά Play video
#

nevermind I just made another variable for the start position and it inexplicably works now

frozen hedge
#

I normally use a timeline

wide tree
#

has anyone used object pooling functionality?

nova kelp
#

Hey all, I'm facing a "beginner" type of issue, but I couldn't find a proper solution to it. I'm building a train game, and basically, I move it along a spline. The spline is built from real world French railway open Data, that I convert into a spline in Unreal.

The issue, as you might have guessed it already, is that because of the shape of the line, segments don't have the same size, with smaller segments in curved areas. This introduces a speed issue where the train will move "slower" (despite having the same speed) when nearing a spline point, and then immediately get back to the expected speed.

I've been trying to solve this issue, and I stumbled upon some reddits here and there but I can't really get my head around it. One thing I have tried was to resample the line to have a point every x meters, but this introduces Bezier wobbliness along the x/y axis which is not wanted. I also tried to resample the line at a 1 meter linear to avoid the Bezier issue, but then it feels like the game is laggy because of all the non smooth increments.

I have included the part of the blueprint where I update the train position on the spline, and a short section of said spline so you can see the point distribution issue. (the full spline in 22kms long).

I have been scratching my head for a week wondering what I'm doing wrong, and I'd love some help figuring that out if this rings any bells πŸ˜…

crimson briar
maiden wadi
#

The division there is making me wonder what's going on with the getter. Distance on a total spline is in UU or cm, regardless of how many points it has or how short or long those segments are.

frozen cairn
#

Hello guys, is it ok and normal to use Motion Matching for Locomotion in target lock mode? I mean target lock for a melee combat.

nova kelp
# crimson briar You showed only how you set the distance, not how you got the value for it - if ...

You're right, sorry, here is what happens before (and I switched my UI back to english, I didn't realize it was in french)

Basically:

  • I have a km/h value that I convert to cm/s
  • I then multiply that by the world delta second
  • I then add it to the current distance on spline
  • I then call my Set Distance Update UI function which is just saving the current distance variable and sending a value in meters to the UI

You can ignore the Current Distance on Section, (Section here is not a spline section but the section between to train stations) and is just collecting the info for debug purposes.

nova kelp
maiden wadi
#

Oh. Meters conversion.

#

I wouldn't do this in code, honestly. I'd stick with cm for simplicity in your code. Your UI can very easily convert cm or km to m

nova kelp
# maiden wadi This is likely your issue. You're relying on section distance. Also what is this...

The 27.777 is the conversion from km/h to cm/s. The speed of the train is being tracked in km/h so I need to convert it to the unit of the spline, so cm, and then to seconds be cause delta time is a fraction of second. So that's what it is for.

I actually track the distance along the full spline (only what is in red is being used to calculate the distance at every tick), so I have "position from the start of the spline" stored in "Current Distance on Spline" to which I add the new distance travelled during the tick (Current Speed in cm/sec * delta time)

#

(Sorry I typed before I saw your two other comments about speed conversion)

maiden wadi
#

Er. Missed one of the space things. All should be World.

nova kelp
gray flame
#

Good evening, does anyone know how I can make it so that in my dialogue, when a sentence is displayed (e.g. index 8), an object appears at a given location? Thanks!

frozen hedge
#

Do spawn actor from class

#

Then choose the location

dawn gazelle
# gray flame Good evening, does anyone know how I can make it so that in my dialogue, when a ...

Your "Dialogue" array needs to be something a bit more advanced, especially if you plan on expanding on this idea, which could allow you to do a variety of things at different points in speech.

Off the top of my head, your dialogue could be an array of a structure containing an FText (your dialogue) and another structure for a "dialogue action" which defines a gameplaytag to indicate what type of action to take, and an instanced struct that contain the details about the action. Something like below.

#

This would allow you to have a variety of different things happen at certain points in the dialogue.

gray flame
#

@dawn gazelle Nice thx! But to be Honest i didn't understand, can you explain it to me in private ?

nova kelp
# maiden wadi Your speed update doesn't need to be much more than this in the end. Psudocode, ...

I have updated & simplified to try your solution, with a set speed. But strangely enough, it is worsening the effect. At some point the train gets blocked. I've recorded a little video (ignore my UI indicators, they are not being updated since I unplugged as much as I could in the BP to test): https://youtu.be/6HICz2wMuvA

Now I'm really wondering if the issue could come from the spline itself.

dawn gazelle
merry cobalt
#

Question - I have A Parent Actor for Enemies and and Child Actors for each enemy. Would it be ideal to create Enumerations, Struts, and Data Table for all that info?

frozen hedge
#

I normally use a data table so for example.

I have a shooter enemy, each enemy needs different health, skeletal mesh and other details.

Create 1 master enemy character blueprint. And use the data table or data asset on that. @merry cobalt

#

Any unique logic create another child class if the different enemies do the same thing as other enemies, keep 1 parent class

merry cobalt
frozen hedge
#

Your welcome

crimson briar
# merry cobalt Question - I have A Parent Actor for Enemies and and Child Actors for each enemy...

To add a little to the answer - if you will keep assets in a data table, be careful about storing textures/meshes there. The entire content of the data table is always loaded when you access even one of the rows.
It is fine if all of the enemies from it will be used all the time but if you have like 50 enemies, and you use 5 in your level - the other 45 will be hogging up memory even though they are not needed. It is fine with simple data types like numbers or text but some assets are way heavier.
The way to do it properly is to use soft references for heavy assets in the data table. Look it up if you think this could be a problem in your project.

merry cobalt
nova kelp
#

@maiden wadi I have fixed the issue, probably in an ugly way: I'm sampling the distance from my resampled line with points every x meters, and then applying the new position on my nice curved line. I don't have the speed slowdowns anymore, and I don't get the Bezier wobbliness of the resampled/subdivided spline. Now I'm going to do a renaming pass on my variable names because looking back into that graph made me realize how confusing they can be. Plus some cleanup πŸ™‚ As always, thanks for the help!

frozen hedge
frozen hedge
# merry cobalt

So what value are you trying to get from data table which ain’t working?

merry cobalt
frozen hedge
#

Did you do get data table row?

#

And grab the data struct from there then set the image?

merry cobalt
#

Nevermind, that did not fix it...here is an image showing what you are asking.

frozen hedge
#

What’s lookup bullet

frozen hedge
# merry cobalt

In here you do spawn bullet base but then you set it after, lookup bullet

#

Normally you would have a bullet class in struct, so for mine

Get data table row (bullet default or ice row name)
The data struct break it and get class etc from it then set the data and spawn actor from class with that class from struct break

merry cobalt
#

ahhh

frozen hedge
#

You understand?

#

You are setting the data after the bullet is spawned not before

#

So the bullet is always default bullet

So you need to set it before spawn actor from class

merry cobalt
#

ah ok.. i see

dreamy ice
#

If I were you I'd check if isReloading? is True instead of a sequence and then if its false run the Exec into your Deactive ADS etc....

#

Theres no reason to run two different sequences like that.

lavish glade
#

ok

carmine prawn
#

That branch isn't doing anything either πŸ™‚

dreamy ice
#

Oh your right! What's with the random branch after the Deactivate ADS

trim matrix
#

Hello there, we are new at unreal engine and we are at jam. I just try to teleport an actor but it doesnt work. We can spawn a new actor but it isnt work for another blueprint class. We should teleport that actor. But "Teleport" & "SetWorldLocation" doesnt work.

#

can you help us?

tight schooner
#

Put a breakpoint on that node and make sure it's executing (right click on node, add breakpoint). I say that b/c by description, what you're doing sounds straightforward.

#

Play the game and if the breakpoint never stops play, that means the node isn't executing. If that isn't the issue, then you have to show us the graph.

#

@manic cradle There's a lot of ways to go about doing kaleidoscopic effects like that. If your goal is to recreate the video, you basically need a render-to-texture effect using a Scene Capture Component 2D. Blueprint can set up and drive the "capture", and the resulting capture can be used by materials.

#

That said, scene capture is very expensive on performance, so you should use it carefully. (Or... depending on how minimal your requirements are, it could be done as a postprocessing material using a screenspace buffer, obviating the need for a separate Scene Capture. Like I said, there are a lot of ways to approach it and it depends on your exact requirements.)

trim matrix
#

I tried it and it doesnt work too it says true (moved successfully)

lavish glade
#

hey guys my character can crouch while jumping. how do I fix that? Do I do it in my jump event or crouch event?

manic cradle
#

@tight schooner my requirements are just as in video, have one object rendered in 4 screens 0, 90, 180, -90.

#

So, whatever approach that can be done relatively fast without much sweat works for me

minor karma
#

guess who's back? me! with a question that probably has an ez solution

#

why can't this break? trying to follow a tutorial, and it says to break that, tho, i cna't

naive patrol
#

because of "multi"

#

if its first hit then make get array 0 and break hit result

minor karma
naive patrol
#

if second or third hit what your want to take info make get array (valueint)

minor karma
#

this is hwo they did it, but i'll try that multi thing

naive patrol
#

i mean out hits

minor karma
#

ah, well, i changed the multiphereX to just wsphere, and it's working now so ty heh

naive patrol
minor karma
#

..?

naive patrol
#

before doing this, you would know how it works single trace and multi traces

#

was nightmare for my beginner days

minor karma
#

probably, heh. rn, i'm sorta just chipping threw the tutorial, sorta picking up as i go

#

sorta a reverse breadcrumb trail lol

#

but i'll do that after this if you say so

naive patrol
#

to be simple: single channel trace always get first hit,
multitraces, will make array which hitted till start-end vector.

#

so if u wanna third hit, then you need to get array(copy) and int value 2 from out hits. (i dont think someone do this so)

#

better to use singletrace

minor karma
#

ah, so, @naive patrol the way i'm sorta thinking about it, is like an fps with limited penetration and hit scan. so like, the line would be bullet path, then each hit would be like, a surface (with programming to dictate walls) so you can tell the bullet to stop after X amount of walls? or is that idea completely wrong?

naive patrol
#

if you talkin about wall piercing, then yeah thats need to use multi hits.

#

So if you want to stop bullet after 3 walls, then same way to make get array(copy) and int value 2 from out hits, and break hit result for location. then it will be stop at that 3rd wall.(with stop projectile or disable movement idk what you using bullet component. its just simple.)

minor karma
#

yee, and okay, not what i'm doing lol, just how i thought of using it

#

tho, another side question

#

is in the tutorial, he can summon that as an event, while i cann't, any idea why?

naive patrol
#

it looks like added interface on anim blueprint? think2 i never did that so idk

analog ice
#

I have a problem where roughly around 1 out 8 jumps attempts if it's near a ledge the button input is ignored. It's strange because his character blueprint is almost entirely the default character (except for changes to the character movement settings). The video doesn't show the problem but is just to demonstrate his movement. What could cause the input to be ignored like that. There are no changes to the actual button input events on the blueprint (it's all default 3rd person character).

naive patrol
#

@minor karma maybe you need to check that interface settings. look at in the tutorial again and do it

minor karma
#

this is the tutorial

#

it was made in 2015, so wouldn't be surprized if outdated

naive patrol
#

yes its interface, you need to add interface from class settings

#

nah its similiar just changed template and some simple things

minor karma
#

fair, well, to ask, how do i do that?

naive patrol
#

did you created interface blueprint?

#

if yes then go to class settings and you can see interfaces

minor karma
#

i did create the class thing they're using

naive patrol
#

what named that class name

minor karma
#

yes, that's were i added it

#

and i don't see it now

#

oh, it's added yeh

#

above the add button

naive patrol
#

yeah its good then find (event can grab) function with right click

#

if not seen, then remove context sensitive checbox

minor karma
#

those are my options

naive patrol
#

sometime happens on my project too

#

okay event and append it what you want to add

minor karma
#

ughh, not following that part sorry

gusty cypress
#

Anyone know how to use VaRest for UE4?

tight schooner
main lake
#

Hey guys, i'm trying to create a level editor inside unreal engine 4 using blueprint, first i need to know what's the name of the component for "tabs" in the Palette UI that can be resized, closed, opened (window menu) by the user please ? By "tabs" i mean like in UE4, there's a "Details tab" or "Content Browser tab" ...

If anyone want to help me please ping me or dm me πŸ™‚

trim matrix
#

Hey so I have been working on an ads system and its working pretty well all though there is like a flicker which I cant figure out why

minor karma
#

FIGURED IT OUT

#

CALL IN EDITOR WAS DISABLED

#

NICE

#

sorry, just letting ppl know i'm cleared lol

high rune
#

Hi,
I have been trying to solve this problem for a while, and searching through YT and forums and I can't seem to find the right thing. I thought it was a more common problem so maybe I'm having a serious brain-meltdown, but here goes:

I have an actor standing on the ground with an arrow component in it. The actor can be controlled through AddMovementInput like a top-down avatar. Now I want to find out whether the rotation around the actor's Z is happening clockwise or counter clockwise. Easy peasy... just get a subtract in there or even a delta rot... but my problem appears whenever my actor rotates across the line of positive and negative 180 degrees. Then my comparison is screwed since (ie. neg.135 CCW to pos.135 is in reality only 90degrees dif, but I'm getting a 270 dif) I assume I need to start comparing the absolute value or just how much it has rotated in local-space. But how?
Please if you have had a similar problem or seen a tutorial or help-page somewhere.

high rune
#

ok, with the most unusual(laughable) solution ever, I managed to get out what I want. I had to create another actor(since it's outside the hierarchy) and read the rotation from a "find at look at rotation" to a component that was positioned away from the player character. New actor is not dependant on the rotation values and just takes the shortest route(rotational) to the target because look at. Might look into this more some other time.

minor karma
#

gj heh

#

i also have another issue

#

following this tutorial, for a ledge grab thing

#

and there's this issue, where when i jump, the traces disappear

#

any ideas why?

#

just jump script uses the "jump" function for well... jumping

vocal urchin
#

Greetings, all. I am trying to use the "calculate velocity from position history" node, which seems to do exactly what I want, yet I'm not able to get it to work properly. How does one create a position history? Here's what I have now.

worthy dew
#

You cant just make a new position history like that, you need to get it from whatever youre trying to measure the velocity of.

twilit lily
#

How can I reference a variable from my blackboard on my character/ai

worthy dew
#

If its not a built in thing then youll (probably) need to make a class variable and populate it yourself

vocal urchin
#

@worthy dew But nothing goes in to the position history node.

worthy dew
#

No but if you have a variable youll most likely be able to call functions on it, to add data to it

#

Youll probably do something like "Each tick, add a sample to this variable (MyPositionHistory) with delta time and current position

#

From the docs it seems its mainly intended for animation stuff, what do you need to get the velocity of?

vocal urchin
#

It's kind of an elaborate thing - I'm trying to adjust the color of a line trace based on the distance between one position and the next. This is purely a debug thing so I can see the speed of a calculated projectile.

#

The greater the distance between the two points, the greater the speed.

worthy dew
#

Gotcha, does the projectile use the ProjectileMovementComponent?

vocal urchin
#

No

#

It's a series of line traces that wind up creating an arc

#

With velocity and drag calculations

worthy dew
#

Alright well, velocity is simply distance over time, so its a very basic piece of math if you know the current position and the previous one

#

The node you want to use is likely meant to reference engine stuff since there is no way of adding data to it through blueprint, though you could if you did it in C++

valid lotus
#

Does anyone know if Get Viewport Size only considers a UMG widget for HUD?

worthy dew
#

I dont understand the question.

valid lotus
#

I'm trying to get the dead center of the screen X,Y,

#

But my test results aren't giving me positive results

#

Or at least, the results I'd expect

#

So I was wondering if Get Viewport Size was considering a UMG widget

worthy dew
#

Seems to me that should work, how off is the result?

valid lotus
#

Hard to say exactly, but it seems like it's offsetting it on the Y by a fairly significant amount... maybe as much as 300-400 pixels

#

I guess I could try to fudge it by subtracting that much from the output, but... I'd like to understand why it's off

worthy dew
#

well the thing youre positioning might have its origin in one of the corners and then youll need to take that into consideration if you want it centered

twilit lily
#

Anyone wanna help me debug an issue?

dreamy ice
#

Sure

twilit lily
#

πŸ˜„

#

Ok so I've got a box collision

#

represents a sword

#

However when I swing the sword it can kill the npc at any angle anytime

#

It full.. weird and not realistic

#

feels*

#

atm this is not the best code, needs some work but its what I've got haha

dreamy ice
#

is the box collision directly attatched to the sword mesh to swing with the sword?

twilit lily
#

Yes

#

Ohhh

#

I know

#

So the character is killing the npc when the npc is behind him

#

because it swings and box collides etc

#

Maybe I can add a branch and bool for facing the target

dreamy ice
#

πŸ€·β€β™‚οΈ

twilit lily
#

I'm sure there is a better way for this, but I'll just do what I can.

lavish glade
#

hey guys how do you fill an animation notify to the whole animation?

ember crescent
#

is there a way to give the static mesh a new possession, so its not inside the spring arm. because now the mesh move when i move the camera.

minor karma
#

okay, so, having this issue, i've tried to solve it a few times, but it isn't working anymore, so i'm turning here yet again!

#

i have this simple script for a run animation

#

and it's connected to this timeline

#

i was thinking this would be a solid way to implement a smooth acceleration/deceleration thing, which it does

#

but, when i do, it requires me to release w to stop sprinting

#

(after letting off the sprint key of c)

#

i beleive it's something to do with the "reverse from end" bit, cause i can re-trigger the acceleration

#

but not the deceleration

twilit heath
#

because your release logic doesn't do anything

#

except flip the bools

#

nothing is set to react to those bools being flipped

minor karma
#

even with it tho, it doesn't do anything

#

(like this, unless oyu mean something else)

twilit heath
#

that doesn't change the acceleration, you'd need to plug it into that branch for that

minor karma
#

oh, well, i tried what i thought you ment, and it worked lol

twilit heath
#

also with a 5 sec timeline, if you were to just tap sprint and release it it would set you to max speed instantly

#

and deccelerating

minor karma
#

this and fair, i sorta noticed that after x3x

twilit heath
#

yeah, Play/Reverse is much better

minor karma
#

yee, it's a little less studdery lol

#

one last thing, is there a way you can smooth the "keyframes"?

#

like that sorta greyed out setting i mean

#

or do you have to manually put that in?

twilit heath
#

i don't use curve assets much, more into typing in a curve function in c++

#

so don't know

pearl rose
#

You can set your keyframe to user

minor karma
#

rip, i was reading the manual, and it doesn't specify you can

pearl rose
#

And Play witht the curve

minor karma
#

wdym by that?

pearl rose
#

Maybe I didn't follow well but you want to have a curve right?

#

So it's not linear

minor karma
#

something like this yee

#

i'm used to blender so sorry if my terms are wrong

pearl rose
#

Right Click your key and check user :)

minor karma
#

oh

#

ty

pearl rose
#

No sorties, I use blender as well

#

Worries*

minor karma
#

lol, well, ty kindly

#

time to rewriting this code for the like, 7th time lol

pearl rose
#

Good luck :)

minor karma
#

ty lol

hidden zodiac
#

Hello, i'm adding a custom UMG BP on a VerticalBox by code, i need to set it's horizontal alignment to right, how do i do it via BP? there's no option of SetHorizontalAlignment after creating the widget, if i use the editor the horizontal alignment option is available.

#

oh i need to cast to vertical box slot first

minor karma
#

heh, gj

#

sorry, i woulda said something, but i had 0 idea lol

dapper kiln
#

I have 9 instances of the same actor. Each of them get a random number between 1 and 9. What is an easy way to make it where the same number cannot be selected by those actors? For example if actor1 picks number 3 then no other actor can pick number 3.

static charm
#

get them into an array

#

then remove them when one is picked

#

(can do checks to make sure it's not itself, etc)

dapper kiln
#

that's what I was thinking too. πŸ™‚ Ok thanks. I was just making sure where wan't some magic node I wan't aware of

minor karma
#

heh, another thing from me!

#

this only last for about about 1/2 a second before disabling itself

#

it also gives this error

#

which, i don't know what it means 100%

#

blueprint runtime error: "accessed none trying to read property callfunct_breakhitresult_hitactor". blueprint> thirdpersoncharacter > exicute ubergraph third person character > event graph > branch

#

i think it simply isn't being sustained, so imma try something around that

#

my attempt at a sustain loop failed

dapper kiln
#

the overlap event only executes once when you overlap and then another time when you end overlap. It doesn't tick or loop. That's my 2 cents hahaha πŸ’°

minor karma
#

yee, i think that's the case, cause it was working with an event tick

#

BUT

#

when i do it

#

it studders like a dying car

#

but it also wont exicute from flat

dapper kiln
#

You can try a timer with a smaller loop time

minor karma
#

oh, that could work couldn't it?

dapper kiln
#

Maybe when you overlap start the timer, then when you end overlap clear the timer

minor karma
#

yee, idk how to make a timer

#

so i'm thinking timeline

#

then when finished, it just deactivates it

#

okay, that's working!

#

it's jank, but working lol

#

so ty

still trellis
#

if i have Spawn Actor From Class, and then I add the spawned actor to an array, does BeginPlay of the spawned actor happen BEFORE or AFTER the array is updated (assuming the add to array node is the next node after spawn actor from class)

twilit lily
#

So I have this on my trap

#

Cast to my character

#

Then this on my character

#

How come its not doing any damage?

#

@odd ember

#

@cobalt ferry

trim matrix
#

I have a piece of paper with a note from the enemy. Want i want to do is when the player reads the note, spawn the ai in the room behind the room with the note

#

how can i do this please?

static charm
#

so in the paper note blueprint or whatever blueprint controls that you're reading the note. Just add a Spawn node when the player goes to close the note.

twilit lily
#

Hey Gallonmate, just up a bit I asked a question. Do you have any idea on that?

static charm
#

yes you need to tell us which part of it's not working

twilit lily
#

There is no damage

static charm
#

use print string/debug it

twilit lily
#

ok

trim matrix
#

yea but i cant add a target point where i want it to spawn @static charm

#

i can only do that in level bp

static charm
#

Cyrpto we need to know if the overlap is working or what part is/isn't working

#

the code looks good

twilit lily
#

Well the trap part seems to be working

static charm
#

awkwarddev, i dunno what you mean you can't add a target point. spawn node accepts any transform

twilit lily
#

as it explodes and plays a sound

trim matrix
#

so how am i supposed to spawn him

#

i want to add a custom location

#

idk how to do it through line trace

static charm
#

i mean will this room always be the same location?

trim matrix
#

yes

static charm
#

alright no problem,

trim matrix
#

let me show you something real quick

twilit lily
#

Oh I got it

#

Im just an idiot xD

trim matrix
static charm
#

okay add him or some object to the place you want to spawn at

#

then copy the location

#

then paste it into the transform for spawning

trim matrix
#

ok and i dont need to be in level bp to do that?

twilit lily
#

So Gallonmate, which would you suggest? The apply damage or a custom blueprint interface for damage?

#

Or both?

#

Can i use both?

static charm
#

i dont use interfaces so i can't say much about it

twilit lily
#

Okay, I'll ask around thanks for the help btw

trim matrix
#

thanks @static charm

#

it worked. Cheers

tall herald
#

Hi, I have a widget with a timer and need it to stay on every level, its basically a game where you clear all the levels possible with a time limit, how do i keep the widget with the countdown across all levels?

static charm
#

persistent level

tall herald
#

thank you

static charm
#

there might be other solutions

trim matrix
#

Ok another question. how can i get the time a widget is up?

main lake
#

why nobody want to help me 😦 ?

trim matrix
#

@static charm

static charm
#

not sure if there is node that can get actor/widget life. but you can just create a timer of sorts

#

Diviersity, whats the question?

#

to make a timer, when widget is created, set a variable using Real Time Seconds or something

#

Then subtract that from Real Time Seconds again when you want to know how long it's been

#

basically subtracting current time, from time when you started.

main lake
#

@static charm I'm puttin back the message : Hi guys i have a question : I'm trying to create an ingame editor (like in this screenshot), and the first thing i need to do is create these window tabs (circled in red on the screenshot )+ window (in blue), how can i do that please ?

static charm
#

Have you looked at Widgets/ UMG yet?

#

those would be the starting point

twilit lily
main lake
#

Yep but there's no "tab" in the palette tool, because i want this windows to be movable/resized like in a real software

static charm
#

you can try asking in the UMG chat

earnest tangle
#

@twilit lily distance 0

#

that looks wrong :)

twilit lily
#

Woooww

#

I can't believe I missed that..

earnest tangle
#

There is an option to draw a debug line on traces, those are usually pretty helpful in pointing this sorta stuff out

twilit lily
#

How can I draw them?

earnest tangle
#

There should be a draw debug line or something like that on the line trace node

twilit heath
#

just look at line trace node

#

carefully

static charm
twilit lily
#

amazing

warm quiver
#

Unreal does not read my key input

#

Overlap runs End Overlap runs, but when pressing F the node does not start

autumn surge
#

hey guys, when you start a game, normally there are logos and mostly a video playing before you get to the main menu screen. how or where is that stuff handled? is it like a pre-menu map and set on begin play?

static charm
#

in the blueprint settings, change Recieve Input to Player 0

warm quiver
#

Ty Gallon

twilit lily
#

How difficult would it be to have my character swing the weapon he has towards the mouse cursor?

minor karma
#

@twilit lily cursor, or camera direction?

twilit lily
#

mouse cursor

#

it's a 2d game

minor karma
#

so, terraria esc?

twilit lily
#

Sorta yeah

trim matrix
#

how can i check and see if my enemy hit my player through a level blueprint?

minor karma
#

my guess is something to do with that @twilit lily but that's all i got, cause as you probably know, i'm a-noob-us

twilit lily
#

Thats a good start for sure

minor karma
#

and i have no idea game dev lol

twilit lily
#

I'm honestly not sure how the animating part would work

#

I figured the blueprint side would be fairly simple

minor karma
#

and yee, my indea, would be like, spawn with an off rotation

#

like, pointing towards x,y -45 β–‘

#

then use a timeline curve to go from -45 to +45

#

(for smoothing and stuff)

#

then despawn

#

is my idea

#

but again, i'm a noob

#

probably not the best way lol

wet ridge
#

Whenever I create an event dispatcher, it is read-only. But I keep seeing tutorials of people who don't have read-only event dispatchers. Is there a way to make an event dispatcher non-read-only?

dapper kiln
#

@minor karma to make a timer just right click and set a timer by either function or event. Then set the tick time. Then to stop it you can right click and clear timer or pause timer etc.

minor karma
#

cool lol, ty. tbh, as i was working, i thought of another mechanic that's a lil more original, which i think i might use tbh, but ty

dapper kiln
#

no problem I just figured I'd share how to do it πŸ˜‰

minor karma
#

it'll most likely come in handy later, so either way ty for the knowledge

steady wharf
#

How would I go about making a stretching swinging grabbing method like if the objects heavy you can’t lift it but if it isn’t you can or something I’ve asked this here before and was told to use a cable but when I tried I realized cables are strictly visual sadly if anybody could help with this that would be amazing

earnest tangle
#

You could try using the physics handle component and see if you can achieve the effect you want by tweaking the stiffness and dampening values

#

Otherwise you would probably need to use some method of applying forces into the object you are grabbing

steady wharf
#

Ok I’ll try that now thank you πŸ˜„

warm quiver
#

I have a Array of lights, how would I change light intensity from that Array (Blueprint)

static charm
#

depends how many or which one you want to change

#

you use Get node and plug in index to change one

warm quiver
#

Ahhh

static charm
#

or you can use a For Each Loop

warm quiver
#

So no way to do it wioth for each

static charm
#

which will use the array itself

warm quiver
#

Yeah

static charm
#

to loop through and can change all the lights

#

just be mindful of doing lots of nodes/stuff from the loop update path

#

from a performance standpoint

#

but you will be fine if thats all you doing

warm quiver
#

Damn, need to get better at UE4 C++ hehe, but after the For Each, what do i use to make it ittarete through the loop or get each component so I can plug it into the set intensitiy node

winter kettle
#

i have a plane mesh and im spawning an emitter at a line trace impact point, but the ground marks of the emitter dont show on the plane

static charm
#

the array element will be each item/actor from the array

#

so it will do Set Intensity for each thing in the array

#

if you connect them

winter kettle
#

seems like the impact point is too low

static charm
#

line trace has debug draw points

#

to show where its hitting

vocal urchin
#

Anyone know why seemingly any two vectors fed into dot product returns only 90 or 180?

static charm
#

i mean start to impact normal would be a straight path from trace start to impact normal

#

so if you dot that

#

...

vocal urchin
#

I'm sorry, my head is spinning

static charm
#

me too bro

vocal urchin
#

If you can break it down for me.

static charm
#

its okay

#

how about i just ask, what you want to get out of the trace?

vocal urchin
#

I'm trying to figure out the angle between the angle of impact and impact normal.

static charm
#

those are the same

#

thats why

vocal urchin
#

Then I'll double that, and use that angle to calculate a ricochet

static charm
#

you want the surface normal?

#

and angle of impact?

warm quiver
#

Thanks @static charm! It also seemed like it needed to know the component class

static charm
#

oh

vocal urchin
#

I think so? @static charm

static charm
#

then just use the normal pin

minor karma
#

hey, quick question, does ue4 support audio effects like phazer, reeverb, etc etc? and/or does it support midi/vst's?

static charm
#

impact normal should be the angle of impact compared to the surface (normal)

#

so use impact normal and normal

#

and try to DOT those

twilit lily
#

How can I make a delay based on an animations time to finish?

steady wharf
#

@earnest tangle I tried using the grab component at location but it doesn’t seem to do anything? Is there anything I have to do before that?

static charm
#

the lastest ue4 does have new audio features

vocal urchin
#

@static charm still 90 and 180 degrees, every shot

static charm
#

hmm

earnest tangle
#

@steady wharf you have to update the grabbed component position on tick

steady wharf
#

Ooooh ok thank you

earnest tangle
#

set target location is the node for that (there's also one with rotation if you want to specify that)

twilit lily
#

This got lost in the comments xD How can I make a delay based on an animations time to finish?

#

If anyone knows ^ πŸ˜›

#

Actually ignore my first q

#

How can I make my attack non-spammable?

#

I imagine with a delay I could set a bool true -> and use a branch to check if its running, but I know there is a better way.

earnest tangle
#

I've used a Do Once node for that

#

Do Once -> perform your action -> Delay to control how long before can be used again

#

then connect the delay so it resets the Do Once

#

Alternatively you could use a timer or event to reset it at the end or something like that

trim matrix
#

Anyone have any good ideas for intuitively generating an RPM value by feeding a players gas on or gas off input. Like for a manual transmission car. My current way I did it in BP is working ok, but it only increases rpm based on my vehicles velocity. I want it to react like rpm would in a normal engine, sort of start of accelerating quick but level out a bit towards the peak of its rpm. Also this value I wanted to be clamped between 0.0 and 1.0 making it easy to feed it through my audio bp

twilit lily
#

@earnest tangle Will do ty

earnest tangle
#

You could try using a curve maybe? Ie. Current RPM = Base RPM increase * RPM curve(CurrentRPM)

vocal urchin
#

@static charm Three different traces, green (impact normal) all pointing back to...where? World origin? Makes absolutely no sense.

twilit lily
#

@earnest tangle I could make a delay based on the animation time right?

static charm
#

lol

twilit lily
#

I guess im asking that q again

trim matrix
#

CURVE :0

twilit lily
#

Is there a way to set the duration based of an animation or?

earnest tangle
#

I'm not super familiar with animations but I would assume so. I would imagine there would be some way to drive an event from the animation itself though, which seems like a more reliable way to do it

trim matrix
#

so like I can just mult by a float curve, or your saying the time value is the current rpm ?

earnest tangle
#

Yeah you could use current RPM as the time value for the curve

fickle pasture
#

Hello, i need help whit the next BP, im trying to set a timer across 20 lv; i put the timer in the game mode bp and each time the lv change, the timer resets.

trim matrix
#

ahh, but then moving forwards and backwards on that curve by player input?

#

just a branch that is either multiplying current rpm by a negative or positive?

#

or no that wouldnt do it I think

earnest tangle
#

Tbh your current approach based on velocity seems like a better way to do it

#

You could try adjusting how quickly the vehicle accelerates at higher RPM's to achieve the result you want

#

for example accelerate it a bit slower at high RPM's to reduce the RPM buildup speed

trim matrix
#

its not haha it just takes forever to get to 0. low rpm never steady out

static charm
#

if you have manual transmission car, engine will be at a specific rpm based on gear selected and vehicle speed

earnest tangle
#

although in general vehicles would have more torque at high RPM's, unless it's like a truck or something :)

trim matrix
#

example:

#

rpm counter on the left, but its a constant increase based on the velocity/ acceleration rate of the current "gear"

#

problem is it wont ever "rev" or sort of kick up from idle to high rpm, just an unsatisfying and slow increase

static charm
#

just use the vehicle class built in

#

unless you built tire friction or have accounted for it somehow, then you wont ever go from idle to high rpm

#

alright

#

its not even a car

#

lmao

#

nevermind

earnest tangle
#

Wouldn't something like current speed * gear * gear ratio or something work for this

#

or some variation of a formula like that

#

otherwise if you want to start factoring in engine torque etc. it starts getting complicated :)

static charm
#

I'd probably have two sounds or use modulators. So throttle input changes pitch or whatever

#

and velocity changes whatever else

#

or use multiple sounds

#

so throttle controls one sound

#

velocity another

#

i think i stole the sound setup from the vehicle template and put it on my hoverbike

#

and then tweaked it a lot

trim matrix
#

am using multiple but yeah I understand

#

and yes so far vehicle sounds are tricky XD

minor karma
#

okay, me again, and i'm having an issue with a thing (again). i'm trying to make a sorta timing based thing. basically it's a boost based climbing machanic, where each tap made at a certain timing will either do nothing, or let you ascend at godly rates. the issue is, i can't seem to get it to work

#

this is the "circuit"

#

and this is the graph i'm trying ot use

#

and for some reasons, it looks like it's firing fine, but it just doesn't work

#

never mind, solved it, jsut a connection being sneeky

#

but now, for reasons idk, it'll be fine, but occationally launch you at like 500km/hr up

#

never mind, got that too

#

just being an idiot mb

trim matrix
#

How would i make my player face my enemy?

#

@earnest tangle Thanks so much for the help. I messed with some curves and got exactly what I needed. Now I can even model the rpm based on real world curves and stats from sportscars πŸ™‚

#

heres how im doing it now:

earnest tangle
#

Oh good if that ended up working :)

trim matrix
#

very clean and simple too

#

but its working like a charm, appreciate the ideas. Was a bit stuck before

warm quiver
#

I added another BP that made Another BP not work, this happend after both Actor BPS have recive player input 0

trim matrix
#

IT works for the player but not for him

#

and if i do it through overlap i get infinite loop

twilit lily
#

@trim matrix Are you free atm? I have a concept in mind and I'm curious if it would be possible

trim matrix
#

anyone? @static charm

#

sorry for ping i just need help

minor karma
#

i got no idea sorry

warm quiver
#

You cant have two BPS with both player input 0 ?

trim matrix
#

?

#

@warm quiver

warm quiver
#

2 secs I think I found out, for some reason my other bp overlap gets triggered when it should not..

#

Or im a complete idiot

trim matrix
#

oh

#

i thought you were talking to me i was like what

warm quiver
#

Ohhh

limber musk
#

can anyone help me with view distance? I cant see far ends of my landscape anymore for some reason

minor karma
#

that one at 20,000

#

i think

limber musk
#

it was set to 100k

#

still nothin

#

but when i click my cinemaactor and the preview comes up. i can see the mountains

minor karma
#

ughh, how big is your world? cause if you have it past that, the engine will probably cap you

#

oh, i thnk that might be a dev view thing

#

idk, that's all i know lol

limber musk
#

dev view?

minor karma
#

well like

#

programs often have a dev view

#

where things are simplified to make things look better

limber musk
#

earlier i could see fine and now i cant, and when i render the colors are different from the preview aswell

minor karma
#

again, sorta my knowledge limit heh

#

so best of luck

limber musk
#

thanks for ur help

minor karma
#

"help" lol

#

but np

earnest tangle
#

lol, trying to keep my BP's nice looking just caused a bug...

#

I had a float - float node, where I had the operands upside down because I wired them that way so the lines wouldn't cross :P

minor karma
#

okay, i need real help now, been tryiung to figure this out for hours

#

i'm doing a timing based climb system

#

where basically, it'll be synced to the music i'll eventually make at 172/86 time, so around 380ms between beats

#

and my issue is, making the timing system

#

i thought something akin to this would be great, cause it basically was: against wall? start timeline

#

which would last about 380ms

#

giving a better reward the more accurate you are

#

but, i'm using an event rick, and it seems to reset every frame

#

so, the timeline does nothing

#

and i've tried an overlap, but it seems to hate that

#

any ideas?

trim matrix
#

Can someone tell me how to make my player face my enemy in a jumpscare type thing?

#

like set the camera rotation?

fathom portal
#

Is there a blueprint version of this?

earnest tangle
#

@fathom portal if it doesn't show up when you right click and type in clipboard (or something similar) and have the context sensitive off, then the answer is most likely "no"

trim matrix
#

@trim matrix

#

Can you help please?

#

I know how to set camera rotation I don't know how to get the rotation between player and enemy

#

ok

#

Get the actor location of self yeah?

#

then - Find Look at Rotation

#

then get the vector location of actor your wanting to look at, plug it into the look at rotation

#

in the Target slot

#

then that rotator, you will plug into a set actor rotation

#

making sure the target is yourself

#

just a way I think I have done it, not sure if its the best way.

fathom portal
#

Thanks @earnest tangle, that's what I thought, but just wanted a second opinion. I don't mind exposing it tp BP, I just didn't want to reinvent the wheel

trim matrix
#

I want him to look dead ahead. He only looks at the side

#

@trim matrix

#

could get the player controller index

#

Sorry for pinging

#

and then "set control rotation"

#

Still looks at side

#

feeding that same rotator from previous I said

#

Depending on angle hes at

#

might have to split struct

#

Cant I do this with line trace?

#

might want to ask someone else. I have mainly focused on audio implementation for some time now so gameplay bp hasnt been to prevalent :/

earnest tangle
#

If you want an actor to face another actor, you would need to do the vector math involved in calculating the direction from actor A to actor B

trim matrix
#

How?

earnest tangle
#

So if you use the method J suggested, does it always look to the side by the same amount? Ie. 90 degrees off or something?

tight schooner
#

"Get look at rotation" node?

earnest tangle
#

^ I think that's what J suggested above

trim matrix
#

Well it depends on the angle. I want it to ALWAYS face him dead on @earnest tangle

earnest tangle
#

Yes but you need to first understand where the current math you have is going wrong

#

If it always points to the side by the same amount relative to the other actor, it suggests that you might be able to solve it just by adding or deducting some amount of degrees from the result :)

trim matrix
earnest tangle
#

Another factor could be that your camera's position could be different vs. your actor's position

#

So you'd need to take that into account as well if necessary

#

unfortunately I'm not exactly good at this type of math stuff, I'm just good at applying what I find on google for it... but hopefully the above points will at least help you get a bit closer to something that works :P

magic summit
#

hello Im still a bit of new to ue4, I have sort of abstract question of how much calculation can ue4 do in tick without significant loss of performance? lets say I will have hundreds of variables with different add/mult/finterpto/any other math functions (to calculate lets say character gameplay stats) dont expect exact answers, just want to get general feel for it if its millions or just couple hundreds..

tight schooner
#

I can't give you a solid answer, but a lot of the performance cost of blueprints comes from the overhead of executing nodes rather than anything the nodes are doing. So you could set up a test where you, at the push of a button, forloop 50K times with some useless math nodes attached, and print the delta seconds to screen at the next tick, and you'll get a ballpark performance hit of those nodes Γ— iterations. I've read that performance will differ in play-in-editor, packaged dev builds, and packaged shipping builds.

#

A way to get around the node execution overhead is to use BP Nativiation (see project settings); you'll get a 5x-10x speedup or so.

magic summit
#

are packaged builds faster or slower?

#

thx for forloop tip

tight schooner
#

I can't say offhand cuz I never tested, but ostensibly a packaged build would be faster than play-in-editor, and esp. a shipping build cuz it has all the dev tools stripped out.

magic summit
#

thats good

#

I will try that forloop, to see about math speed

#

and what about variables count?

tight schooner
#

IDK offhand.

magic summit
#

just really rough estimate, like having 300 variables (random vectors, floats, bools) would do any significant performance cost? or its like 50k variables?

native forge
#

Can someone in this channel help me out?

#

I am new to unreal

#

but I am getting the hang of it

tight schooner
#

just ask and if anyone knows you'll get an answer

native forge
#

I made a character but the camera is locked to rotation

#

I want to be able to look around it

tight schooner
#

@magic summit I haven't worked with data tables before, but I think that's one approach to managing a whole lot of data https://youtu.be/nt1hlJO-DPo

trim matrix
#

@native forge There are several different templates out of the box with unreal, start with one that matches the closest your project style, and study it

#

For example the camera for top view is handled different than the camera for over the shoulder

magic summit
#

that data table seems useful thing but its related to something else I think

#

like having 500 variables is performance costly but also other thing is they are dev-manhours costly too, and that helps with dev-manhours

tight schooner
#

I worry more about the editor UI choking with insane numbers of variables in a BP. I never tried it but I imagine that would be the bottleneck, heh.

magic summit
#

maybe to ask a bit differently, should I take performance into consideration when creating single one more float var?

earnest tangle
#

If you have a bazillion variables in one BP it sounds like it would be very difficult to manage in terms of programming it

#

It kind of sounds like you might be looking for arrays if you need to store many variables of some type for example

stable arch
#

Hello, i am using advanced sessions and i just changed the map when creating the session and the character spawns somewhere on the map, not on the landscape where i want him to be, what should i do?

#

to spawn him correctly

magic summit
#

yeah that is exactly that "dev-manhour" aspect

earnest tangle
#

but it's hard to say without knowing what exactly you're trying to do

tight schooner
#

yeah, I would intuitively say if you're thinking of making hundreds of individual float/int variables in one BP, you're probably doing something wrong

#

there are arrays (and maps, sets, and data tables) to handle open-ended quantities of data

magic summit
#

Im thinking in terms of extremes to get better feel for it tho

earnest tangle
#

what exactly are you planning to do that you think would require this amount of variables?

magic summit
#

imagine you have character with stats, like stamina, health, energy, oxygen, intelligence, etc... 300 of these stats

earnest tangle
#

That is a lot of attributes :)

magic summit
#

it would be insane strain for game design, programming etc

#

but engine should be able to calculate and process them without hickup

earnest tangle
#

You probably wouldn't need to update all of them every single frame so you should be fine

#

basic math operations are pretty fast anyway

magic summit
#

yeah thats what I wanted to hear

earnest tangle
#

plus you can always go C++ if you dig yourself deep enough lol

magic summit
#

but Im getting better feel for this

tight schooner
#

as far as game logic is concerned, the RAM available to a modern computer is like an endless sea. So I suspect the bottleneck would come down to the human workflow of blueprinting.

magic summit
#

at first I thought engine can calculate like 10-15 of variables at the same time before getting performance affected (which was really scewed feel for it)

earnest tangle
#

oh 10-15 is nothing :)

magic summit
#

exactly

earnest tangle
#

look at games that have been built with UE... it's a few more than 10-15 things that they do at the same time

#

Even something like PUBG runs like 100 players at the same time with individual bullet physics for every single projectile etc.

tight schooner
#

My player-pawn blueprint in my current project has like 100 variables in it. (I wasn't as skilled when I made it, and if I had to start over, I'd break up the complexity a bit. That being said...) I haven't had issues with managing that quantity of variables. It helps to usefully name them, fill out their descriptions, and put them in a variable category so you can always figure out what any particular variable is for.

magic summit
#

ok thanks I think I learned exactly what I needed

#

like performance limit is nothing compared to my development time limit

#

so creating 5 variables that will make it easier to manage things and make good game design is much more worth than 2 variables with confusing math between them

tight schooner
#

At timestamp, here's Epic staff talking about BP optimization

earnest tangle
#

As things with programming go, you can usually start from something that's easy to understand, and if you later need to, you can optimize to something confusing but faster lol

magic summit
#

but from what you told me looks like for things I need for game personally I can leave 90% of them as easy to understand

#

I will do forloop with finterpto to see how fast are those and if I can use lots of them per tick

warped terrace
#

is it not possible to use the Clone Actor node on procedural meshes?

#

I have an actor that gets spawned around the scene with a procedural mesh component inside it and whenever it's cloned it results in the clone just being an empty actor

sacred grotto
#

I made a basic anim to raise the arm (along with hand and elbow), and it plays fine in the anim editor, but when I plug it into the animbp only the hand moves in game.

#

Any idea why?

elfin hazel
#

So I want the absolute axis that a vector is leaning most towards. Say 1,2,3 would be 0,0,1; it's mostly in the up axis. Yes, I can make queries to determine that. Just wondering if there's a particularly neat method to do this. Already made a query function but forgot about the negative axis, so now it feels overly complex.

glacial eagle
#

Seems like Dot Products would be the way to go about that

#

Or I guess you could just take the largest X, Y or Z value actually.

elfin hazel
#

that's what I did, largest absolute xyz, by query which is largest, then check if it's positive or negative.

glacial eagle
#
Y = Abs(Vector.Y);
Z = Abs(Vector.Z);

if (XIsBiggest)
{
    return Vector(1.f, 0.f, 0.f) * Sign(Vector.X);
}
else if (YIsBiggest)
{
    return Vector(0.f, 1.f, 0.f) * Sign(Vector.X);
}
etc...```
#

Psuedo-code, but you get the idea

rigid cosmos
#

there is a possibility to implement voice chat even without Steam

cunning isle
#

Hi guys my team and I are taking place in the GGJ, we are running into some issues with locations, we tried targets, and an actor as a location manager but things are running differently in standalone

trim matrix
#

things always run different in standalone. but I am guessing that is because my project isn't replicated properly

worthy dew
#

lol math in blueprint is such a pain

#

just look at all those green nodes haha

tight schooner
#

it supports a surprising number of operations, way more than what's documented there

#

Lerp, RotateVectorAroundAxis, etc. etc.

#

I get the vague impression that events can fire in different orders when packaged vs play-in-editor, so if you expect BeginPlay to fire before Tick, make it explicit by attaching "Set Actor Tick Enable" on BeginPlay (rather than having tick active by default)

#

e.g.

stable arch
#

so, i changed my project map in the advanced sessions blueprint and now when i join and create a session, after i am being spawned, a scientist (character) spawns, so this is not a player...
do you guys have any idea how to not spawn this scientist?

trim matrix
#

@tight schooner good to know, but I have lots of vars to get what I need as end result lol, would be easier to just visually do it (for me)

trim matrix
#

also just tried it, wouldn't work for some reason, I think a collapsed graph would do better for a visual version.

tight schooner
#

Yeah, it comes down to workflow preference. I'm a heavy abuser of math nodes. I was more responding to Finoli's remark that math in BP is cumbersome due to green node spaghetti.

worthy dew
#

As a C++ programmer most of BP looks like spaghetti to me πŸ˜›

stable arch
#

So, I set the level pawn to None and it worked high5️⃣

#

:)

stable arch
#

how do i set players random spawn location on advanced sessions?

astral fiber
#

Since the new Unreal Engine Update (4.24.2) the Input Keys of the Virtual Reality Devices got updated (you can try in Project Settings -> "Action"). There is now the button "Vive (R) Menu".

But it seems like the blueprint node "Get Input Key Time Down" did not get updated. The "Vive (R) Menu" button is not present there.

trim matrix
#

@stable arch why dont you just make the locations, make an array out of it, make it randomly pick from the array on respawn?

tight schooner
#

Can't see your whole graph but I'll assume the trace and the spawn are on separate lines of execution. What if you stored the linetraced calculation result as a vector variable and then recalled it in StackProp?

sand shore
#

going across exec lines like that can be valid but it's more difficult to get right

#

the trace function can stomp the last hit result even if nothing is hit, though, so having a variable might help here

trim matrix
#

ah yes I think that did it, though for some reason, running on server isn't replicating to clients?

gloomy linden
#

Few questions @trim matrix

  1. What isnt working?
  2. Why arent u using branch on Blocking Hit
  3. Why are you changing the hit location?
trim matrix
#

im spawning an actor relative to the actor I am hitting

gloomy linden
#

Hit location + actorbounds.x * 2 seems very off

trim matrix
#

deleted 2x

gloomy linden
#

What isnt working?

trim matrix
#

it does it for first hit actor, why use blocking hit

#

It spawns it on server but not replicate

gloomy linden
#

So you're sure its a valid hit to execute the rest

#

So, replicate it?

trim matrix
gloomy linden
#

Dunno if its just a check box in the class defaults or something

#

Or maybe an authority thing

viscid valve
#

Is the bug submission form broken on the unreal site? Every time I try to hit "Submit Bug Report" nothing happens. Tried refreshing and retyping captcha. No errors and the webpage doesn't really seem to be doing anything

gloomy linden
#

Tried a different browser?

#

Else try to clean the cookies and internet history

pale moss
#

Does anyone know if GameInstance Init function guarantees that the code there is finished before the beginplay of any other BP?

#

I would need to load data from .sav file before the player beginplay (or any other BP's beginplay)

viscid valve
#

I'm using Chrome

#

Or does the tool just not return anything...?

#

I've tried reloading the page and copying info over in another Chrome instance, that doesn't work, I'll try using Edge

#

Edge seems to be behaving the exact same

#

I have no email confirmations or anything to say the report has sent

odd ember
#

@opaque elbow variable not in scope means that the variable is inside a function or container where you cannot see it unless you are also inside that container. you can try "watching" the value or print it additionally to get the actual result

viscid valve
#

mfw the tool to report bugs is bugged

#

Okay going to try Answerhub

rotund ruin
#

so if i'm using an input axis value to do something, and I don't want it frame-dependent, I multiply that by world delta seconds, but what about if i'm doing stuff like adding a local rotation on another axis?

odd ember
#

@rotund ruin you can't really get around frame dependence

#

multiplying delta seconds will give you a frame offset for a fixed framerate

rotund ruin
#

hmmm

odd ember
#

what is the context for what you're doing?

rotund ruin
#

i'm moving the pawn, with physics, with the forward axis. I just tested in standalone and framerate was 400, and everything moved too fast

odd ember
#

you probably want to cap the framerate tbh

rotund ruin
#

running on tick

#

hmm

#

should I just cap it, and tweak my speeds so it's fine with that?

odd ember
#

it gives you more control over frame based actions

#

you can set the cap to whatever you want as well

#

doesn't have to be 60, it's just very common to stick to that since refresh rates of monitors usually work at 60 hz, which is the same as 60 fps

rotund ruin
#

cool, thanks a lot

tight schooner
#

otherwise yeah, multiply frame-dependent stuff by World Delta Seconds, and test your logic at different frame rates to be sure.

#

I wonder if any modern game engines run the logic asynchronously and interpolate between game states to generate frames. I've heard that e.g. source ports of Doom (1993) do this cuz the game logic is integer-based and locked to 35 FPS. But I digress...

odd ember
#

an interesting thought

viscid valve
#

I find it kind of weird looking back and that was just a thing to do, lock everything to a given frame rate

odd ember
#

would require some really good threading architecture

trim matrix
#

is there a way to get the face of an actor?

sour lily
#

Hi all !
Is there a way to see where values inside a Struct are populated? I'm deconstructing a BP project to learn how it was done.
There are multiple Structs that hold various variables but without any values set inside the Struct itself. For example there are a bunch of animations and sounds that are used in game which are set somewhere . But where? πŸ˜„ Hope that makes sense. Thanks in advance!

odd ember
#

@sour lily probably set from a data table

tight schooner
#

maybe the reference viewer will have clues

sour lily
#

Thanks for the quick reply!

#

The reference viewer has a lot of incoming and outgoing connections from the Struct. Not quite sure what to make of it. Would you have to check each one to see if it's doing something?

#

And thanks for the data table pointer, I'll have a look!

tight schooner
#

yeah pretty much. Maybe there's a data table in there :3

trim matrix
#

my attempt at trying to make an actor that is picked up by player rotate, did I miss something?

trim matrix
#

nvm, cant rotate when physics is enabled

pine trellis
#

does anyone know how to move a level streaming volume from 1 level to another? I cant use the level -. move to current level option

hollow zenith
#

I'm trying to create a blueprint from a CPP file I've made but the variable/methods arent appearing in the blueprint. Does any know why this could be?

odd ember
#

@hollow zenith you mean you made a cpp class and want to make that visible in blueprint?