#blueprint

402296 messages ยท Page 415 of 403

earnest tangle
#

Then you can do a tick function, which initializes a chunk of things from your queue

odd ember
#

there's a very real possibility that there isn't enough memory to even work with 1 million of anything

earnest tangle
#

so on each tick it'll initialize some amount of things from the queue, and this way the work is spread over time and hopefully it'll cause less issues

snow geyser
#

^

#

thats my immediate thought cranz, 1million is too high load

odd ember
#

and it's unnecessary

sour comet
#

minecraft does 1,572,864 active in java

earnest tangle
#

Huh?

sour comet
#

it renders 1,572,864 blocks at one time

earnest tangle
#

Yeah but each block is not represented as a separate "actor"

sour comet
#

niether are these

#

its instances

odd ember
#

instances of what

sour comet
earnest tangle
#

I suspect there's still a huge difference between how that and minecraft's system works

sour comet
#

well of course

odd ember
#

yeah just in terms of drawcalls

sour comet
#

but i feel like i can still load a million and im determined

odd ember
#

lol

earnest tangle
#

Try it and see :)

odd ember
#

I'm done

#

I can't do this

earnest tangle
#

Hey if he wants to try it then let him :P

static charm
#

i loaded a million moving animated instances

#

works fine

#

the trick is to break it up into multiple groups of HISM components

earnest tangle
#

If you're posting salty messages about him wanting to try something, maybe you can instead suggest a better approach for what he wants to do...

static charm
#

so like 10-50 components

#

and each with thousands of instances

#

but my situation was diffferent

#

so one component might suffice

#

i dunno

sour comet
#

well im doing chunks of 1000

snow geyser
#

Can I ask what your end goal is?

sour comet
#

a digging game

#

just digging

#

nothing else

snow geyser
#

so minecraft style block destruction

odd ember
#

@earnest tangle it's really the attitude that gets me

trim matrix
#

from what ive read back then when i looked into how to do instances and stuff i think i read a thread on the forums about how procedural meshes would be even faster (than hism)

odd ember
#

I mean there's a voxel plugin

snow geyser
#

I would think voxels would be best for digging but I admittedly havent spent much time with them

sour comet
snow geyser
#

I did some basic "hey look I made it change with impact"

#

lol

sour comet
#

what i have so far about 5 hours total on project

#

anything bigger than that crashes and it takes about 5 seconds to create that

trim matrix
#

am trying to set the Y in a random random

#

Any thoughts? and thanks

snow geyser
#

set it in a random random?

#

if you just mean to generate random at y, split the struct and plug in a random node?

hollow cape
#

yep split, random float in range

earnest tangle
#

@sour comet if you're interested, maybe look up "marching cubes" on google. It's an algorithm which is used in some games for being able to modify terrain by digging or such

trim matrix
#

@hollow cape what is the name of the split node if you dont mind?

snow geyser
#

Random float in range

hollow cape
#

right click the impulse, split

snow geyser
#

^ that for split struct, yeah

trim matrix
#

wew

#

wth that been there this whole time ๐Ÿ˜„

hollow cape
#

yep

#

welcome to the matrix

trim matrix
#

:DDD

sour comet
trim matrix
#

matrix people

#

The node Set Play rate its not showing up after the timeline node

#

Is there Play rate already insdie the timeline?

fossil tangle
#

Is there an OnMouseEnter for actors?

odd ember
#

on mouse hover? or on mouse over?

#

I can't recall

fathom portal
#

@sour comet the voxel plugin has nice looking voxels (like seven days to die) and basic voxels (blocks, like minecraft and the gif you posted)

#

It handles a ton of stuff for you, though

sour comet
#

looks worth it but im trying to do it myself XD

fossil tangle
#

Just on mouse over, I want to mouse over on an actor and highlight it (I already have the material)

hollow cape
#

yeah I believe there is, you need to enable mouse events in the PC I think

#

yep, enable mouse over event

static charm
#

(PC = player controller for those who are slow like me)

fossil tangle
#

I'm trying to use GetHitResultUnderCursor

static charm
#

and god mathew has a video on it

fossil yew
winter kettle
#

Im trying to execute a function only once when the first valid actor is overlapped, but the function is firing twice

hollow cape
#

do once

static charm
#

he's using the do once already

hollow cape
#

lol I didn't even look at the screenshot...obviously

static charm
#

i didn't either at first

hollow cape
#

shouldn't be possible for it to fire twice, unless there are 2 instances of that actor being overlapped

static charm
#

thats what im thinking

hollow cape
#

the world may never know

static charm
#

wait is that first function custom

hollow cape
#

yeah looks like it

#

in reality that do once should gate everything else

#

well....maybe not

#

I suppose you want to check if the actor is of the type you're checking against before do once...nevermind my comment

static charm
#

no you're correct

#

im surprised he's using the do once and not in front

#

but to fix it using it at the front, he can just reset the Do once on False

hollow cape
#

yeah was just thinking that

#

well, either way, he aint responding so....meh

winter kettle
#

im digesting the info

hollow cape
#

gotcha lol

static charm
#

speaking of Do Onces, someone pointed out the Do N's are great for counters

hollow cape
#

well, are there 2 instances being overlapped maybe?

#

that may have been me earlier lol

static charm
#

probably

#

you smart boi

hollow cape
#

I have mentioned Do N multiple times today

static charm
#

it was about a week or so ago

winter kettle
#

maybe this is a multiplayer question

snow geyser
#

what is an N Frame?

winter kettle
#

would the overlap functions execute on other players if the actor that is firing overlap events is replicated

#

ill add another client and see

hollow cape
#

if this is multiplayer functionality, you're not doing it right

winter kettle
#

yeah it seems that it was just the other clients reacting to the overlap

#

why is it wrong

sand shore
#

Yeah this kind of thing should be server only... maybe predicted on the intigator client

winter kettle
#

ill check if a documentation project I have has an example, if not ill ask in multiplayer

tribal axle
#

I have a variable called IsEyesRed, and when the character's material is a certain one and a line trace hits it, I want something to happen.

static charm
#

if eyes are not red

#

it will never get the material

twilit heath
#

you can't make a failed Cast of the same object succeed if you repeat the cast

sand shore
#

bigger thing here is that you don't need the second cast in any form

tribal axle
#

I'm new to Unreal so this was what I though

#

Thought*

sand shore
#

You're totally fine. You should see some of my first BPs

twilit heath
#

the pins on the nodes connected with execution wires stay valid until execution runs through them again @tribal axle

#

so you can just pull from the pin on previous Cast, its still good

sand shore
#

There's a video by me in the pins which goes over how pure/impure nodes work

tribal axle
#

Oh, because it already casted it? Zlo?

static charm
#

i assume he posted this because it's not working

twilit heath
#

and because the pin is still good

tribal axle
#

Ah.

#

Ok one second

twilit heath
#

so you want to SetMaterial when his eyes are red or when they are not red?

static charm
#

the correct points you guys made, wont fix the anything, if it currently doesn't work. hence me saying the red eyes

tribal axle
#

When the eyes are red, I want the player to die, but I have a print string in place, so when they are not red set the material

twilit heath
#

one step at a time Gallonmate, that SetMaterial node will also change Materials on every BlueCharacter in the game

static charm
#

really? i thought it would be per instance of the casted

#

big if true

twilit heath
#

DMIs are for per instance

sand shore
#

Yeah it's the specific hit instance

twilit heath
#

it will change the material on the mesh asset like this

sand shore
#

It's a comp?

#

The functional flaw is almost assuredly the boolean not being in the correct state. If it isn't working.

twilit heath
#

agreed

#

@tribal axle print the IsEyesRed boolean before that branch

static charm
#

he doesn't need to

tribal axle
#

Before the branch?

static charm
#

he print strings when it's true

twilit heath
#

figured it helps with understanding the problem, you don't need it

tribal axle
#

So I have a variable with BlueCharacter, so I cast and put it in a branch that checks whether IsEyesRed is true, if It's Not true then set the material of BlueCharacter, but if it is, print a string. I either don't understand or I'm stupid.

static charm
#

do you see a Hello

#

or nothing happens at all

tribal axle
#

Nothing happens

static charm
#

put a print string earlier in the execution path

#

and see if it's even firing the code at all

tribal axle
#

k\

static charm
#

the code you posted is fine, other than the redundant casting that they pointed out. but would work regardless

lament shuttle
#

Where should I create my SaveGame object reference? I've read it shouldn't be in the GameInstance because it'll stay in memory for the whole game, but where else can I put it? It's gotta be accessed by many other classes, am I supposed to LoadGameFromSlot everytime I want something, without keeping the object in a variable?

twilit heath
#

that is assuming that left of what you pasted here is a LineTrace function, and that break hit result is connected to its hit @tribal axle

#

if it doesn't change the material and it doesn't print, whatever you hit is not a BlueCharacter

tribal axle
#

Well, it sees that i'm hitting it, but I think it's a problem with the variable

twilit heath
#

to debug that, you might want to add a Print for OtherActor's DisplayName before the Cast

tribal axle
#

everytime I hit it, even if it is the right material, it says false.

#

ok

twilit heath
#

see how? debug draw trace?

tribal axle
#

Simulation

twilit heath
#

there is also an option where you didn't hit anything because A - your collisions/traces aren't set up properly or B - there is something like an attached or child actor on BlueCharacter that is blocking the hit

static charm
#

but yeah Ratsubmarine, you mentioned "if it is the right material"

#

where are you checking this

twilit heath
#

it will stay in memory the whole game only if you keep a reference to it for the whole game from the GI

#

if you null it or change it, your save object will get collected

lament shuttle
#

so once I've done distributing all the saved data I can just set the object to null and it'll go to the trash by itself like a good boy?

#

won't the null object still hold the object's default variables? or it's 100% null empty nothing

twilit heath
#

its a pointer, so it will take 8 bytes of memory

#

no matter how large the object its pointing to, or if that object is null or not

#

space for the SaveGameObject itself is allocated on the heap

#

and that gets cleaned up as soon as there is no hard references left pointing to it

#

if you null it, there is no object, and there are no values, default or otherwise

#

a struct member would behave differently, but you can't set those to null

lament shuttle
#

sounds good! so I don't even need to null it, if it's taking so little memory?

twilit heath
#

8 bytes is what the reference to the SaveGameObject takes itself

#

the SaveGameObject is another matter

lament shuttle
#

aah ok I see now

#

alright, thanks a lot

twilit heath
#

if you have any c++ in your project i'd put the save functionality in ULocalPlayerSubsystem derived class

#

if you don't, GI will do

lament shuttle
#

good to know

fiery ridge
#

is there any tutorial on UI design?

twilit heath
#

if its design and not technical how-to you're after

#

that is a good watch

fiery ridge
#

ok thanks

narrow kelp
#

Anyone happen to know if you can auto detect what the scalability on a machine should be

static charm
#

i mean you can runbenchmark

#

and then apply benchmark results

narrow kelp
#

okay perfect thanks

pallid heron
#

hey everyone, im having a bit of problem finalizing a blueprint for a camera im trying to put together. I was wondering if perhaps if this a place where someone could give a hand ๐Ÿ™‚

hollow cape
#

ask away, don't ask if you can ask

cunning sentinel
#

@pallid heron just use your Geass and order us to help you

pallid heron
#

Well basically, I have a sidescroller type of gameplay but character is moving along a spline, so he moves along all 3 axis but always from ''2d'' perspective (hope this is clear)

#

so my camera is child of the character but I dont want the camera to rotate all the way around when I go backward instead of forward (basically the camera does a 180 as it schild of character and character is doing a 180)

cunning sentinel
#

change the spring arm rotation from "relative" to the "world"

pallid heron
#

ive tried that but it doesnt seem to affect things.. i un checked inherit pitch, yaw, roll and put to world

cunning sentinel
#

try switching off its collision detection. Maybe its hitting something during rotation

pallid heron
#

you mean Do Collision Test ?

cunning sentinel
#

yep on the spring arm

pallid heron
#

just tried with it ticked off but doesnt change things either

cunning sentinel
#

stupid question - does your camera a child to the spring arm?

pallid heron
#

yeah

#

it shouldnt be ?

cunning sentinel
#

it should, just wanted to clarify that

grave nebula
#

hey, how do we make a slight 'stop time' effect when we hit an enemy? like gow / ff vii remake

cunning sentinel
#

pause delay unpause

#

@pallid heron well i dont have the program right now so i dont know that else to advise you. Try playing with spring arm options

pallid heron
#

no worries im trying different things figured id giv ehere a try ๐Ÿ™‚ thx for trying

grave nebula
#

it doesn't work, when we pause it, the whole code is paused too

#

@cunning sentinel got any idea?

sand shore
#

So, in general, you'd want to actually alter the time dilation on only the gameplay related actors.

grave nebula
#

yes

#

global dilation -> delay -> global dilation sometimes not working, it gives me a some glitch (e.g : time not slowing/time too slow)

fossil tangle
#

Hey guys, how can I go about making individual "districts" highlight? (For when I mouseover, but it's the visual aspect I'm wondering about)

fathom portal
#

@fossil tangle is that a UI widget, or is that an overhead view of an actual world?

fossil tangle
#

It's essentially an overview of the town that lets the play select a district to tp to

#

I want the border of said district to outline so they know which they are going to

#

And no, it's a map as it is

#

Though it really should be a widget :/

fathom portal
#

A widget would make it much easier, but I believe you should make a collision box for each region, then use a line trace under the cursor to check which region it's set to

trim matrix
#

@fossil tangle maybe a post process material or something

fathom portal
#

And then yeah, you'd need a material in order to show a highlight

stuck hedge
#

if you're not using squares, good luck with that. UMG isn't set up to do that with anything but squares/rectangles @fossil tangle

#

Apparently it can be done, but you need to create your own widgets in C++ and I was never able to find much guidance on doing that.

fathom portal
#

Yeah I've no idea how to make it non-square/rectangle

#

But actually seeing which region is probably as simple as a line trace

trim matrix
#

@fossil tangle if the view is static and you don't want to do that much work, I suppose you could make some image overlays and show them in a widget

fossil tangle
#

Yeah it's static. So just put images in a widget?

#

And maybe apply an outline texture to them individually

stuck hedge
#

You have two issues. You can't line trace in the UMG, and you can't make shapes that aren't actually rectangle.

fossil tangle
#

I can't use materials in UMG right

fathom portal
#

And no, it's a map as it is
@fossil tangle said it wasn't in the UMG, it's part of their map

#

Unless I misread

#

Like that image is just way up in the sky of the map

fossil tangle
#

It's not a widget atm

stuck hedge
#

The easiest way to do this and be able to mouse over a map and have it highlight, etc. is to make it 3D. Make a 3D mesh cut it into the pieces you need.

fossil tangle
#

GetHitResultUnderCursor?

#

Cut it into the pieces I need? So multiple meshes?

fathom portal
#

Yes @fossil tangle, that's a type of line trace

fossil tangle
#

I'll try that

fathom portal
#

Yes, you need a way to highlight different areas

stuck hedge
trim matrix
#

not cut it into pieces you must

#

detect position on screen would be maybe better

fathom portal
#

Although I'm not super familiar with it, like how to only hit certain things under it

trim matrix
#

if it is a static view

#

well maybe do line trace

#

and have some big invisible shapes around the districts

stuck hedge
#

and if the shapes don't match the districts you'll end up with overlap, that's why it's a good idea to have the pieces you want to hit cut up into their own meshes, so you can build collisions based on that. Otherwise you're stuck using box/sphere/capsule collisions.

hoary orchid
#

Is there a way to use timeline in UObject Class

vast lion
#

Do BP functions automatically call their parent?

fathom portal
#

@vast lion can you give an example? I'm not sure what you mean by call

vast lion
#

I have a function that is a marked at a BlueprintNativeEvent in CPP and has a default implementation. In BP, this function does not use the "call parent" node but still seems to be executing the parent function...

fathom portal
#

Yeah, I've never worked with "BlueprintNativeEvent"s in CPP. My functions are set to blueprintcallable

#
        FString ValidateRoom(FString InputString);```
#

For example ^

vast lion
#

Right

#

Those will always call the CPP code iirc

fathom portal
grizzled carbon
#

Hey, is there anyway to interact with world widgets outside of hte widget interaction component ? Regardless if BP or c++

#

I want to be able to use a sphere or a cone. Be it a predfined object or i calculate the points then check each point for a UI element. But the widget interaction seems to have no way to check a point thats not the internal one it calculates

amber marsh
#

So what is the easiest way to get a skeletal mesh like a gun turret to physically aim in the directions that the gun itself is actually aiming?

#

Am I able to tell a specific bone on the turret to have a rotation value?

velvet viper
#

Can someone help me out with recreating the movement @0:10?

#

Where the player can only move on the railing

trim matrix
#

@fathom portal about your var, did you try making a new blueprint and copying the stuff over to it from the corrupted one?

fathom portal
#

@trim matrix I can, but it's massive. Like massive massive

trim matrix
#

well damn

#

i mean i had to redo like 10 widget blueprints over the night

#

because they got corrupted from a hot reloaded struct

#

like actually make them again from scratch

trim matrix
#

I mean you can first make all of the functions, then copy the stuff into the functions and whatever vars you dont have you just have to right click on the greyed out ones to make them vars

#

then you can copy the event graph and do the same

#

the thing is i think it still wont register the functions on it though

#

most of the work would be making the functions

#

did you try simply copying the bp?

tribal axle
#

How would someone go about fnaf ai?

fathom portal
#

I did try simply copying the BP, it results in the same errors:

#

That's from control C -> control V'ing the object

#

Maybe exporting/importing might fair better

trim matrix
#

@fathom portal also one might try this after making a backup of the project folder: delete saved, intermediate and binaries folders, right click on uproject file if you have any sln and create visual studio project files, open project file and rebuild game module

fathom portal
#

I've tried that, but let me do it one more time to make sure I got all folders

trim matrix
#

tbh no idea if there is any data in there that might influence this

fathom portal
#

Done, no change

trim matrix
#

:/

fathom portal
#

Ugh. First it was the issue packaging, where in packaging I was missing stuff, so people suggested updating, which now I can't even play in editor lol

#

I just cant win

trim matrix
#

i mean copying that bp over to a new one would probably need like 10 minutes

#

but I'd do it step by step to ensure you dont copy the ghost var over and it might there somewhere

fathom portal
#

Big doubt lol, but I'll bite: How would I recreate everything in 10 minutes

trim matrix
#

as I said, create the functions, copy the content in them, right click on grey vars and create them

#

afterwards do the same for the event graph

#

and exchange red functions

fathom portal
#

And then go through and setup all the default values again?

trim matrix
#

probably should start with the deepest nested functions

#

I think they should be set when creating them

#

if not then damn

#

yeah you might be right

#

but I'd be mostly scared of that the ghost var might be copied over somehow

fathom portal
#

It's weird,when I use the "delete unused variables", it says all variables in use

manic cradle
#

I used 4.24 and 4.23 engine versions

#

same thing

viscid skiff
#

Okay I need some help with something super super nooby

#

How would I go about making a gun fire, say, 1 bullet per second

#

And the player holds down the mouse button with an input action

fathom portal
#

You would use either a timer set to a function, or a gate that runs every tick, and is open/closed by your input

#

I just froze my unreal engine trrying to fix my bug or I would show it to you

#

Use I believe it's called "set timer by event" or "set timer by function name" and set it to looping

#

Then, when your action is completed (like left mouse button release) stop the timer so it won't continue

viscid skiff
#

Okay, I'll experiment with that now

#

Thanks for the help

fathom portal
#

Sure, or use a gate

#

Hook on mouse down to "open", hook mouse release to "close", and then hook whatever the top execution pin (white arrow) to your tick event

#

Then add a delay, which will control your speed

trim matrix
#

@viscid skiff I'd go with a timer on an event

#

reset it by setting it to -1 on mouse released

fathom portal
#

^

viscid skiff
#

Alright

trim matrix
#

but call the event once and then set the timer

#

so you shoot on pressed

tight schooner
#

@fathom portal here's a stab in the dark... If you have some way to copy the BP and get the same errors, try deleting swaths of stuff until you can make the thing compile. And maybe you can narrow down the problem area, if there is indeed one, by elimination. (Or maybe the whole BP is cursed, idk.)

I also have some vague recollection that there's a way to view a text version of the BP. If so, maybe you can search that for your problem variable and get some sense of what's referring to it.

trim matrix
#

and also it would need a cooldown depending on if you want the player to be able to shoot faster when spamming

frail wyvern
#

@trim matrix @fathom portal Dont know how good it is, but ther is a free plugin to allow for attribute copying.

opal forge
#

hope someone can help me.
for a projekt in unreal i use the collab viewer template (because its easy to change fly-, walk- and VR mode)
is it possible to change the settings/blueprint in flymode so the camera can not through everything?
collison and camera blocking volumes not working in fly-mode...
(yes my english is bad^^)

viscid skiff
#

Alright you guys have helped me a ton, I pretty much get what you are saying.. Ty!

fathom portal
#

What's an attribute copying?

@tight schooner I know the 2 (maaaaybe 3) functions the variable existed in, I'll try wiping those out and seeing what happens

#

Well, as soon as unreal unfreezes lmao

#

I got desperate and deleted the struct the variable references

frail wyvern
#

@velvet viper you may want to drop over into animation too, but Id imagine youd use a trigger volume for that to check if you are on the beam and go into crouch mode or whatever

trim matrix
#

@frail wyvern thanks for the info

frail wyvern
#

@opal forge I would also check the collisions on the other objects in the space

viscid skiff
#

@frail wyvern Figured it out from what ppl said here, but thanks anyway

frail wyvern
#

@trim matrix yeah. I would actually take a look through the plugins section on the marketplace. There does seem to be some decent ones

@fathom portal which reminds me, they do have some for profiling and logs you may find useful

opal forge
#

the collison is there. in walkmode and vr the collison blocks. only in fly-mode can i go trough everything

fathom portal
#

You talking like the one I just PM'd you @frail wyvern? Don't want to link it, I'm already in timeout for calling a mod out for lying about me

#

Called "Property Transfer Tool"?

frail wyvern
#

I got you

fathom portal
#

Yeah, it's still free, I'll give it a go

frail wyvern
#

Sure, let me know how it goes.

#

Im assuming youre still having packaging issues too?

fathom portal
#

Well, I updated, hoping that the new unreal engine version would unbork my packaging issue

#

But now I can't even play in editor because this blueprint won't compile with the phantom freaking variable

#

Like I'm being haunted by my bad coding choices or something

frail wyvern
#

I missed it, which phantom variable? Does it say it exists but it doesnt?

fathom portal
#

Here's the details:

#

But the TLDR is a variable didn't make it through the update, but it won't give me the option to delete it. When I try to delete unused variables it says none are unused, when I search it says the variable exists but won't let me access it, etc

frail wyvern
#

OH! Ok I remember

fathom portal
#

Right, yeah. So I went from a packaging problem to this

#

Because nothing can just go right for five seconds

frail wyvern
#

So it doesnt exist on your side panel right?

fathom portal
#

Yup, nothing in the side panel

#

when I right click and attempt to type it in, it doesn't come up

#

BUT when I attempt to make another variable the same name, it says it's already taken

#

If anyone has any possible idea I can try let me know, Imma catch some sleep then try that Property transfer tool and hope for the best

#

Night all

frail wyvern
#

WIll catch up with you tomorrow

thorny pewter
#

@hollow cape .... thanks man... my problem is solved by your 2nd option

hollow cape
#

nice, I don't even remember what the problem was lol

#

ah yes, re-rooting

#

there's also a plugin (paid) to change and bake pivot in editor. But the method I mentioned works just fine (it's just a bit tedious)

signal cosmos
#

Hi guys, is it possible to save different preset settings for the defaults?

hollow cape
#

can you be like.....way more specific/descriptive?

#

default what

stuck hedge
#

is there any way to disable the "double click opens visual studio" thing when you accidentally double click a node?

arctic junco
#

Pls Help. Editor Crash when open Project Settings: Fatal error: [File:D:\UWP\Engine\Source\Runtime\Core\Private\GenericPlatform\GenericPlatformMemory.cpp] [Line: 183] Ran out of memory allocating 18446744073271480320 bytes with alignment 0

worthy frost
#

How much ram you have ?

#

Oh wtf

#

That number tho

hollow cape
#

18446744073271480319 bytes obviously

worthy frost
#

No that's how many bytes was being allocated

#

That's 18446 terabytes

#

Petabytes

#

So something goofed

signal cosmos
hollow cape
#

no, those are just default variables

#

default values*

#

you can't have multiple default values

worthy frost
#

You adjust then in the blueprint and save it

#

But not multiple

#

If you want multiple make child blueprints

#

Or use some enum setting to adjust values based on a data table or a map

signal cosmos
#

Ah yeah, that's a good idea, I'll make a data table with some enum.
Thanks guys

mild pine
#

@trim matrix Hey :) I tried out your array magic to filter out the spare wolf AI, and it works perfectly if I check if its less than 0, then they do another task, but if I increase the integer they have the possibility to enter the task at the same time and then suddenly 2-or 3 ignore the array check and run the task anyhow. I guess I could filter the task itself with a blackboard condition, i.e ยซArray is fullยป and if it is do another task. Im not at my PC now, but does that sound like a viable solution?

trim matrix
#

@mild pine hey, so I really dont use bts that much but you check if the array length is less than 0?

#

shouldnt it be less than WolfPerPreyLimit?

mild pine
#

You said it should be on the prey, but I placed this logic on the wolf AI's task itself, is there a specific reason it should be on the prey and not the wolf?

trim matrix
#

Let's say 2 different entities wanna check that

#

there might be 2 different packs or wolves

mild pine
#

Yeah, I just checked that in order to debug if it was working. Im checking a limit of two, but it got bypassed so I started debugging

trim matrix
#

bypassed?

#

did you also add the wolf to the array when it succeeded?

mild pine
#

Yeah, so if two wokves check at the same time they could skip the array check or?

#

Yeah, I added to array, then I checked the length, then added them in and cleared at the end

#

I can post a screenshot when Im home, in 5h ish

trim matrix
#

Maybe you should rather remove them individually

mild pine
#

Ops, I mean I made the array at entry, then checked length, added to array and removed after completed task

trim matrix
#

imo the logic would be:
Check: arr length < limit?
Start: add to arr
End: remove from arr

#

I thought of having a member on the prey

mild pine
#

Yeah thats what Im trying to do, in order to have it as lightweight as possible

#

Hmm okay, I'll remove the make array, maybe thats whats making some bypassing

trim matrix
#

possibly

mild pine
#

Your logic is what Im going for, but I think the issue occures if multiple AI wanna do the task at the same time that theyre not added to the array before they initiate

trim matrix
#

imo probably wont happen

#

but as a matter of fact i dont really know how and if certain functions are run simultaneously on different threads

bronze mountain
#

Got me stumped this one! Have 2 actors in game that are of the same blueprint, with the same tag. Many others exist with different tags. I want to loop through my array with the actors of this blueprint, then make the actors visible for 2 seconds, then hide them. Problem being that the delay node which holds the visibility isn't very friendly with the for loop, any tips?

mild pine
#

Okay ๐Ÿ˜‚ I'll debug more when Im home. Super excited to get this added :) Thanks for your time! ๐Ÿ‘Œ

trim matrix
#

no problemo

#

@bronze mountain if it's only 2 and you depend on the Delay, could get them by ref from the array 1 by 1

#

else timed events might be your friend

#

though oddly I never encountered the problem of having to do something like a delay in a for loop

bronze mountain
#

How can I split the array at this point into two refs? That seems like it would be perfect

#

I also tried the timer, but been having some trouble getting it to run off the hud

trim matrix
#

just pull off of it and do a get ref (or get copy if there is no ref)

#

then probably use indices 0 and 1

bronze mountain
#

Ooh I never realised you could specify two values in the copy, thanks

trim matrix
#

wait, specify 2 values?

#

you mean the index?

bronze mountain
#

In get copy, the lower value is the array index you specify right? Ive just tried it and I expect you mean to get 2 copy's rather than type two values in the same get copy node?

trim matrix
#

@bronze mountain yeah each getter call only gets 1 member

#

at the specified index

bronze mountain
#

Gotcha :) it sorts what I need it to do thankfully, appreciate the help man!

trim matrix
#

np

fringe veldt
#

i'm attempting to spin a camera around an object and what i'm thinking i should do is have a pawn with a long spring arm. However, I would also like some intertial rotation. How would i go about setting that up

grizzled seal
#

so i'm currently trying to get an mesh to spawn where my player character is, but it aint working and i'm kinda confused on why. Here is what i have thus far

unborn lantern
#

@grizzled seal if you spawn on top of your char it may fail for collision

#

try to add 1 meter or so to the transform

#

so it will spawn next to it

grizzled seal
#

will do then

unborn lantern
#

also in your spawn you selected "static mesh actor"

#

but did you then associate a mesh to it?

#

like some geometry?

#

otherwise it will be an empty actor

#

like a placeholder

grizzled seal
#

its a plane with a texture and a particle system

unborn lantern
#

will be better to create a new actor, add a static mesh into it, like a sphere, then spawn that new actor class

#

ok

#

you modifed the base one?

grizzled seal
#

yep

unborn lantern
#

ok

trim matrix
#

@fringe veldt you mean something like a falloff?

fringe veldt
#

sure

trim matrix
#

because there also is inertia tensor something in the physics settings but i never learned about it

#

what you could maybe do is use the camera lag

#

or make an own camera lag function

fringe veldt
#

except it's not really lag i want it to start normally just slow down a little over time

trim matrix
#

yeah i did something like that for translation in my dungeon project

grizzled seal
#

@unborn lantern still aint showin up

trim matrix
#

maybe i can post a few screens

#

@grizzled seal try to pause the level and check the actors in the world outliner for the spawned actor to make sure it isnt maybe falling through the floor or something

unborn lantern
#

@terse gale how big is the plane? you sure it doesnt collide, also you sure that R event is called? maybe add a print there

grizzled seal
#

well its there

#

this is how big it is

trim matrix
#

@fringe veldt beware this is a tick function but it works pretty well and has a good result

#

it also has a threshold so the camera only starts to follow the player after a certain distance

#

you could have the same for the rotation offset

#

and with the behaviour in the function it gets faster as the distance is bigger and slower with the distance getting lower which makes for a not so bad falloff

#

oh yeah and the springarm location is absolute

fallow fox
#

Hello! I'm creating a FPS game for mobiles. I've created the left half of the screen to rotate the camera and now I want to do the same with the 'Shooting Button'. So when you want to aim/shoot also to rotate the camera. Does anyone have any idea how can I do this? This is what I've done and it's not working

sick sapphire
#

I have few questions abt projectiles:
How do I make it not go through level geometry (static meshes, geometry)
How do I make it go to the center of crosshair and have accuracy
How do I make it so that the impact on physics objects is more reasonable? (Too great at the moment)

I have the collision set to block all, and gravity scale 0, init speed 5000. I also have it set to DestroyActor(self) on hit

grizzled seal
#

Have you checked the fps template?

wild moth
trim matrix
#

God I LOVE BLUEPRINTS!

sick sapphire
#

@grizzled seal yes but I have no idea how to set up collision

grizzled seal
#

i know this is going to sound really dumb, but did you enable physics?

sick sapphire
#

no because if I enable it on the capsule collision or mesh it just drops to the ground

#

@grizzled seal

grizzled seal
#

hmm

sick sapphire
#

also the one I'm using now is basically just the default proj but collision set to block all and gravity scale to 0

twilit heath
#

the other side also needs to block the projectiles collision object type

#

its generally recommended to make a custom object type for projectiles

#

so you can manage collision responses better

sick sapphire
#

ok hold on

#

where do I set it on the projectile

#

@twilit heath

neat stream
#

I am designing a good quest system for a top down 2D RPG... I am actually using Vector2D length to see if an actor is near a point of interest of if he can interact with a NPC.... Should I use overlapping actors spawn in world to ease the process?

fringe veldt
sinful ibex
#

i got a bug im tryin to fix but cant pinpoint whats causing it, i got an automated blade setup where after a timer counts down to 0 the blade swings in a 180 degree angle, then it resets to 0 degrees, changes the angle of attack and resets the timer and it all works using event tick

the issue is sometimes at random when its supposed to swing it just moves 1 degree and instantly skips to the resetting part

trim matrix
#

@sinful ibex you should take a look into timelines

#

and on top of that it would maybe be even better to do an actual animation and/or do the movement via bone transform

#

@trim matrix morning mate

#

heya

grizzled seal
#

This one is gonna be a rough. So I need a way to generate structures out of a mesh. I'm more aquanted with blueprints but I'm not opposed to using c++. Any ideas on how to approach this?

trim matrix
#

"generate structures out of a mesh"?

#

you mean structs?

grizzled seal
#

pretty much

trim matrix
#

as in structures in the mesh

grizzled seal
#

Probably a procedural, seeing as its more modification of a source mesh to make a new one

trim matrix
#

what exactly do you want to do?

#

maybe displacement maps could do the trick

grizzled seal
#

So i want to be able to take one mesh, and stretch it upwards, but in-game

trim matrix
#

"stretch it upwards"?

#

like simply scale it?

sinful ibex
#

u mean like select it and streach it out?

grizzled seal
#

@trim matrix that one

sinful ibex
#

maybe something like this?

grizzled seal
#

so the way that i'm hoping to get it working is the player press a button and then whatever mesh they are on streches on the z axis

fair estuary
#

you could line trace from the camera to the mesh and get that mesh as a variable. From there, when the button is pressed, use a timeline to set the mesh variable to a new z based on what ever z translation you want with the set scale node. I should mention that with a timeline, it can give a growing appearance, without a timeline, it will pop to the new z scale.

grizzled seal
#

im gonna mess around with some of the stuff you said before first then try that

trim matrix
#

Am trying to set Play Rate

#

but its not working

#

The Node Play rate

#

to make it scale bigger slowly

#

Any thoughts?

cyan lion
#

do the NewTrack0 goas from 0 to 1

#

and then with this value lerp vector

fair estuary
#

Are you wanting to set it dynamically or statically? You can set it in the timeline node.

trim matrix
#

How i can do it inside the timeline?

#

if i increased the time

#

the scale will go bigger

#

he will keep scaling it up ๐Ÿ˜„

#

@cyan lion

#

how i can make it from 0 to 1?

#

@fair estuary if i can set it from inside the time line t hat would be really great

fair estuary
#

You can set the start and end values separate from the start and end time. So You can go 0-1 in .5 seconds or 0-1 over 5 seconds. You just have to click the points in the timeline and change the values which are 2 text boxes on the timeline graph

cyan lion
cyan lion
trim matrix
#

am i half way there?

fair estuary
#

Yes change the length to the time that you want and then click the end point and modify the time on that

sinful ibex
#

stupid question, but if an event tick is in the middle of executing its sequence and a new event tick is triggered while the old one is still not done, does the new one wait for the old one to finish or does it work somewhat paralel?

trim matrix
#

Oh worked ๐Ÿ˜„

#

Thank you guys

#

@sinful ibex i dont think it will wait

sinful ibex
#

ok, so if i got a critical area in a tick event then i gotta find a way to stop all the other ticks before its done?

fair estuary
#

Yes, most likely. You can make a bool variable in the one that must finish first, while false don't let the thing do it's execution, when true let the other thing do it's execution. What exactly are you trying to accomplish @sinful ibex ?

sinful ibex
#

make an automated blade that swings at a random angle after a timer runs out over and over again, the issue is when the swing is done and i need to reset the blade and the timer a random tick event might trigger before the resetting sequence is completed, i did add a boolean that should stop other ticks but a few still make it through and cause the blade to move a bit before resetting again

#

and i know makin the swing an animation might help but im not good with animations and i just started using ue recently so i wanna find out whats causing this and how to fix it so i dont run into an issue like this again

trim matrix
#

Am trying to play this Particle on my character

#

for some reason its not playing

#

if i put another particle in its place it will play normaly

#

any thoughts?

snow geyser
#

Is there something like on doubleclick instead of on click? or how do I manage that instead of on click

neat stream
#

Can we Attach an Actor to another Actor and stick it to a fixed position in the world?

#

I don't think so but just to be sure ...

keen goblet
#

@neat stream I think thereโ€™s nodes named something like LockLocation and LockRotation that prevent the actor/comp from updating in that way. You could always useTick to continually set the actorโ€™s transform to what you want, but thereโ€™s probably a better way

neat stream
#

It's just that I want My Quest Actor and SubItems to be attached to my character but maybe I shouldn't ๐Ÿ˜‰

fathom portal
#

@snow geyser there are a few plugins that handle double click supposedly (I've never used them), but you can simply check whens the last time the player clicked and if it was a sufficiently short time then treat it as a double click, something like this:

snow geyser
#

Thanks Iโ€™ll check that out after lunch

fathom portal
#

kk please let us know how it goes and share your code if you get it running, so it can help others

@neat stream You would add a child actor to the parent actor:

#

Then you'd set which actor that class is, and arrange there location relevant to their parent:

snow geyser
#

Yup if I get a satisfactory double click working Iโ€™ll share

fathom portal
#

Keeping it attached to it's parent I would either use a location updater on a timer, or one of the parent's sockets

#

@sinful ibex Tick events can run concurrently if setup correctly (For instance, when you use delay nodes)

#

To prevent that, you can use delays to stop code from progressing until it's time, or you can use lock/unlock variables. So you'd set "Locked" to true, do everything you need to do, then set "Locked" to false. Then simply branch before the action you need to take, and only let it pass when locked is false

#

@sinful ibex Here's an example:

#

It doesn't have to call a separate event, just showing this is a route you can use to make sure an action is completed before proceeding to allow another

sinful ibex
#

tnx, i tried repositioning my lock variable a bit differently and it fixed it around 60% , now the bug pops up only when the angle is 90 or -90 degrees and it does an odd thing where it goes from 1 2 3 -90 for some reason

fickle nebula
#

I have a toolbar, and when the slot is selected and I left click I want to use a interface for each item implement each way of usage, the problem is, I need a reference but with this GetActorOfClass seems if I dont have any other actor of that in the level, so it doesn't work, is there a way of getting this reference, creating a instance.. I don't know..

fickle nebula
fossil tangle
#

Why isn't my postprocessing material not showing?

#

It's just gray

#

I have my mesh within a post process volume...

desert bronze
#

Anyone know how i go about getting the velocity of a certain vector. Like, what is the velocity in the forward vector for instance. Trying to find how fast my pawn is going forward, and separately how fast it is going to the left.

twilit heath
#

@desert bronze the velocity is a vector, so that was unfortunately phrased

rough wing
#

Has anyone experienced with building stuff on non-flat surfaces? Like in planetary annihilation.

desert bronze
#

Velocity in a certain direction?

twilit heath
#

if i understood your question right, you ProjectVectorToNormal (velocity from CMC to ActorForwardVector/ActorRightVector)

rough wing
#

Forward vector doesnt have a velocity, its a direction

twilit heath
#

and you'll get a vector component along those 2 axii

desert bronze
#

oh very nice thanks!

twilit heath
#

(result will be a vector, if you need a scalar, just pull length from the result)

desert bronze
#

๐Ÿ™‚

#

Works perfect! Thanks!

twilit heath
#

@rough wing building on the surface of the planet?

fossil tangle
#

Does anyone know how to make post process materials work?

#

This is what it looks like in the material editor but when I place it on a mesh it's just the world grid mat

keen goblet
#

@desert bronze If you have a Velocity vector you can break it into its X, Y, and Z parts to get the pawn's velocity in each axis

#

Oops, discord didn't load that you'd already solved it ๐Ÿ™‚

rough wing
#

@twilit heath yes, i want to build on a small planet but because of its shape it gets complicated

twilit heath
#

the rotations are problematic?

#

for positioning you can generally do a trace and see where you hit the sphere

rough wing
#

I havenโ€™t tried it yet, but because all my builds have 90 degree angles, connecting them together on the planet is a problem

#

I have small planets with big builds and im not sure how i can connect them together

#

For example, i have a pipe that i need to bend over the planet

twilit heath
#

splines and spline meshes

#

put sockets on your models

#

then construct a spline from one socket to another, generating midpoints by interpolating quaternions relative to planet center

#

as for rotations when you drop something on it, use its location - planetarycenter to MakeRotFromZ

#

and all your builds will be oriented upwards relative to the planet

#

if you get a tangent to the sphere at builds location as well you can use MakeRotFromZX or MakeRotFromZY to keep their rotation around planetary normal at 0 as well

vapid owl
#

It works just fine with function

shell estuary
#

I'm following the UE4 Multiplayer Blueprint tutorial and for some reason when I get to this part the dropdown for "My Player Character" should have the one I created (named Base_01). Not sure how I can get this as an option in the drop down.

#

are any of Santa's little helpers out there?

slow hill
#

@shell estuary when you created your Base_01 class, did you inherit from Character?

#

only bps that inherit from Character will show up in that field as it takes a Character object type

shell estuary
#

hmm this is what I have

#

hmm

#

it looks like its a pawn not a character

slow hill
#

@shell estuary Change the blueprint's base class to character

#

Open the blueprint > Class Settings > Parent Class

shell estuary
#

for some reason I can't find class settings

#

nvm

#

Ty!

mild pine
#

For anyone else that spots the error, I'm trying to limit the amount of wolves that may eat from their prey's corpse, and if the limit is exceeded the wolves should do something else. Currently they're ignoring the check:

gloomy linden
#

everytime the AI executes, you potentielly keep casting to the same actor reference, adding it in an array creating duplicates

mild pine
#

@gloomy linden Oh, that makes sense! Any suggestions on how to evade this issue?

gloomy linden
#

one moment

#

too lazy to type

mild pine
#

Hmm, so I should drop the Length check?

gloomy linden
#

Depends on what you have it in place for

mild pine
#

I want to limit array to two indexes

gloomy linden
#

then keep it ๐Ÿ˜›

#

though

#

if only the player character can be added to it

#

it shouldnt ever be longer than 1

#

well, beter said: it shouldnt be able to be longer than 1

mild pine
#

Nah, its a pack of AI wolves that could be 1-12

#

This is a task in BT which is why Im casting to the character

gloomy linden
#

but here, you cast to Character, create an array, add the player, and after the branch you try to add the Characteras unique, but the Character is already occupying index 0

mild pine
#

Oh so I shouldnt be setting the array, or?

#

Before the check. Sorry, I find array coding pretty hard ๐Ÿ™‚

gloomy linden
#

array is just a list

#

like a shopping list

mild pine
#

Yeah

#

So I shouldnt be creating the array after the cast, as that would add the actor to the index?

gloomy linden
#

i.e. if array is empty, it will add it to 0, if index 0 has value, it will add it to index 1

#

etc

#

(BVS array work a little different then normal arrays)

mild pine
#

Oh, so I should be making it < 1, to only have two wolves access the true state, since there's one in the 0 slot, right?

gloomy linden
#

well

#

if you have 2 items in the array, its on index 0 and index 1

elfin hazel
#

@mild pine The logic in your image is that you make an array with one member, and set "Predator Eating Array" with that array. So your "Predator Eating Array" will always only have 1 member at that point, which you then query if it has less than two.

gloomy linden
#

2 items in the array returns a length of 2, but to get the last index you would have to do: length -1 to get the actual last index number

#

(as index 2 would return NULL in this example)

trim matrix
#

I do have a camera particle

#

how i can add it that when i get hit it activate

#

any thoughts?

keen goblet
#

@trim matrix By "camera particle" do you mean you've got a particle component attached to your camera component? If so, turn off Auto-Activate on the particle comp, then in whatever function/event you have that fires when you get hit, call Activate on that particle comp.

sterile light
#

I can't create the "Play Montage" node. Anybody knows why that might be happening?

#

Ah I suppose its because I'm trying to create it in a function?

bright plank
#

Hey I'm having this weird issue...I spawn an actor from GameInstance, but the actors begin play and tick are not firing at all...they are def enabled, and I know its being spawned...am I missing something? I've been working in ue for many many years, so I am not sure its some newb move

green wave
#

hello. How to destroy Effect that is attached to mesh socket, when I destroy this mesh?

#

Event End Play doesnt work(

bright plank
#

hahaclassic begin play and end play not working one after the other ๐Ÿ˜›

green wave
#

Hmm. So how I can check if mesh is destroyed?

bright plank
#

maybe tick auto destroy

#

๐Ÿ˜‰

green wave
#

Effect remains in the world

bright plank
#

well, in the emitter system, what are the lifetime settings on the emitters?

crystal mural
#

https://blueprintue.com/blueprint/0g8k2kxq/ this should work as a modular system, yes?
@left bay Hey! After plenty testing I've finally settled on your solution where the DoOnce Sets a Timer By Event. All the other methods seemed reliant on tick time and after a certain threshold it wouldn't fire any faster. So how have I solved the game slowdown problem?? Seems that there were SO many bullets on top of each other they were all doing an "on component hit" check on each other rather than on the enemies only. I thought I had sorted that out. So making my projectiles fire faster means they're not overlapping each other and things just FLY now. So I'll try to get them to ignore each other and only collide with the enemies. Thanks also to @odd ember and @hardy merlin and @fathom portal for helping me think!!

trim matrix
#

how would i make it so when home clicked it gets play unique ID and checks it from a list of ID's then if its one of them in the list it grants true accsess if not grants false accsess

#

any help would be so greatly appreciated

narrow kelp
#

@trim matrix try a Contains check on your array

trim matrix
#

could u help me

#

il pay

narrow kelp
#

im at work right now

trim matrix
#

all good'

narrow kelp
#

the contains node returns a bool just like your == equals check

sinful ibex
#

weird question but, why is it when u rotate an object on the X axis, regardless of the other two, the object rotates around its local X axis, but if u try doing the same with Y and Z they rotate around the world Y and Z axis?

astral citrus
#

@trim matrix Make sure that's getting called from the server too else players could cheat their way to getting admin

trim matrix
#

yeha

cobalt slate
#

Guys, what am I doing wrong? I've tried 20 different ways to retrieve the current players amount, and no matter what I do, I CANT get it to reflect to the match player entry. (eg: 1/4 players, 2/4 players, etc..) I created a struct called Fcurrentplayers, and when a player enters the lobby, it fires off in the lobby gamemode, and loads in the integer inside of the struct. When I do a print string, it correctly shows how many players are in the lobby, but once it leaves the lobby, the struct shows 0. why? what is another way?? I've tried so many different ways, and a 0 always gets returned to the match entry.

south hearth
#

Anyone know why Adding PhysicsLinearVelocity to the RootComponent doesn't make the Pawn/Actor move? The RootComponent does though..

#

Nevermind.. the Actor IS moving, but the DebugString isn't. Weird.

junior thunder
#

Is playercontroller the right place to be doing menu navigation for turn based combat in a an online game?
Like you have the option to pick attacks or items, each bringing up separate menus, and player controller handles which one is visible
Should that be in playercontroller or somewhere else

velvet viper
#

Anyone know how I can get my character to line up to the wall more when I run my wall sliding function?

#

Kinda looks like this rn

junior thunder
#

is it the collider size that is preventing it from getting closer? You could set the collider to visible to see if that's the problem

velvet viper
#

reduced the capsule radius and i cant tell if thats closer or not

junior thunder
#

not sure without more info like how it's snapping to the wall to slide down

velvet viper
#

that's better, is there anyway to prevent just my mesh from colliding into certain objects instead of inheriting it from the capsule component?

left bay
#

@crystal mural glad to hear, and I suspected it was overlapping that was causing the problem. The benefit of the timer system with variables is also that you can modify them for progression.

worthy pendant
#

Currently trying to play a sound when the value exceeds 4.9 units more than it was previously
Am I doing this right at all? lmao

fathom portal
#

@worthy pendant looks fine to me, is it not playing?

worthy pendant
#

It's currently playing several times in a single frame, then stopping

I've attempted using higher values in an attempt to space it out, but anything higher than 4.9 prevents it from progressing all together

#

It's a wheel
I'm trying to make it play a sound every 5 degrees of rotation, which is where "NewZ" comes from, it's the wheel's relative Z rotation

stuck hedge
#

I hate that you can't replace a material with a material instance when you do a delete on the material.

worthy pendant
#

@fathom portal
As far as im aware, It should be working??

worthy pendant
#

If anyone has any idea feel free to tag me

sick sapphire
#

how can I make a projectile always head towards a specific point? I am using raycast to calculate inaccuracy and I want the bullet to head towards raycast hit location

surreal peak
#

Does that location change?

trim matrix
#

I have a line trace that works when blueprint nativization is disabled but fails when blueprint nativization is enabled.
There are no related warnings in the output log.
Is there an appropriate way to debug this sort of issue?

sick sapphire
#

@surreal peak no it doesnt, its just a point in the level set by a raycast

surreal peak
#

Then it should be enough to rotate the projectile towards that point and let it fly forward

sick sapphire
#

@surreal peak alright thanks
how do I do that though
on spawn?

#

how do I get the direction from muzzle loc to that point

surreal peak
#

Vector math

#

(Target-Start). Normalize

sick sapphire
#

@surreal peak alright thanks

trim matrix
#

@mild pine I think the first problem with this might be that all wolves make their own array so it is always true because you make an array of 1 there and that's it. you need a persistent array as a member variable (on the prey imo) and add to it

#

@sick sapphire There is also "Get Unit Direction (Vector)"

sick sapphire
#

its fine I got it right with the normalize but thanks

mild pine
#

@trim matrix Hmm alright, then I would have to do that in the prey's AI Controller. Then the issue arises to reference the wolves that attacked the prey

trim matrix
#

You'd just need the member variable there

mild pine
#

I'll give it a try and get back to you guys, its like you said; doing it in the wolf doesnt work

trim matrix
#

and check it on the wolves

mild pine
#

Oh, so I set the array in the prey, but I add/check the wolves from my BP task?

trim matrix
#

So do the wolves have any sort of reference to the prey bp when they initiate the eating stuff?

#

yeah you have the array as a member on the prey and add/check wolves in the wolf ai

#

because the array has to be persistent and accessible to any wolf that checks it

#

you could theoretically even put it somewhere else and have another way to reference it

mild pine
#

Okay that makes sense, that sounds more consistent indeed :)

#

Yeah they reference a blackboard key 'Enemy', but I'll to extract values from it

trim matrix
#

you could also only have an int as a counter but an array would probably be smarter since you could prevent a wolf being added twice and also reference guys from there for other stuff

mild pine
#

Yeah this isthe groundwork for alot of other species aswell, so more modularity is good

night cedar
#

Hi,
How can I enable facebook automatic logging frds
Anyone have idea about facebook analytics integration i tried to use but analytics not working
1.i enabled online subsystem Facebook
2.then checked facebook in iOS settings
3.then I entered app id
From here I don't how to get analytics data like num of new user install(app install event) like that any steps or suggestion will be helpful
In facebook developer page they gave documents for iOS,android studio, unity to add events but for unreal they didn't mention so can you give some guidelines frds..

fleet sandal
trim matrix
#

Some times the gold i spawn get far away like this

#

even so i only made the impluse to go up

#

Any thoughtsS??

#

Look at the video above ๐Ÿ˜„

#

#Ask Mystice games

tropic tide
#

maybe that's because it's hit by the sword?

trim matrix
#

rabbit

#

am guessing thats the problem

#

is there any way to avoid that?

#

@tropic tide

#

Am confused what could be done here tbh ๐Ÿ˜„

tropic tide
#

I also don't know, i'm new to ue4

#

but does sword have to have collisions?

cunning sentinel
#

Nope. You can just make a collision sphere around your character orslightly infront and everytime you swing a sword check if other actor like those enemies overlap it. And if they are, destroy them

trim matrix
#

@trim matrix is it that drop stuff from the other day?

#

mystice its working perfectly but sometimes

#

it happens like the video above

#

i dk why

#

yeah i saw it, might be the vector is too long or depenetration caused by collision

#

if you want i could help you in a screen share

#

This is the gold setting i dk if this might help

#

Sure mystice

#

But i have no mic ๐Ÿ˜„

#

np

late cave
#

why do I have to choose a parent class for a blueprint macro library?

#

seems to defeat its purpose...

static charm
#

never made one but you can't access some class specific functions from basic classes

#

so it could be useful to to make class specific macros

late cave
#

ok, yeah, I see that now.

#

hmm... making a macro for a filo array is more tricky than I thought

#

function library would perhaps be easier

#

(I don't get why built-in arrays don't have push and pop, btw...)

trim matrix
#

in bp push would be add

#

and for pop you could do RemoveAt() with the last index Last()

late cave
#

yeah, but I still have to do a macro library for it...

sand shore
#

why is that macro dealing with a strong type? Should be a wildcard

#

Also, if the last index isn't valid, why are you returning the element at the last index?

#

Should make a "Element Or Default" assist macro IMO

trim matrix
#

also couldnt it be a nullptr as the element?

#

and you would want to remove these too or not

late cave
#

@sand shore well, you're speaking like someone who knows their stuff... unlike me ๐Ÿ˜›

#

ok... strong type, I need to look that up... I just used the object class

#

since a macro isn't allowed to create a variable, I didn't know how to not return something that could potentially not be valid, so now I need to look up "element or default" as well ๐Ÿ™‚

grizzled seal
#

quick question, if you needed help with cloth painting, where would you put that?

sand shore
#

You can do a local variable @late cave

#

Go double click on a loop or a do once

#

the standard macros will be a good source to know what you can do - just don't put anything in there or change them if you wanna update to a new version

trim matrix
#

@late cave this will always return something if it's valid or not

#

by default it should return a nullptr

sand shore
#

That will return a nullptr, but you'll also get ABC warnings

#

Perhaps even a crash if you nativize

trim matrix
#

I'd rather check if length is greater/not equal 0 but also I dont know if remove at already handles that for you

sand shore
#

That's done via the branch already there

#

Empty array won't consider 0 a valid index

#

Index >= 0 && Index < ArrayNum

#

if the size is 0, it fails on the second expression

trim matrix
#

I mean RemoveIndex is safe to call on any index though

#

dont know about that return value

#

ah wait it's "IsValidIndex" never used that ok I see

#

but yeah

odd ember
#

@sand shore what mimics a behavior tree best in terms of a flow control structure?

sand shore
#

Well a BT.

odd ember
#

I'm currently doing a state machine but I'm getting less and less convinced that it's the best way

#

BT is off limits though since it's coupled with AI controllers

sand shore
#

You can just make a state machine graph - like anim

#

But you'd want to do C++ then, and this is #blueprint

odd ember
#

well I am doing it in BP currently

#

and I'm not about to extend the editor with functionality

#

that's at least 3 degrees above my paygrade

sand shore
#

Fair enough.

trim matrix
#

I do AI in bp for my project

sand shore
#

Let me think this over a bit

odd ember
#

sure

sand shore
#

You could just do the equivalent code, that'd be slow and no easy way to visualize

odd ember
#

yeah that's what I am doing now

sand shore
#

Do you need the observer functionality?

odd ember
#

ideally

sand shore
#

That'll be tricky, why not just embrace the kludge and have a helper AI

late cave
#

@sand shore ok, switched to wildcards, but what, exactly, is a "element or default" helper macro?

sand shore
#

Go take a look at do-once

#

See how you can have a "local bool"?

#

Well you can also have a local wildcard

#

You want to clear it when the index isn't valid, or set it when the index is. Return the local wildcard instead.

odd ember
#

@sand shore the trick is it's for a camera component on an actor

sand shore
#

@odd ember So I'm skimming the BehaviorTreeComponent and you should be able to expose that to BP IMO

odd ember
#

given that the camera manager is useless, I have to find another way to do intelligent camera behavior

#

yo

#

that sounds sick

sand shore
#

I don't see strong reliance on AIController

odd ember
#

so who's initiating the BT then, an driving the events for it if not the controller?

sand shore
#

the behavior tree component

odd ember
#

I see

sand shore
#

You'd subclass it to provide the blueprint interface

odd ember
#

I'll have to look into this

#

yep

sand shore
#

Alternately, if you can just skip the observer functionality you can get away with a lightweight state object

odd ember
#

I've already done this for a few components, so it shouldn't be rocket surgery to make it work

sand shore
#

But this seems much more robust and performant.

odd ember
#

the observer functionality is key unfortunately

#

or fortunately

pine trellis
odd ember
#

it makes it a lot easier to do certain things instead of having to do weird tick based listeners

sand shore
#

Yeah

pine trellis
shell estuary
#

Has anyone followed the Unreal Engine Multiplayer Blueprint tutorial? I am stuck at the part where my player names are not displaying in the lobby... been stuck on this for hours now.

pine trellis
#

where is it tom

#

do you have a link

shell estuary
#

yeah

#

Marching onward we start working on our Lobby Game Mode scripting which handles when a player connects to or leaves the lobby, updating the lobby information, kicking players from the lobby, changing map settings, launching the lobby to our selected map, determining which char...

โ–ถ Play video
#

im screwing something up with the lobby menu, but can't figure it out

odd ember
#

@sand shore appreciate the insight btw, this is honestly game changing

#

so thanks

sand shore
#

@pine trellis could be the sound is despawned when it completes?

#

drop down that advanced arrow on the spawn sound node, check if auto destroy is on

#

If so you gotta make sure the pointer is valid before stopping it

#

(good practice anyway)

#

@odd ember np

odd ember
sand shore
#

Oh.

#

ahem

#

pats Well now you know

late cave
sand shore
#

You already are

#

Yeah so if it's got anything, you cache off what the last element was, then you remove it. Otherwise, you set the default for the type (zero-fill in most cases) and return that.

#

Zero on a pointer is nullptr

late cave
#

wow, the implicit null assignments in Blueprints is a bit confusing for beginners... like, this still doesn't feel right to be null:

#

@sand shore but thank you for all the help! couldn't have figured that out on my own! ๐Ÿ™‚

sand shore
#

So what you've got there is quite similar to what I meant by an "element or default" but it also does the removal of the element.

#

And no worries.

#

The way I rationalize that being nullptr is that you haven't selected anything either with the dropdown or with the pin input itself

#

There's no selection, so null is the selection.

late cave
#

yeah, but in classic c, I think unless you assign null the contents of a new variable will be garbage? (I only took a year or two of that about two decades ago, though.)

#

and that old c knowledge in my head, really messes with me passing object variables into functions in blueprints... because my brain goes "is that a pointer or actual data" ๐Ÿ™‚

sand shore
#

You see how you're setting though?

#

I'd agree with you if you didn't set. It can be counterintuitive, but for the people who aren't like us it's a better default case.

shell estuary
#

Welp I just fucking broke my file I hate this fucking tutorial so much

sand shore
#

Rather have to think about that being a clean null than for everyone else to wonder why they get weird access crashes

junior thunder
#

Is gamemode the only safe place to store data in network play because it only exists on server while the others exist on client and therefore are subject to malicious hacks?

late cave
#

@sand shore yeah, it's definitely better and I just have to forget my old baggage... (also, get has a get copy and get ref, which makes me nervous... also, I think you can pass "soft values/references" into functions even in blueprints?) ...I'll try not to think about it

sand shore
#

If you only store data on the gamemode, that sounds like a boring game, clientside.

#

It's a balancing act, but in general anything coming from any client ever is going to be subject to some degree of doubt. Go check out #multiplayer

late cave
#

@sand shore ok, found one more... just to be pedantic... let's see if you have any opinion here ๐Ÿ™‚ do you think I need to check that the wildcard array is of the same class as the wildcard object I want to push on it? because the get can probably be invalid if the array is empty, but I don't know how to get the class from the array...

sand shore
#

No

#

the types are strongly correlated. You can't mix the types, regardless of how you try.

#

you get one type per macro.

late cave
#

ah, cool! thanks again for the info!

trim matrix
#

@late cave is that the push macro?

late cave
#

silly, but yes

trim matrix
#

just to have it?

late cave
#

silly, but yes ๐Ÿ™‚

trim matrix
#

in c++ you can call push and pop though

#

wondered if you might not just make a blueprint callable static function or blueprint library function to wrap it

#

then again I think c++ doesnt have easy wildcards like this

#

to be exposed to bp

late cave
#

I'm never writing a single line of code again for the rest of my life if I can help it ๐Ÿ™‚

sand shore
#

Nah you'd have to learn a lot about the BP Vm

trim matrix
#

vm?

sand shore
#

Deal with the frame and manipulate the stack pointer

#

In principle it's easy enough to do

#

but if it goes wrong you just crash

trim matrix
#

aah so bp nodes run in a vm didnt even know that

shell estuary
#

Has anyone done this tutorial? Been following along for literally 6 days now and I can't get it to work. https://www.youtube.com/watch?v=D6QtvPrqNLg&list=PLZlv_N0_O1gYqSlbGQVKsRg6fpxWndZqZ&index=15

Marching onward we start working on our Lobby Game Mode scripting which handles when a player connects to or leaves the lobby, updating the lobby information, kicking players from the lobby, changing map settings, launching the lobby to our selected map, determining which char...

โ–ถ Play video
#

Its extremely frustrating

fathom portal
#

This isn't to say it couldn't be improved @shell estuary, but proper multiplayer is one of the hardest things to do in game development, if you can get past it it's definitely worth it

shell estuary
#

Like things were working just fine and then randomly stuff stops working

#

they advertise having the finished project were reference

#

and its nowhere to be seen on the videos its really annoying

#

I just need a little help to get my confidence back, kinda bummed out right now and don't even want to bother with this anymore because its wasting so much of my time

#

Im like so close to completing it too its frustrating

#

and its nothing major that I messed up I know that, its just I can't find it

snow geyser
#

The easiest way to figure it out is to add Prints after all the major functions and splits so you know what is happening and what isnt

shell estuary
#

ty @sand shore

verbal bolt
#

is it possible to cast a void* to struct in BP?

static charm
#

a void what

verbal bolt
#

some random data pointer

#

or just some random data. something like a cast?

static charm
#

i'd just show or say exactly what you what. because thats not how any of this works

#

i mean you can Set things to none

sand shore
#

I find it very optimistic that you want to do lowlevel wizardry in a node lang

#

Unfortunately, best you can do is write some C++ for it, but even then BP doesn't really so much do void*

#

Closest you have is something akin to void*, TypeInfo*

#

and that's not surfaced to the graph in any significant way

static charm
#

here you go

#

cast to random void and get struct

gloomy linden
#

That has 60% chance to fail to cast

static charm
#

40% of the time it works everytime

gloomy linden
#

In that case it has a solid 5/7 solution rating

static charm
#

(tbh actually it wouldn't work at all because the input array was not using void class references)

#

and there's no input there either

gloomy linden
#

XD

static charm
snow geyser
#

someone found my programming playbook it seems

gloomy linden
#

Tbh, thats some fine psuedo code

shell estuary
#

Can anyone help explain why my camera is moving with the ball rotation? I wanted to have it be able to right click and rotate around the ball

static charm
#

click that and change it to world

verbal bolt
#

haha, that's nice

#

I got that, BPs are not for low-level stuff

#

still I appreciate the humour, it's so rare nowadays ๐Ÿ™‚

shell estuary
#

Gallon where are you changing that? in the camera?

static charm
#

ah yes sorry click camera

#

and then change that

#

although this all depends on your entire setup for the ball/camera

#

but i am assume a few things

shell estuary
#

actually that messed it up haha

#

can i share the bp?

static charm
#

yes

shell estuary
static charm
#

oh then change the spring arm rotation to world

#

like i showed with the camera

#

or show the blueprint component list

#

so we can see your setup

shell estuary
#

Perfect thank you

#

I think it works now

#

ah wait

#

I was trying to have the front of the ball change directions with camera tho

#

so like if I rotate the camera or spring arm I guess

#

I want that to set the new front direction of the ball

static charm
#

and this mechanic was working before or this is a something else you want

zenith dust
#

hi, how can set a variable (type actor) to null please ?

static charm
#

make a variable in the blueprint of type actor

#

and then use that variable to set anything that you want as none/null

#

because a new variable added as type actor is none until it is set with a proper reference

shell estuary
#

Thought I had it working, maybe not but I have 2 FW/BWs lol

zenith dust
shell estuary
#

I think I need to get the spring arm location and add that as a vector to the ball in torque

jolly lion
#

Hi there, is there a way to get a pawn the player is controlling to use AI Move To? I'm trying to do something where the player's pawn moves along a spline if an event happens (i.e. dialog answer happens). Simple Move doesn't get me a nice finished event to trigger something off the end. i.e. move to multiple locations along the painted spline

silk socket
zenith dust
#

pk3 you try to call function on none existing actor

snow geyser
#

^

#

There was no value passed to set speed

silk socket
#

ty

shell estuary
#

Why does this not work? The spring arm is attached to the ball with abs location.

#

FW/BW works the way I want, but the R/L spins it out of control

#

this is for moving a ball