#blueprint

402296 messages ยท Page 756 of 403

trim matrix
#

How do I make it so when a Teru is collected/destroyed, the values on the particles will decrease? ๐Ÿ™„

fiery glen
#

have picking up the Teru (whatever those are) trigger an event on the actor that owns the niagara particle system

trim matrix
#

So would I continue to do this in the particle blueprint

fiery glen
#

is this just an actor with a Niagara component?

trim matrix
#

Yes

spark steppe
#

Teru Teru Bozu is a weather controlling doll from japanese culture

fiery glen
#

ooh, cool

trim matrix
#

The game is where you have to collect them to make the rain go away

trim matrix
#

I want the weather to decrease depending on how many terus have been collected

spark steppe
#

i learned that in minecraft btw. ๐Ÿ˜„

trim matrix
#

Could I use this event and make it trigger and decrease the values of the niagara ps?

#

Alright I am struggling

trim matrix
#

Is anyone able to give me a hand?

spark steppe
#

๐Ÿ–๏ธ

#

you should describe where you struggle, because actually i have the impression that you don't even know how/where to start

fiery glen
unborn tusk
#

Hi all. I have a persistent level with sub levels in which I want to save and load NPS.
The question is how to store information about the NPS. I want to do it in Instance, but I can't figure out which variable to use. There is a Base NPC Class, but for some reason it seems wrong to use it.

worthy carbon
#

Can i use playfab SDK for a 100 player multiplayer battle royale game?

odd ember
worthy carbon
#

No, i started using the engine since januari

gentle urchin
#

Got previous engine/multiplayer experience?

worthy carbon
#

I learned multiplayer by tutorials

odd ember
#

do you have a team of competent programmers?

gentle urchin
#

Adjust your scope to some fraction of the original

worthy carbon
#

Nope

odd ember
#

and enough money to shell out for server space?

#

then I would suggest starting with something smaller

worthy carbon
gentle urchin
#

see if you can get a 2 player thing up and running if you're determined to do multiplayer

#

some coop experience

odd ember
#

100 player anything is well into pipedream territory, even for some established studios

gentle urchin
#

should be a minor task compared to 100 player battle royale thing

brazen pike
#

And you'd have to compete with... fortnite and pubg. That's not exactly an easy thing to do

gentle urchin
#

Exactly...

#

But even without the competition

worthy carbon
gentle urchin
#

the task is on the grandiosest of scales

worthy carbon
#

Okay, then i will start my game with singleplayer and maybe later when i reached the point i will make it multiplayer

odd ember
maiden wadi
#

@worthy carbon It's brutal to hear. But that kind of game has a massive amount of requirement. It's not really solo dev capable. Not realistically. Even if you manage to somehow pull off being a genius level art and programmer to put the game itself together, you will not have time to do that as well as manage servers, deal with players, handle accounting, deal with QA. You can forget taking five minutes to get coffee in the morning.

Having said that, there are potentials to getting a backing publisher or investors. But there is a 110% chance that these people will not touch your idea without any prior development or release experience on a scale that a 100 player battle royale requires. Learning on a smaller scale is in your interest both because it's easier with less critical problems, and because it brings factual proof that you can handle it which is a good currency in develpment.

odd ember
#

pretty much

#

I generally keep a rule of thumb that multiplayer squares development time (of a title that would otherwise be SP)

leaden dock
#

does unreal trigger a released event for all input events when the window loses focus?

#

cause if you lose focus before the event released then it is basically pending until you press it again

icy dragon
# worthy carbon Can i use playfab SDK for a 100 player multiplayer battle royale game?

Battle royale game genre is an easy trap for naive newcomers to fell through. Look at the tragic stories like The Culling, a failed battle royale game where the devs kept failing to revive it TWICE (thrice if you count Origins). Barely anyone playing The Culling games nowadays, so much so that they resorted to bullshit arcade-y business model - and the future doesn't look bright to them.

earnest tangle
#

SOS is one which was kinda cool. It had a much different basic premise

#

But I guess it didn't become popular enough and they turned into a generic boring BR and then it just died completely :P

icy dragon
maiden wadi
#

I don't even think I've heard of that game. O.o

gentle urchin
#

^Same

#

Says it all ๐Ÿ˜›

earnest tangle
#

Yeah, it was popular with some streamers for a while when it launched. It was a thing where more than one person could win, and it encouraged players to team up

#

So it was quite funny when some people would go around and play funny roles to attract people to their group and such

maiden wadi
#

I find it hard to believe this game was released only five years ago. They should consider hiring a level designer. Some of their graphics don't look bad. Can't speak for gameplay, but their levels look terrible. Bad texturing, barren. Assets don't match well, some high poly, well textured things and then some ground that looks like it came from PS1.

mild jacinth
#

does anyone know if it is possible to create a UMG Volume slider that updates the value as soon as you move the slider. I got the impression that it's not possible using blueprints but i might be wrong.
e.g i open options menu then move the slider, close options menu, re-open, and the slider is where i left it

maiden wadi
#

@mild jacinthValue Changed binding runs billions of times per second while moving a slider.

sand shore
icy dragon
mild jacinth
gentle urchin
#

Sounds like you're recreating the widget

maiden wadi
#

You just set the slider value on Construct.

#

GetOptionsVolumeSettingThingAsFloatOrWhatever -> GetSlider->SetSliderValue. Then when you slide it, you SaveOptionsValueAsFloatSomewhereTheGetterCanRetreiveItFrom.

wise swan
#

is it possible to encode a png as base64 ans the decode the same using bp?

icy dragon
mild jacinth
#

No it does not work. I guess I have to use C++ for this. The value does not get saved no matter what I do.
It reads the default value

mild jacinth
gentle urchin
# mild jacinth

Your saving it in the widget, which you're recreating, are you not?

mild jacinth
#

Yes, but I tried using save game object aswell, and using maingamemode, both had the same result

gentle urchin
#

You're saying that, yet i've done it succesfully in that manner (save object)

mild jacinth
#

I am saying that yes. I'm not the only one working on the project, however that is another story. I don't see anything that would interfere with it, but that's just me

gentle urchin
#

Showing the code you used is a better way for others to understand whats going on ๐Ÿ˜›

#

Old and not very organized code, but it works

#

I cringe a bit sharing this piece of messy code but it'll have to do ๐Ÿ˜›

#

i dont destroy the widget, so i just store it internally (and save it to file when the user "applies")

#

then on some beginplay i load the settings and update the options widget accordingly. Using a float array since i've separated the sound settings

trim mist
#

this gotta take a lot of times

burnt abyss
#

i can send the link if you want

odd ember
sand shore
odd ember
#

and it's even easier to just to SP than that

thick hornet
#

hey quick question: has anyone here subclasses from the default UE4 Play Niagara Particle Effect notify class? I'm tryin to have a similar notify where I can preview the effect in an animation montage, but I want to be able to chose between 2 VFX based on a boolean from the pawn who is playing that montage.

odd ember
#

sounds like #animation if it's inside an anim montage

brave citrus
#

How could I get a reference to an actor in a DLC .Pak that loads in after the game loads.

Like if i wanted one of my base game actors to reference it or call an interface function to it

odd ember
#

if you use interface calls you don't have to care about what the other actor's class is

#

which is probably wise in this case

wary tinsel
#

hey guys I'm working on a small reward system with unlockable items and I was asking myself, what if I want to patch my game and add content later on? I would like to 'expand' each category but at the same time I don't want player to lose the items they unlocked, is there a smart way to do this? I'm just using a struct and arrays

odd ember
#

the TPS pawn is already configured for this out of the box. if you're talking about the smoothened movement on the side of the character, that is #animation

dawn gazelle
wary tinsel
dusk flame
#

Hello, I am trying to make a quick prototype, but am running into a weird issue, where my URPROPERTY doesn't allow me to select an asset.

odd ember
dusk flame
#

I've been instructed, in pretty clear terms, that things that cross the boundry between cpp and blueprint belong here.

dawn gazelle
dusk flame
#

This is a direct question about the way that blueprint exposed properties and types show up in the property panel.

odd ember
#

given that we don't know about #cpp we can only help insofar the issue is wholly #blueprint

#

yeah but UPROPERTY specifiers are strictly #cpp

dusk flame
#

Well I guess I will try in the other channel... but doubtless I get chased away for asking a blueprint question.

odd ember
#

doubt it

#

in the end it's not a blueprint question, it's a UPROP question

dusk flame
#

Well I shouldn't be grumpy, I just got chased around before here, where nobody wanted my questions ๐Ÿคก

#

But I will remember from now on to keep cpp-related questions in cpp only.

#

In this case I want a bit more powah

#

But its just a prototype anyways

#

Oh, I removed the instanced anyways

#

Whats interesting is the public editanywhere UPROPERTY attributes on the UWeapon object don't show up in the properties panel.

sand shore
# dusk flame Oh, I removed the instanced anyways

Instanced is one of those specifiers that is quite unlikely to have anybody in here familiar with what it does, #cpp is much more suitable for discussion of that.

Stuff directly related to the c++ class's BP API might have good discussion on either channel, but writing C++ for BP consumption is a #cpp topic for sure. And anyone who says otherwise is wrong

sand shore
dusk flame
#

But maybe something else is going wrong, I will investigate further.

sand shore
brave citrus
#

@odd ember How would i give my DLC/Mod plugin access to the interface. I migrated the interface over to the separate DLC/Modding project, and added the functions to it, but they don't seem to be receiving the events from the main game

odd ember
#

if they're actors, and you communicate with them normally through BP with correct references, there shouldn't be an issue? I assume the interface is in the base game

little lark
#

Hello guys I need help. Is there a way that I can run my blueprint in the viewport mode? Because I made a blueprint with a light effect but it only shows when I hit play. But then im in my character and not in my camera and I only want some camera shots with that blueprint light

faint pasture
#

7 years of this stuff and TIL

odd ember
#

I made my own unpossess pawn only to find out this?!

little lark
#

I swear u are a hero

odd ember
#

an true hero

#

wait you can read?!

gentle urchin
#

Am i wrong assuming my code is wrong when spline points overshoot?

#

Yeah, just wanted to make sure this wasn't some "normal behaviour used in calculation of tangents" or something crazy

odd ember
#

usually maths are pretty good at lining things up correctly

thorn fiber
#

Did you ever resolve those warnings?

odd ember
#

though I don't know if this could be a float point inaccuracy

gentle urchin
#

Probably not, im surely just not calculating it correctly

#

Incoming vectors are from a nav query.

odd ember
#

if you want less wires btw, then you can use parameters as variables if you type in Get <ParameterName>

raw orbit
#

question, if an actor component implements an interface can the event be executed by checking if the actor to which the ac is attached to implements the interface? i suppose i could check myself but decided to ask in case someone might just suggest a better alternative ๐Ÿ˜„

odd ember
#

interface implementations are static, so no

#

but you could hook up event dispatchers, which are dynamic

#

and all the rage

raw orbit
#

hmm would it be more cost effective to retrieve variables from an actor component attached to the game mode actor rather than using the 'Get All Actors of Class' node? reason being im not allowed to really alter the game mode directly in the project among some other things

faint pasture
#

Basically using a component as an interface with state

raw orbit
#

CallBeginInteract being a custom dispatcher i take it, as an example?

faint pasture
#

BeginInteract is an event on the component. Actor hooks to it typically like OnBeginInteract

odd ember
#

are you saying my GetAllActorsOfClass nested foreach loop on tick is a bad idea???

faint pasture
#

I use a scene component so interaction can be said to happen at a specific point in 3d space

dawn gazelle
#

Just to be sure, that loop should call a function on each of the actors that also gets all actors of class.

faint pasture
#

I'm calculating TREE(3) on tick in BP, is it gonna be bad for perf?

raw orbit
#

sounds like perfect harmony

tawdry mural
faint pasture
tawdry mural
#

sometimes 3 cars align

#

creating impassable situation

#

filter huh

faint pasture
#

Well it should be. Blame Linus.

faint pasture
# tawdry mural sometimes 3 cars align

Either tune your car spawning such that they can never align, or give the player the tools to work around it. I'd do the latter, by zooming out a bit and letting them move up and down some as well

odd ember
#

make a git PR for the gud command

faint pasture
#

That should just go without saying. Spawn a car every x-x seconds on a random lane with a random speed and let them move for about 5 seconds before entering view and you'll get a nice organic spread of lanes and alignments without big clumps

green eagle
#

Hey I realized how to get the info I wanted but its a bit more taxing than I originally wanted to believe.

So the "Search" for actors by class will give an array of "references" whcih then running a loop to check each "Reference" for its "UID" or "SUID" value > if it matches the searches desires > add to Applicable list > interact in widget.. etc etc..

Thanks for the help the other day.. mad I didnt think about how this gives us paddresses to reference further down the code... will def need to make some fail safes in this arch in the future.

Wanted to say thanks for your time.

faint pasture
#

Get overlapped actors, call interface on them

green eagle
#

im using a cube

#

but really should be a sphere

#

havent decided if they should be able to use the QOL feature between floors..

faint pasture
#

That's actually how I do all interaction actually.
Get overlapped actors
Filter by dot product vs forward
Select by distance

green eagle
#

nice

odd ember
#

if it goes between floors

green eagle
#

good call

odd ember
#

I do most of my AI percetion in a similar manner

#

sound even using navmesh queries

green eagle
#

I was thinking that would probably be a thing I would need to change depending on how aggresive the use of walls/defenses would be.

#

that and a limit break

#

heaven forbid someone has it maxed out and just decided to dump 2000 objs into the area..

#

but then again there is always someone out there that wants to go beyond the design and see how they can break things

odd ember
#

are you doing this for some designers?

green eagle
#

Ha.. no.. but I do use a lot of my core projects to make stuff for interns and students to learn from I also have a bad habit of thinking about too many pointless "whatifs" and "canitbesimpliers" trying to get myself to be better about just making something and later guaging if its even worth tweaking for perf/opts.

odd ember
#

a wise man once said premature optimization is the root of all evil

faint pasture
#

Amazon Game Studios once said premature optimization is the root of all evil

formal jetty
#

Sry to interrupt, is this the place to ask for a blueprint question?

#

okey

odd ember
#

we are the interruption, in fact

formal jetty
#

Itโ€™s possible to attach the beginplay event to an actor, as I did with the actoronbeingoverlap?

#

im a bit new so don't laught at me if its something stupid xd

odd ember
#

each actor has its own beginplay

formal jetty
#

i mean when i select the actor and add event it doesn't show the beginplay

odd ember
#

I don't think it's setup internally to do that. generally actors don't have level specific behavior in their begin play functionality

#

if a level has level specific behavior for an actor, you can use their reference in the level blueprint's beginplay

formal jetty
#

Well, the problem I have is in a plugin where it generates slides for some kind of 3d presentation. But in the documentation, it doesnโ€™t specify were I have to attach some custom events for each slide.

#

I mean when the slide is selected do an action or something like that

faint pasture
formal jetty
#

yes, but when i edit the actor blueprint is linked to all the actors of the slides and I can't add individual events

#

huh thaanks for the advice

#

I'll link a keyboard input and see if it works, ty everyone

obtuse herald
#

whats up with that?

odd ember
#

what's the catch?

#

generally the reason I use the level blueprint is because of visibility

#

absolutely

#

I wouldn't argue it for something with world composition

#

what is wp

#

the way you mention it is ominous enough that I should perhaps know about it

#

I see

#

so the logic extreme of world composition

#

yeah okay

#

with systemic designs level blueprint might not be as necessary, but I like it for scripting individual per level things to happen. I also just like the fact that all the visibility on level specific code is in one place and you don't have to search around through various manager with various hard refs to find what you are looking for

faint pasture
#

I've never used a level BP since 2014, they're a nub trap I think.

odd ember
#

it's a real shame if we all become forced to do ubisoft one dimensional overworlds with copy pasted content ๐Ÿ˜ฉ

faint pasture
#

You can still get custom one off stuff going on

#

Just link things up with data instead of in the level bp

odd ember
#

data is not very visible

#

which is really the bulk of my criticism

faint pasture
#

Ya true.

#

Although you can presumably have editor stuff that visualizes connections etc

odd ember
#

even if you have that, the inside of the manager is still a black box

#

so if you have to go between e.g. different actors, you jump through the hoops of each individual actor

#

nothing is centralized

#

it's much harder to find level specific bugs in a manager than it is in a level blueprint

faint pasture
#

Isn't a level BP just a manager with Automagic references to level actors?

odd ember
#

and for what it's worth I'll continue using them until they are deprecated

odd ember
faint pasture
#

That's probably why I've never messed with them, all my work has been on systems etc. Not much building out of actual levels.

odd ember
#

I have layered systems, but that doesn't mean I don't have things happen that is endemic to a level

tight schooner
# trim matrix I want the weather to decrease depending on how many terus have been collected

The player pawn (or whatever is doing the collecting) has to communicate with whatever is managing the particle effect, or vice versa if using an event dispatcher. If you have many Niagara systems that you need to update simultaneously, consider a Niagara Collection Parameter โ€” a sort-of global parameter.

On the Niagara end, you need to drive the spawn rate with a user-space parameter. The easiest-to-think-about approach is to make a float parameter (e.g. SpawnRate) in the system section, feed that in your Niagara emitter's spawn rate module, and on the BP end, do the conversion from no. of items collected to spawn rate and set the parameter User.SpawnRate on the system. (The workflow for Collection Parameters is only slightly different.)

trim matrix
#

Good time. Need consultation about procedural mesh. If anybody have experience write me back please. Thank you for attention.

odd ember
# odd ember I have layered systems, but that doesn't mean I don't have things happen that is...

if you think about games like hitman, there's plenty of systemic behaviors going on, especially with the AI. but despite this, designers have agency to create their own thematic touches per level. so both types of design paradigm have to work together. if wp really is this massive change in creating levels, then that spells a soft end for the creation of those types of games with the engine

#

at least without more bespoke systems to take over for them

faint pasture
#

So why can't you just make a regular actor blueprint and use tags to designate level actors? I mean it's a little bit more work but it's really not that much more

#

If you have two actors in the world, can you set a reference on one to the other? I pretty much don't do anything remotely fancy at design time so I've never mess with any of this

odd ember
#

you can but why do that when a more ideal choice already exists?

#

why pick the worse out of two options?

#

a bespoke system akin to levelbp

#

actors are instanced

faint pasture
#

If you can do that then what's the difference? That's basically exactly the same as a level BP. You just can't right click and start typing get door3 but otherwise it's pretty much the same.

odd ember
#

you cannot do the aforementioned sketchpad type logic

#

not inside the graph, at least

onyx pagoda
#

Hello smart folks. Does anyone know if there is a way to call UGameplayTagsManager::Get().RequestGameplayTag(FName(Tag)) in a blueprint-only project? It doesn't appear to be exposed as far as I can see. Is there a method of creating a very short code function like that in BP nodes?

#

they are indeed

odd ember
onyx pagoda
#

there's quite a bit of gameplay tag and gameplay tag container functionality exposed, just not that one in particular

earnest tangle
odd ember
#

the centralized visibility is a key part of levelbps

earnest tangle
#

it's trivial to create a wrapper for it in C++ though

onyx pagoda
#

yeah, the code is easy to add, I'm just running completely native currently, a BP-only project. It looks like i've hit my first roadblock that may require a build

earnest tangle
#

Yeah if you know C++ no reason to avoid it imo

odd ember
#

also UE4's cpp is cozy

#

for the most part

onyx pagoda
#

it isn't bad, no. Just a time investment - and one that it's time to eat.

odd ember
#

unless you're just wildly extending the source engine in the name of optimization

#

not mentioning any names ๐Ÿ˜

earnest tangle
#

the time investment is 30 minutes maybe lol

onyx pagoda
#

if I was solo ๐Ÿ˜„ i have a small team, so this'll require distributing the build. a bit of an inconvenience for the others

earnest tangle
#

you could make a separate plugin for it if it's such a big problem

onyx pagoda
#

oh that's a nifty idea

odd ember
#

worst case you'd have two separate levels if you're talking about getting around not having OFPA

onyx pagoda
#

never made a plugin before.

#

5 people currently. what's the ini option?

odd ember
#

besides that, there are technical issues with manager actors, such as them not having full knowledge of other actors without hard refs (or hacky GetAll solutions). load order isn't deterministic.

onyx pagoda
#

whaaaat

#

that's handy

#

that makes me much less nervous about making a build

odd ember
#

I'd happily switch to a manager object if there was some semblance of being able to sketch out logic in the same way as in the level bp. essentially a decoupled level bp

onyx pagoda
#

thanks a ton for that suggestion, that sounds like the right path for this situation

#

although i'm at least going to look into the plugin option and see how difficult it would be. just because that then solves it for anyone

#

can toss it online for free if anyone else needs it, if i can figure it out

#

very true

#

what do you mean by 'any of this architecture'? it really is just for this one bp library function, but that still requires one of these solutions right?

#

or is there an in-editor way to code small scripts like this that i don't know about

#

oh ok, got you

mild flare
#

hello,

when the character sprints I want the camera turn speed to decrease, the reason is that if a character sprints and just turns the camera in a circle quickly the pawn will be sprinting on one position and just rotate. is there a way to limit the camera/mouse input speed?

wet palm
#

UATHelper: Packaging (Android (ASTC)): > Task :app:compileDebugJavaWithJavac FAILED
UATHelper: Packaging (Android (ASTC)): Gradle may disable incremental compilation as the following annotation processors are not incremental: lifecycle-compiler-2.0.0.jar (androidx.lifecycle:lifecycle-compiler:2.0.0).
UATHelper: Packaging (Android (ASTC)): Consider setting the experimental feature flag android.enableSeparateAnnotationProcessing=true in the gradle.properties file to run annotation processing in a separate task and make compilation incremental.

#

why issue

#

ok!

#

@trim matrix thanks

#

thats not work

#

i tried that method

mild flare
#

@trim matrix you are beautiful, works like a charm

wet palm
#

no problem!

odd ember
#

if you use a Select node

wet palm
#

yeah, ill do

winter kettle
#

if I have a macro that does this, would the input values always remain the same?

gray mesa
#

Alright. I have a question. I'm trying to put together a construction system where a "ghost" object spawns in front of the player, can be moved, and finally, placed. Currently, I am doing a line trace from the camera, ignoring my BP_BuildGhost Actor. I then use SetActorTransform to move the ghost object to the desired location. (I do both of these things every tick.) However, it is moving the ghost actor to the trace location regardless of collision, which means that, commonly, my build ghost is inside of other objects as I try to position it. How can I get it to stop moving before it intersects with another object? My static mesh inside of my BP_BuildGhost actor is set to BlockAllDynamic, as are the objects I want it to collide with. My SetActorTransform node has sweep enabled as well.

odd ember
#

oops

odd ember
winter kettle
odd ember
#

it can

#

and will

#

in either case, it won't work

#

don't use a setup like that

#

there's a reason latent functionality isn't allowed in smaller scopes generally

#

(other than return values)

atomic salmon
gray mesa
#

I apologize if I forgot to include that in my earlier question.

winter kettle
#

Maybe a bit of an explanation would be better, just telling me to not do something doesn't seem like completely answers my question

atomic salmon
odd ember
#

as in, what you want to have happen

gray mesa
#

Perhaps it is because I am in UE5EA then. I'll throw together a test in 4.27 to see if I get differing results.

trim pollen
#

it doesn't tell you what "Save Game Instance" is?

atomic salmon
gray mesa
atomic salmon
#

And their collision settings are set properly

gray mesa
#

Alright

#

Just a simple BlockAllDynamic for both.

atomic salmon
gray mesa
#

A static mesh in the level.

atomic salmon
#

Easy test. Switch both to BlockAll and try in this way.

#

We can move this to #legacy-physics if we donโ€™t want to flood this channel

winter kettle
# odd ember as in, what you want to have happen

well it's part of a marketplace plugin so I can only assume the intentions of the code, I think we are going to replace this plugin for our own code just to have what we actually want it to do

dark crow
odd ember
devout kelp
#

Hello all, foolish question. id like to make a program to run during a twitch stream. however, sometimes that would mean running my program at the same time as a video game, and god knows i'm terrible at optimization. would just setting up an empty level with a single "go back to your other scene that has all the stuff in it" button work for optimizing lol

trim pollen
dark crow
#

Right click Return Value

Promote to Variable

trim pollen
#

oo, nice. ty

odd ember
devout kelp
#

ah dang, okay. do you have any ideas on how to handle this by any chance lol

odd ember
#

you're still doing a blocking load per level, but because each only carries a fragment of the assets you load less per level

#

you'd have to do this manually every time though

devout kelp
#

that's fine, i am used to doing lots of manual nonsense. thanks for the tip!

faint pasture
brave citrus
#

@odd ember I got it working. I ended up making a interface plugin both projects share

odd ember
#

weird that you had to go to such lengths, but glad it worked out

devout kelp
#

alright, uh, i've got an entirely empty level with a widget that has a single button, which is somehow taking up 50% gpu so i think my issue is that i'm launching from editor and it will hopefully be less greedy with my resources when i've packaged it

gray mesa
# faint pasture How complex are the shapes of your actors and what kind of resolution do you nee...

Marco helped me fix the issue in #legacy-physics, changing it to simple fixed the issue, as I believe you are already aware. The objects are simple enough that simplified collision will work just fine for when I'm trying to place them, I can always switch them to use complex collision once they're placed, or, if I can't do that for some reason or another, just use a second, simple collision mesh for the ghost, and replace it when I place an object.

odd ember
empty needle
#

How do you filter a map for a specific value?

#

or an array?

dawn gazelle
#

Find

empty needle
#

How do I filter for only the 0's?

#

If I had a datatable like this, how would I filter for the 0 in Timestamp?

dawn gazelle
#

^

empty needle
#

Imagine this is connected to a slider.

#

It takes a long time to loop through all the values.

#

So it slows down the engine a lot

dawn gazelle
#

If you think about what filtering is - you are effectively looking at everything and then only allowing certain things through based on whether that specific thing matches a criteria. Looping through all contents is effectively required.

#

Best you can do from there is try to use subsets of data instead if it's too much.

#

I think.

odd ember
#

in BP you'll have to cache the DT anyway, since I don't think there's any meaningful way of getting multiple rows out of a DT without storing them somewhere

hybrid ether
#

Hello, How to tile (atm full map) to 4 tiles (top_l, top_r, bot_r, bot_l)?

winter kettle
#

If I saved data with Save game to slot in a previous version of the game, and I want a new version of the game to reset that data to default values how would I go about it? We use a patcher tool so the saved data/slots persists across versions of the game

odd ember
#

I don't know how much of save game to slot has actually been implemented to be useful. but create a new save file?

#

that will by default be empty

winter kettle
#

wouldn't that require a variable that indicates that the data was reset so it isn't reset again?

odd ember
#

I mean you didn't mention that as part of your original problem.

#

I thought you wanted something fresh for when you press "New Game" in the main menu or the like

winter kettle
#

Oh yeah my bad

odd ember
#

but like I said I haven't worked with save game to slot. I couldn't get it to save things properly

#

so I wrote my own save subsystem

drifting condor
#

Hey guys I could use some help. I purchase the Improve fights : Stylized VFX Pack from the asset store. I was trying to set up the dash effect using the blueprint tutorial but no matter what I try the trail wont work. I've been over the tutorial 3 times already but can't figure it out. The actual dash effect works fine though.

odd ember
#

I would suggest getting help from the publisher in this case

drifting condor
#

okay thank you

austere copper
#

Anyone know why my spline bp would be turning in on itself with sharp angles?

icy dragon
austere copper
#

Yeah that seems to be the culprit, when I move off axis it fixes itself. Any idea how to fix it? From my quick understanding of gimbal lock its confused on the tangent making it inverse but that was just from a 10 second google

#

Found a quick fix online but I appreciate you getting me on the right track. The addition of a set spline up direction node did the trick

scenic kindle
#

Why does my flying pawn have no collision

odd ember
#

have you added collision to your pawn?

scenic kindle
#

Yep

#

It just doesnโ€™t work idk why

odd ember
#

what are your collisions set to?

scenic kindle
#

In the blueprint itโ€™s set to block all and in the mesh itโ€™s set to complex collision as simple.

odd ember
#

so your only collision is a mesh? or do you have a capsule as well?

scenic kindle
#

Itโ€™s a flying pawn. From the template, I replaced the mesh with my own and no collision all of a sudden. There never was a capsule

#

Should I add one?

odd ember
#

if there wasn't one, then no

#

but if all you did was replace the mesh, that's probably where you should be looking

#

maybe your mesh has no collision on it

#

in which case the settings dont matter

cursive apex
#

what is the name of those single value nodes ?

bright frigate
#

just scalar values I guess

spark steppe
#

constant

candid blade
#

im trying to make a blueprint where a cube change colors on contact with the player and im completely lost. all the nodes make my head spin (im new to unreal) any tips on what nodes i should use? ive tried finding videos of it but i cant seem to find any

zealous orbit
#

You have to setup a dynamic material instance, then set the color parameter

candid blade
#

i already have a blueprint set up where it changes color if i press E but i spesifically need it to be when player comes in contact with it

zealous orbit
#

Great!

candid blade
#

right now it looks like this

zealous orbit
#

So you've done the hard part

#

Did you add a collider component to your cube?

candid blade
#

no, i dont think so

zealous orbit
#

Oh sorry, it's called "Box collision" in UE

bright frigate
#

and then you can also use an on end overlap to change it back if you want

zealous orbit
#

When selecting the box collider, you will see the events on the right side of the window

#

There are a bunch of green plus buttons

candid blade
#

this one?

zealous orbit
#

Yeah that one

#

It will add an orange box to your BP

#

That's the collision volume for your cube

bold sedge
#

Can i make a static mesh drivable? Or does it need to be rigged like a skeletal mesh?

odd kiln
#

Hello all

#

Does anyone know if it's here that I can ask about merging decals ?

zealous orbit
# candid blade

The static mesh collides with the character, but you need the cube collider to generate the events. You can use the OnComponentBeginOverlap or OnComponentHit events

#

Cast "OtherActor" to your player BP, check if valid, then do your color change if true

candid blade
#

im sorry, where do i find OnComponentBeginOverlap?

spark steppe
#

rightclick the component you want it for in the actor hierarchy, there is an option to add the event to the graph

candid blade
#

ohh, thank you!

cursive apex
#

how do you turn on the things that are off ?

zealous orbit
#

Might be called character

#

You can go without the cast, but then the cube will change color when it hits anything (IE the ground)

candid blade
#

oh found it, it was called thirdpersoncharacter

zealous orbit
#

Ah, you are using the project default character

#

I wasn't sure if you had followed a tutorial

candid blade
#

yeah its the default third person project thing

#

its for an assignment where we do blueprints and im really struggeling cause none of it makes sense to me

#

right now it looks like this, not sure what to do from here

zealous orbit
#

Connect the top part of your Cast to your SetParameterValue

#

The Cast is basically saying "Is the thing that collided with me a player?"

#

When you select multiple nodes and hit "C" you can create comment regions

#

I HIGHLY recommend you comment groups of your nodes to identify what they are doing

#

Not only will this be good practice going forwards, it will help you reason through what you are doing

#

Effectively learning the material better

zealous orbit
cursive apex
#

how can I reproduce the waterfall ?

candid blade
#

pretty much yeah, ive done some C+ scripting back in the days but very little. never done blueprints before tho

cursive apex
#

I have done this so far to put into a plane

zealous orbit
#

This is all about breaking big problems down to smaller problems. If you can't reason through the problem it probably needs to be broken down smaller.

#

You might need to enable overlap on the collision for your cube / character

candid blade
#

yeah thats sounds like it would make things alot easier

#

ill keep it in mind

zealous orbit
#

Blueprints and C++ are both all about logical organization. It's programming, and learning it is a paradigm shift for just about everyone.

candid blade
#

this is what it looks like now

#

do i remove the E key thing if im not gonna use that anymore?

#

also not sure what do to with the box collision

zealous orbit
#

It's helpful if you can point to each node (starting with a red one), say what it does, then follow the white line and say what the next one does.

#

It's like you are writing a story

#

Each story starts with the red event nodes

candid blade
#

ohh

zealous orbit
#

Nodes that aren't in use and aren't connected should generally be deleted

candid blade
#

didnt i need the box collision tho?

zealous orbit
#

Not the node

#

You needed the box collision component

candid blade
#

ah, my bad

#

now i have it i hink

#

everything look ok here?

zealous orbit
#

Try it out and see what happens

#

You have all the parts, but you'll need to reason through what's happening

cursive apex
#

Is there any way to make a plane with a rain material see through mm

#

?

candid blade
#

i think it might have something to do with the box collision

zealous orbit
#

Did you enable overlap on the cube component?

candid blade
#

oh no i didnt

#

where can i find it?

zealous orbit
#

It'll be buried under a Collision section on the right side when you have selected the cube collision component

candid blade
#

could this be it?

#

omg it works now

#

thanks so much!!

crisp moth
#

Anyone know is it hard to do parabolic shot for bow? or is there any example? thanks

worn plaza
#

does anybody know why setting the camera focal length doesnt seem to have any effect?

#

its transitioning the player view to the camera correctly but it keeps it at what appears to be the default zoom?

proper umbra
#

Is the default Jump function just an Add Impulse?

vapid talon
#

Hi guys, is there a way to add a Button to a BP 's parameter interface?

timber knoll
#

No need for impulse

proper umbra
#

Ah okay I can see that.

#

Whenever I Add Impulse to an actor, they get pushed about 10x as far if they are already in the air, so I'm just trynna see how to reduce that.

timber knoll
#

Pushed as in sideways?

#

When colliding with a surface you have to keep friction in mind

#

As well as the basic character behavior to slow down

#

In air you basically have no counter force

proper umbra
#

sideways yeah

#

And yeah that makes sense. I might just have to divide it based on movement mode

atomic salmon
#

@proper umbraremember that AddImpulse works in world coordinates, make sure the impulse vector is directed accordingly

#

Also make sure you apply it to the CMC and not to the capsule

main orchid
#

I've found that if your AI uses root motion, launch character node will only affect the vertical Z axis. You'll need to turn off root motion before the launch and turn it back on after the launch.

vapid talon
spark steppe
#

enable "call in editor" for the function

#

however, that only works on functions which don't take parameters

#

and iirc only on non pure functions

scarlet pumice
#

What's a good way to make a UObject derived blueprint Tickable ?

#

I can edit the C++ baseclass for this object if necessary

icy dragon
scarlet pumice
#

so derive from FTickableGameObject , add a Tick function and add a custom Blueprint event for tick

icy dragon
#

I think ALS done it by having a separate "last input vector" or something like that.

honest path
#

Why is it spawning the gun like that even tho the socket is on his hands

spark steppe
#

did you check the origin of the gun?

#

or does it use sockets, too?

honest path
#

I'll check

#

no it doesnt

#

seems normal to me

spark steppe
#

but is the mesh really at 0,0,0?

honest path
#

yes

spark steppe
#

so you checked the actual mesh?

#

not the mesh component

honest path
#

oh wait

#

yes it is 0 0 0

spark steppe
#

and the sockets of the arm rig, are childs of the hand bones?

honest path
#

yes, I checked multiple animations and the socket had always the same spot at the same bone

#

Here is the code btw

maiden wadi
#

@honest path Your attachment rules look wrong.

spark steppe
#

well, keep relative transform could be the issue

#

but not sure

maiden wadi
#

Should definitely be snap, unless you're explicitly setting it afterwords or don't want it to be at the location of the socket.

spark steppe
#

isn't it spawned with 0,0,0 relative, and keeping that would kinda snap it?

spark steppe
#

or will it update the relative offset to stay in place?

honest path
#

bro I dont know man I am so confused

spark steppe
#

just try snap

#

usually authaer is right ๐Ÿ˜„

honest path
#

ok

maiden wadi
#

FAttachmentTransformRules::SnapToTargetNotIncludingScale

honest path
#

ok

#

nah man still like this

spark steppe
#

i'm curious how your socket even follows the hand bone

#

as it's not attached to it

#

but never worked with skeletal mesh sockets, to be fair ๐Ÿ˜„

maiden wadi
#

Dunno. Assuming that the skeletal mesh and socket are setup correctly, I attach things all of time using this. Changed to your code.
Gun->AttachToComponent(GetMesh(), FAttachmentTransformRules(EAttachmentRule::SnapToTarget, true), FName("GunSocket"));

honest path
#

I'll try this

#

Bro I swear it is still like this

#

is my bp corrupted??

#

this engine is fooling me

late island
#

does anyone know how to code a change in fov when chatacter is sprinting? Cheers :)

maiden wadi
#

Might try a full editor restart with compile to be sure. You're compiling and testing pretty quick so not sure if you're livecoding or hotreloading. Definitely don't do the second one.

honest path
honest path
maiden wadi
#

With the editor closed?

honest path
#

yes yes

late island
maiden wadi
#

You're fine then. I would definitely check the socket then. Scrolling up, it looks like your socket is in the wrong spot. Usually they're just attached directly to a hand bone.

honest path
maiden wadi
#

@late islandSame thing. Get the local player controller, GetCameraManager, then Set FOV

late island
honest path
#

should I delete that socket tho?

#

and attach it to a bone

spark steppe
#

i think you can drag'n'drop it to the hand bone?

#

or right click and search for a new parent

honest path
#

So this isnt normal rigth

honest path
late island
remote obsidian
#

Just solved my own problem, was missing a return false in my function, so even if hit was bad the function would still default to return true it seems

honest path
#

that would help us solving your problem

#

I know what I am talking about bc I am here everyday trying to clear a strange bug like this ๐Ÿ’€

late island
#

im trying to make that the player changes FOV when speed is running, but it changes everytime and its really buggy :/

spark steppe
#

use the current FOV and finterp to the target

honest path
#

what is this warning telling me

earnest tangle
#

there is no skeletal mesh assigned to CharacterMesh0

honest path
#

yes i see

#

yeah that is no problem

odd ember
#

the third person template already has this behavior built in

#

if you press any movement input briefly, the camera will rotate towards that position first

#

the alternative would be that it would strafe, which doesn't happen

#

whether it moves based on camera rotation, for the question that you posed, doesn't matter

#

what does it do then

#

the default implementation will rotate it entirely towards the new direction

gentle urchin
#

Are there known issues with spline mesh components? Cant seem to hit it..

odd ember
#

in all honesty this looks more like an animation problem, than a blueprint one. you could argue that you want a slower acceleration from the side of the movement, but that's about it

#

yes

#

the reason it looks that good is because the animation blends between the rotations

delicate scroll
#

Random problem that I can't seem to figure out. I was working on my project, I've got it set up to use the mouse and click on buttons (they don't do anything yet other than change colour when being clicked). I step away for about an hour.
I come back and create a new material make it look like glass, and put it on a box that sits behind the buttons. And when I go to test, nothing works any more. I can't click on the buttons, and they don't even change colour when I hover over them which they also did. I even deleted the box that was behind them. I tried moving the camera to a completely empty part of the world and just tossed a couple of buttons in front of it, and didn't get anything from them. Any thoughts on what is going on or a solution? I can't seem to find anything online either lol So confused...

odd ember
#

not because there's some underlying BP issue

atomic salmon
#

@gentle urchinas long as the mesh you are laying out along the spline has collisions and its channels are properly set it should work

odd ember
gentle urchin
atomic salmon
#

@gentle urchinis it for the Pawn? Yes there is a pawn collision view mode

#

Otherwise the low-level view is pxvis collision 1 at the console

gentle urchin
#

Not really, its for my road spline. I want them to connect to existing road if within x range

odd ember
#

so you want that to just instantly move to the other side? what happens when you press right or left inputs?

gentle urchin
atomic salmon
#

@gentle urchin Assuming you are using a PhysX version of the engine, the console command above shows which physics bodies the physics engine is seeing

gentle urchin
#

the "road" vs the same mesh just dragged in

#

it would appear there's no collision

atomic salmon
#

@gentle urchinyes I don't see any

gentle urchin
#

Yet its the very same mesh

#

just as a spline mesh component instead

odd ember
#

just add a multiplier to the axis input value

#

or increase the turn rate

#

tbh

#

if you try anything vector based, you end up screwing movement when you move around

atomic salmon
#

@gentle urchinhas been a while since I have worked with SMC's. Check the collision options for the component itself. They may be turned off.

#

need to jump onto a meeting but I will keep reading here, or move it to #legacy-physics

mystic mist
#

Is there a comprehensive list of Blueprints that are good to know how to make somewhere? I'm looking to develop a library of custom built Blueprints I've personally made that I can draw from. But I don't know where to start.

delicate scroll
#

Wow... Okay.? I figured out the problem by chance and am so confused as to how this happened.
Somehow! I removed the default game mode and it was set to 'none' I have zero clue as to how that happened!? Is there a shortcut to do that and I just did it by accident?? lol I wasted probably a good 2 hours trying to fix this

delicate scroll
# mystic mist Is there a comprehensive list of Blueprints that are good to know how to make so...

Hey, I'm not sure if this is exactly what you are looking for, but here are some helpful nodes and basics that really come in handy:
https://www.youtube.com/playlist?list=PLQAo6pRlrb_VjCJT3VCS871N9hyM9ml3Q
Sir_Fanci seems to have a decent amount of good information. But I think you might be looking for more advanced things if I'm not mistaken (things like a health set up, or door blueprints, etc.)?

odd ember
delicate scroll
odd ember
#

the youtube link

#

generic blueprints might make sense but in reality blueprints don't allow for the level of abstract templating where it becomes really useful

paper galleon
#

He wants blueprint version of AActor and co.

odd ember
#

lol

paper galleon
#

Such things are project specific and already exist in any case.

delicate scroll
# odd ember generic blueprints might make sense but in reality blueprints don't allow for th...

Hmmm, interesting. The things in the link seem like handy nodes with decent practicality. What kind of problems do you think could come from using them? (I am sort of still a beginner, so I am really curious)

re: generic blueprints, yeah I could see that. I've even tried to avoid doing that for the time being, just to become more familiar with how to do it before coming up with a shortcut to skip it. For example, every project I start to mess around with, I'll create everything from scratch like a health system or whatever. That way I can see how much I remember of the process and practice

odd ember
#

this may not be a singular node, but it will be some sort of communication pattern between blueprints

paper galleon
#

Any "handy" nodes can be created by you without needing any tutorials. Just make them as you need them or you'll bloat your project with useless code.
I remember writing a blueprint exposed quaternion library without checking if they are already exposed to BP. 50% of what I wrote was already exposed and the other 50, I didn't even use at all.

odd ember
#

Epic made BPs very user friendly, at the cost of using proper practices that are necessary for code

#

the result is that we have a bunch of people now coming in, not understanding how to arrange code properly, and ending up in deep waters because of it

#

I keep saying this, but: technical debt is real. it's a real problem, and it is explosive on the part of most projects made in BP

paper galleon
#

True. It stems from the idea that using blueprints can allow you to make a game without "writing a single line of code"
Most of programming is developing concise and correct logic before code writing comes into play

delicate scroll
#

For sure that makes total sense

paper galleon
#

I spent over three weeks working on the math and logic of a jigsaw inventory system (I was still very new to ue4) before I even started coding.

odd ember
#

what's worse is that because the foundation was built on shaky ground, and people had been given a greencard to explore BPs without proper understanding, you now have countless tutorials on youtube using these hacky solutions as foundations for bigger systems

#

so the problem has gotten needlessly exacerbated

delicate scroll
#

So what is your ratio of blueprints to coding that you both do in UE4?

paper galleon
#

Exactly!! Spaghetti code for no reason. I still use tutorials for some things but I will never copy code. I observe the design and logic then rewrite it as I see fit. If there are any problems, I wouldn't come here to complain that this is how I saw it done in a tutorial...

odd ember
#

it reminds me of the question that Valve posed some 10 years ago, in the period where DOTA 2 and Portal 2 were released. there was an argument for "everyone should be able to do anything", which included allowing anyone to create and sell marketplace items for DOTA2, and allowing a standalone utility for level creation for Portal 2. this quickly deteriorated and Valve had to go back on both projects and remove these features. the DOTA 2 marketplace became a place where only vetted items would be able to be sold, and the Portal 2 level editor was discontinued and removed

paper galleon
delicate scroll
#

Yeah, that was a big problem I have in one of my older projects that I still want to finish, but feel that I have to start over. It's like my first kind of 'big' project and I basically just did a patchwork job of like 30 or so different tutorials and it got to the point where I didn't know where anything was or how anything was connected

odd ember
#

I got about 30% cpp / 70% BP. BP is useful, and you can use it well, but you need to understand code to work it if you're looking to create bigger systems

#

I've written an input buffer in BP, and integrated it seamlessly with other character based input systems. I've written behavior trees for camera control in BP

#

I do a lot of BP compositing because it is much simpler than to use than cpp compositing

#

so I might create a component base in cpp, but I'll expand on it in BP

#

and make it freeform enough to be added to any actor

#

then there's stuff like subsystems, which are cpp only. subsytems are amazing

paper galleon
#

They are. I haven't used them much but I plan to for my AI manager

delicate scroll
#

So 70/30 and 30/70 lol.
I am doing like 100% blueprints because for some reason I haven't been able to get cpp working and visual studio was driving me crazy. But that was more when I first started with UE4. I should try again to make it work though. Also, I don't know cpp, like at all. As far as programming languages go, I know Javascript somewhat decently okay maybe and like baby level Python

odd ember
#

I wrote an AI director subsystem that I hook into via an AI serf component

#

the serfs register themselves to the director

#

which allows for greater control

paper galleon
#

Ahh... nice. Similar to the AI perceptions system.

odd ember
#

yeah, I wrote my own perception system

#

most of the AI features do seem to have half assed implementations

#

so I'd rather have a full overview of what I am doing

paper galleon
odd ember
#

even behavior trees have bugs on the engine side

#

I don't think learning to write cpp is the big issue

#

javascript has no basis for architecture

#

so you'd need to teach yourself proper architectural patterns to use it correctly

#

but to be honest

#

that goes for BP too

paper galleon
delicate scroll
#

Do either of you have any recommendations for a good (free) source to learn some cpp? Preferably video, I do better with visuals and following along, as opposed to just flat text

odd ember
#

like I said

#

I don't think the syntax is what the focus should be

#

in fact you'd be better off just doing BPs, but doing them well

#

I'd look for gaining an understanding of system architecture first

delicate scroll
#

I mean, I know I can find stuff no problem with a simple search lol

#

Okay for sure

paper galleon
odd ember
#

time and place

paper galleon
#

But you need to understand flow patterns and proper code architecture before tackling the headache of cpp.
Not that it's much of a headache tho

odd ember
#

BP is an excellent opportunity to practice architectural patterns

spark steppe
#

kinda but also not

odd ember
#

there's plenty of space to try out MVC

#

compositing

#

singletons, observers (to a lesser degree)

spark steppe
#

many programmers do a bunch of mistakes in BP which comes from assuming that it works like code

#

imho c++ and bp complement each other, both have their strengths and weakness

paper galleon
#

Yeah, I had someone apply to join my team and said he knew cpp. Turned out he meant he was good at converting BP to cpp not that he actually knew cpp.

Using entire functions to cast int to float when a static cast would have sufficed.

#

The correlation isn't 1:1 in a lot of cases

odd ember
#

I think getting caught on stuff like this is why I wouldn't recommend cpp outright. it takes time to understand and get to know. if you've never done OOP before it's going to be a difficult journey

spark steppe
paper galleon
spark steppe
#

yea

#

i don't know about all the architectures, so i'm really curious if there might be pitfalls

paper galleon
#

It is, I imagine. Unless you want to do C-style casts which can be ambiguous in many cases.

delicate scroll
#

I've got to run. But thank you all for the information. See you around! ๐Ÿ‘‹

spark steppe
#

ok, apparently it is

#
float UKismetMathLibrary::Conv_IntToFloat(int32 InInt)
{
    return (float)InInt;
}
astral estuary
#

Silly question: Can PlayerState have components? ๐Ÿค”

#

and more importantly, Is there a reason to not do it?

spark steppe
#

most likely not

#

components are for actors

paper galleon
paper galleon
#

Ability system component is recommended to be on the PS for player

spark steppe
#

ok, then nvm me

astral estuary
#

say I have a car game. My playerstate knows stuff about the player.
Now I need a lap system for tracks with laps and a "go from point A to B" system for tracks with beginning and end.
Instead of having two playerstates that only differ in that, I could have two components... right?

paper galleon
#

If you don't want that, two components is better.

astral estuary
#

I prefer extra clases to having tons of variables and big blueprint with meatballs ๐Ÿ˜…

#

thanks โค๏ธ

odd ember
#

aren't you limited to one playerstate per player either way?

mystic mist
#

@odd ember how doesn't it make sense?

#

My point I'm making is there seems to be this set of Blueprints that everyone knows how to make. I'd like to know how to make them so I can have my own library of Blueprints to draw from without having to constantly go to a forum or a youtube video for help.

odd ember
#

they'll be different per project

odd ember
#

in most cases there's also the notion that you may find your previous code hasn't been up to par, and so it's better to start fresh

#

then add to the fact that each game has a different context

#

a camera in a third person game isn't the same as a camera in a first person game

earnest tangle
#

there's probably generic "patterns" you'll follow in projects, depending on what type of game you're making... but they are usually just general guidelines/ideas and the implementation is not always the same, and the basic implementation is usually fairly straightforward anyway :)

mystic mist
#

It's really obnoxious when you watch 10 videos that show you how to use a node without telling you that you first have to turn off a parameter in the details panel. Things like that, things that people know so well that they don't think is something someone needs to know.

I'm not interested in abstract templates, I'm interested in building common Blueprints that I can adapt later on to be more specific (ie triggering an explosion).

There's nothing about Blueprints that function like code, it's fake programming for lazy people. I have to learn blueprinting for school, and so far it's been a headache. Programming is far easier line by line rather than this spaghetti mess of a system.

odd ember
#

I'm not interested in abstract templates, I'm interested in building common Blueprints that I can adapt later on to be more specific (ie triggering an explosion).

Blueprints don't allow for generics, so this won't work

#

and yes, what you are after is some degree of abstract templating

#

you want something you can mold per project, but has an abstract base

mystic mist
#

Yes

#

Ok I see what you mean now

#

But yeah. I definitely think C++ is the way to go.

sterile garnet
odd ember
earnest tangle
#

There's nothing about Blueprints that function like code, it's fake programming for lazy people.
This is completely untrue. Blueprints is a programming language

odd ember
#

but out of the box, there isn't really much value in migrating specific actors

odd ember
late island
sterile garnet
wind sequoia
#

To use unreal

odd ember
wind sequoia
#

For programmers

maiden wadi
#

I got a good kick out of C++ channel a month or two ago. Can't remember. One of the people there that refuses to use Blueprint subclasses even to set default variables and sticks to using construction helpers came asking if there was a way to easily change reference assets everywhere.

odd ember
#

the AI director is a subsytem which generally handles high level AI behavior. e.g. it will let AIs know which high level roles they play in levels and what standings their faction has with another faction for instance

mystic mist
#

How is it a programming language It's node based C++. It's not a language, it's shiny color coded box tops attached by noodles haha. I mean I like it, I'm not arguing it. It makes sense. I just don't like how messy it is even when organized.

odd ember
#

it is absolutely a programming language

earnest tangle
#

Just because it uses a visual paradigm doesn't make it not programming :)

odd ember
#

the fact that it wraps cpp makes no difference

maiden wadi
#

By that logic, you may as well say that any higher level scripting or programming language isn't a programming language.

odd ember
#

let's count how many languages are built with a compiler written in C

#

it's a nonsense argument

earnest tangle
#

there's also languages like LabVIEW which is a visual language being used in some niche applications

maiden wadi
#

Like. Why bother calling languages programming languages at all? Why aren't we all writing in binary?

odd ember
#

no that's too advanced

spark steppe
#

01110011 01101111 01110101 01101110 01100100 01110011 00100000 01101100 01101001 01101011 01100101 00100000 01100001 00100000 01110000 01101100 01100001 01101110

odd ember
#

let's physically flip transistors by hand

maiden wadi
odd ember
#

processor speed = muscle configuration

somber rampart
#

hi, I have a question - would it be possible to make a drop/pick-up system in Unreal Engine 4 with Blueprints? I was thinking maybe having an array and when an item is selected it can be dropped as in, it gets deleted from the inventory, and an item with the same ID as the one that was dropped is spawned on the floor - i'm not very good with this kind of stuff, so I'd appreciate some help (mostly tell me what to look into, solutions would be nice too though)

odd ember
#

sounds about right

#

you could use data assets and store the class type along with any variables you need

somber rampart
#

can you elaborate?

odd ember
#

well... data asset is a type of data object you can create in UE4

#

you can put in relevant data that you'd want stored about an item

somber rampart
#

i just know the base idea of - use an Array, when <drop_button> pressed, delete currently held object, spawn an instance of it outside of the player, when player looks at object and presses <pick_up_button>, object goes into next free slot

odd ember
#

combined with knowing which class you need to use, this could be used as the spawn parameters for spawning the actor from the inventory

#

the alternative is to use structs, or somehow combine this approach with structs

somber rampart
#

Right I should clarify

#

I have 3 months experience with Unreal

#

Which is next to none

odd ember
#

what's your general programming experience

dim robin
#

is there any way to blend two different meshes smoothly inside a spline?

somber rampart
#

Year of Godot with GDScript, 1.5 year of Python, 2 months of C#

odd ember
#

what's your general understanding of code architecture

somber rampart
#

Not great, I'm a student

#

I'm currently doing research for a project and I came here asking about this specifically because of it

#

I aim to add drop/pick up functionality to a game but I do not know:
a) what kind of things that would require
b) if there are any other systems that would be required by this system
c) how to do it in Unreal terms

odd ember
#

I'd say there's probably a few good inventory guides out there, but they'll likely be buried underneath the terrible ones

#

just by sheer volume

somber rampart
#

I know how to make an inventory with switching, yeah

#

But I don't know how to make it so that you can drop an item

#

From your inventory

#

Or pick up a new one

odd ember
#

well I mean you're talking about two systems communicating

#

the inventory system, and an interaction system

dim robin
#

you can maybe create a function to drop it aka destroy it or remove it from the array and spawn it in front of the character

somber rampart
#

That's what I know already

odd ember
#

in terms of unreal, or really in general terms, the inventory is just an array of structs, structs being lightweight data containers

somber rampart
#

What I don't know is how to go about it from this

odd ember
#

figure out the actions that you need to perform

#

and translate those into functions

#

Inventory::ItemPickUp(AItem Item)

#

for instance

somber rampart
#

That's C++

#

This is Blueprint

odd ember
#

it's just an example

somber rampart
#

Yeah an example I do not understand at all

#

Because I never picked up and probably never will pick up C++

odd ember
#

functions work the same way regardless of language

#

assuming the same paradigm

somber rampart
#

Yeah but I don't understand the syntax here

#

what is AItem

odd ember
#

an item class

somber rampart
#

no how is it different from Item

odd ember
#

that's just the name of the parameter

somber rampart
#

so the AItem is the class and Item is the param

odd ember
#

this is how every language does parameters as far as I know

somber rampart
#

in other words

odd ember
#

well no both are the parameter

somber rampart
#

please just

#

draw it out as a node

odd ember
#

but you have the parameter type and the parameter name

#

I don't have the engine open

somber rampart
#

okay so

#

What's the Input node thing looking like

#

What's the Output node thing looking like

odd ember
#

the input would be the parameter in this case

#

the output would be a return value. in this case you don't need to return anything

somber rampart
#

You're talking to someone who sees functions as

func item_pick_up(Item)
#

not

Inventory::ItemPickUp(AItem Item)
odd ember
#

noted

#

so if you've done a little C#

#

this is very similar to that

somber rampart
#

A little C# and mostly Python/GDScript

stuck plaza
#

I have a spawner blueprint that spawns a single actor in the spawner location, after player character overlaps with specified trigger box.
Currently When i place the actor spawner blueprint in the world it is really hard to spot, because it has no graphical representation. How can I make it so spawner has some visual clue only in editor, like for example the actor that it spawns would be on top of it, or some static mesh indicating that this is in fact a spawner right here.

odd ember
#

Python I don't think is strongly typed. but C# is

somber rampart
#

Can you just give me the general gist of what a function like this would do

#

in the most basic pseudocode

#

no C++ esque stuff

odd ember
#

it would probably just sanitize the item (ensure it's a clean ref, detach it from anything else in the world, reassign ownership) and then drop it into an array

#

a glorified array insert essentially

dim robin
odd ember
#

a more advanced way would be that AItem has an ItemData struct that it pulls out and saves to an array of structs, then destroys the AItem

somber rampart
odd ember
#

ItemData could have relevant data that is malleable, such as item durability, properties, item class, name etc.

somber rampart
#

again: student

#

give me this in Layman terms basically

#

no references to internal structure of UE4

#

just the most basic, universal idea

odd ember
somber rampart
#

i'm done

odd ember
#

this isn't internal to UE4

#

a struct is just a data container

#

the alternative, simpler version is that you store the AItem actor, get its class, and spawn it

feral ice
#

I want to fill a square with line traces and the distance between each line is 20 units. But the problem is that when i increase the amount it turns into a rectangle.
Pic 1: Amount 500 each side, 20 units between
Pic 2: Amount 1000 each side, 20 units between
Pic 3: Code

maiden wadi
#

Cause you're multiplying Amount by distance. So if distance is 5.0. Then 20 of these will be 100 in length total. While 40 will be 200 in length total.

#

What you need is a total length for your square. Then for each trace you get the distance between each via (TotalDistance / TotalNumberOfTraces)

#

Doing that will keep your square intact and not lengthen it, but add extra traces.

feral ice
#

Well i got it to work. By changing the maximum amount of loops from 1000000 to 5000000

feral ice
maiden wadi
#

Ah. Noted. Yeah. Side note to that is that you can actually get a lot more loops in blueprint via putting the loop itself in a function and then looping that function from another loop.

#

Directly nested loops are weird like that. ๐Ÿคทโ€โ™‚๏ธ

feral ice
#

like recursive function? Wait haha maybe not it seems i was thinking of something else

daring night
#

hey guys! how to get transform of character during animation ?

feral ice
#

Thanks for trying tho! I like your style better then mine cuz its more optimized in my case

gentle urchin
#

Im curious to what the traces are for ๐Ÿ˜…๐Ÿค”

feral ice
#

haha well you will probobly laugh at me if i tell you

gentle urchin
#

AI? ๐Ÿ˜…

feral ice
#

Its becuase i want random generated islands and i want to spawn grass on each island but i couldnt find a good way of doing so, so i ended up spawning a lot of traces and where it hits it spawns grass. Its prob not that optmized haha

gentle urchin
#

Oh ๐Ÿ˜‚

feral ice
#

but it works atm : D

gentle urchin
#

You can do that from a material aswell

#

Define textures where foliage shall randonly spawn

feral ice
#

but does that only work on landscape or soes it work on random 3d models

#

?

maiden wadi
#

You can also use world direction of the mesh in the material to spawn it.

gentle urchin
#

Think it works on any mesh as long as the material is right

feral ice
#

i did this in landscape but i cant use landscape in my example

gentle urchin
#

Check out auto landscape material

feral ice
#

The idea is to spawn random islans and have foliage on them but i cant use landscape to do that

gentle urchin
#

Think there's some free ones avaliable aswell these days

#

Its not limited to landscapes afaik

feral ice
#

Wait im a bit lost

#

I dont fully understand. Your way could work on 3d models?

gentle urchin
#

Afaik, yes

feral ice
#

So i can cover a cube with grass

gentle urchin
#

Yupp

feral ice
#

What is this called?

gentle urchin
#

Defining properties or rules for spawning etc

feral ice
#

Can you link a video of some sort or somthing that could work im really new to this thing you introduced

gentle urchin
#

Dont have one at my hands but ill see if i can find one later

maiden wadi
solemn zephyr
#

is there a written or video tutorial that can help me add crouching and ledge grabbing to a 2.5d sidescroller

feral ice
austere aspen
#

probably a simple question but how would I get a sprite in my character blueprint to rotate towards the direction it's moving in?

odd ember
atomic salmon
#

@austere aspenyou need a direction vector, usually from your movement component or self calculated. From that you derive a rotator (RotFromXAxis) and apply as rotation to your sprite or whatever.

austere aspen
#

ok, could you explain that in layman's terms please? I'm not a programmer guy ๐Ÿ˜…

#

I just have the Add Movement Input with the Input Axes from move forward and move right with 1 in their respective axes in the add movement input node

odd ember
austere aspen
#

yes, but making that a variable would need it to be set somewhere else, and using that for the rotation would just be 1 instead of 90 or whatever

odd ember
#

tbh it looks like it's already setup to do what you want

austere aspen
#

it moves, but doesn't rotate

odd ember
#

how do you imagine a 2d sprite would rotate?

austere aspen
#

either adding or setting its relative rotation off the input axis events

odd ember
#

I think what you're looking for is an animation

#

a 2d sprite is just a flat plane aimed at the camera

#

rotating it doesn't make sense

austere aspen
#

I can set the rotation of it fine, it's just making it animate to those 8 directions instead of snapping that's the problem

austere aspen
#

up, left, down, right, etc, top down movement

odd ember
#

oh I thought it was a sidescroller

austere aspen
#

ah

odd ember
#

get the forward vector of your sprite component

#

and use that instead of 1,0,0

#

same with right vector and 0,1,0

#

see if that makes a difference

austere aspen
#

I can move up and down but no longer left and right, and with no rotations still

odd ember
#

do you have an event called turnrate or some such? maybe turn?

austere aspen
#

I don't

odd ember
#

I think what you want is to have a forward input and a turn input perhaps

#

instead of forward input and strafe, as you do right now

austere aspen
#

how would the turn input differ from the MoveRight event?

gentle urchin
#

Id say combine inputs to make a direction for your flipbook

#

Thats what you're after isnt it, in top down fashion

odd ember
#

it's just a float value

gentle urchin
odd ember
#

well assuming it is flipbook based

austere aspen
#

just 1 flipbook

odd ember
#

I'd look at the third person template and steal that logic for turning your character

gentle urchin
#

Strict top down is just turning the mesh tho?

austere aspen
#

yeah I'm just trying to rotate the sprite component

#

I have no idea how though because a mesh has settings for rotation doesn't it?

gentle urchin
#

i'd just turn the entire actor tbh

#

facing velocity direction

austere aspen
#

how do I do that

gentle urchin
#

or input direction

#

isnt there some control rotation setting in there....

#

2 sec

austere aspen
#

yeah

odd ember
#

the camera, I presume, does not rotate

#

because it is top down

austere aspen
#

it does not, no

gentle urchin
#

I dont recall doing much else in my other project.. checking it out now

#

maybe i did. memory fails me often ๐Ÿ˜›

austere aspen
#

I started this from the top down template and that didn't seem to have any specific rotation nodes

gentle urchin
#

its the same basic on any type really

#

thirdpeson prob is best startout

#

as CE suggested

odd ember
#

third person has some nodes for turning

#

they use control rotation, true, but you can adapt that to just be a turn rate instead

austere aspen
#

I added wasd movement to the top down controller before the sprite thing and it rotated fine

gentle urchin
#

Its just Add movement input really

austere aspen
#

I tried control rotation for the sprite and it didn't work

gentle urchin
#

in the cmc

odd ember
#

that's the one

#

that should actually work

gentle urchin
#

assuming input is "add movement input"

#

otherwise you lack velocity or whatever this thing is rotating on

austere aspen
#

using 1, 0, 0 in the vector things rotates it by a small amount, ill use control rotation and see

#

with control rotation is still only rotates a small amount

gentle urchin
#

MoveForward would have vector 1,0,0
MoveRight would have vector 0,1,0

austere aspen
#

yeah I had that

odd ember
gentle urchin
odd ember
#

I believe 22.5 or 45 is the third person default turn rate

gentle urchin
#

this is the tps template setup

odd ember
#

there should be some mouse based setup

austere aspen
gentle urchin
#

Mouse inputs affects control rotation

odd ember
#

that's fine

gentle urchin
#

Not needed if there's no mouse involved tho

odd ember
#

can always be changed to add actor rotation offset

austere aspen
#

ok adding turnrate doesn't change anything

gentle urchin
#

did you check the orient rotation to movement?

austere aspen
#

yup

#

that's what made it rotate by a small amount instead of not rotating at all

gentle urchin
#

doesnt make much sense ๐Ÿ˜›

#

adding a sprite to it changes nothing

#

as in, it still works as expected

austere aspen
#

turnrate being 45

odd ember
#

why are you using turnrate on forward input

#

just when turning right or left

austere aspen
#

still has the same result

odd ember
#

my bad

#

instead of the control rotation z value

#

instead of multiply onto

trim matrix
#

Hello all. I've made multiple switches that play my switch sound correctly except for this array switch. I don't understand why the sound won't trigger. Any ideas?

odd ember
odd ember
austere aspen
odd ember
#

try it

austere aspen
#

still the same result

gentle urchin
#

Did you mess alot with the cmc?

austere aspen
gentle urchin
#

Could try a new base character and just see if you get the desired effect

austere aspen
#

not much no

odd ember
#

although I don't think it'll work

austere aspen
#

what do you mean instead?

odd ember
#

you understand the word "instead" yes?

austere aspen
#

yeah, but did you mean do this?

odd ember
#

try that

#

and see if you can get any change

austere aspen
#

left and right now move diagonally down, still no change in rotation

trim matrix
odd ember
austere aspen
#

this is what I have in another top down controller with a character mesh and this works fine

austere aspen
#

still the same result of only rotating slightly ๐Ÿ˜”

gentle urchin
#

The sprite?