#blueprint

1 messages · Page 227 of 1

copper chasm
#

oh, so the array is 3 separate strings

gentle urchin
#

Yeah

#

Each 'depth' of the gameplaytag

#

My.tag.is.deep
Becomes an array of 4 strings

#

So with a fixed way of serring up the tags, it simply just works, in regards to UI

#

Adding new ancestries just works

#

As long as you stick to your formatting

#

Create a bpfl function to do the ancestry formatting, and output them as very readable parameters

copper chasm
#

I didn't hit play to see if that would work because I'll cry if it doesn't

gentle urchin
#

It does

frosty heron
#

works

gentle urchin
#

Now bpfl it

#

GetAncestryFromTag

copper chasm
# frosty heron

sorry man, thank you for the suggestion, idk if it was a communication error or me just being stubborn and dumb

frosty heron
#

out of touch with string manipulation

gentle urchin
#

I used it yesterday luckily

frosty heron
#

Squize saved the day, but yea don't see the use of enum at all in your context

copper chasm
#

you gave the right idea though, I sorted out the parse thing on my own but I didn't know what to do with the array

gentle urchin
#

More fan of text formatting but cant always just use that

copper chasm
#

and then at the end of the day I can just convert string to text (in theory for localization, which is so far removed from where I'm at, but)

frosty heron
#

will end up with much neater and readable codes

copper chasm
#

Yeah, I'll make a bfl for TagToText or something

tight moon
#

Quickly asking here : how do I attach a spawner to 2 different variables ?

gentle urchin
copper chasm
#

My gameplay tag structure, I'll only really ever need the last part of a given tag

#

I'm trying real hard to do "Category.Thing.Subthing.Sub-Sub-Thing" etc

#

But i might as well get all the values, for future proofing

gentle urchin
#

This is to generic imo

#

As you lose touch with what exavtøy you're getting, except which 'section

#

Say you change your section in 3 weeks

#

You decide prefixing them with Mamal. Made semsd

copper chasm
#

I'm not 100% sure how to be more specific - I considered that, but what if I have longer tags or whatever

gentle urchin
#

And now you gotta run around in every bp that uses this. And update the section it uses

copper chasm
#

I do need to check against the size of the array to avoid accidentally getting a non existant index

gentle urchin
#

Instead of just going into your bpfl to fix the section id

#

Yes, ofcourse,

#

"IsValidIndex"

#

Add a bool for success

#

The entire point, imo, is to reduce the places you gotta fix it to as few as possible

#

Hopefully just 1

copper chasm
#

given that I don't know how my tags will be structured, how could I make it more specific?

gentle urchin
#

Just pick one now, and update it ( the bpfl function) whenever it changes

copper chasm
#

Just have the return node return every section?

gentle urchin
#

Or one specific

#

GetXFromTag

#

X being the specific thing ..

#

GetRaceFromTag

copper chasm
#

Ohhhh, I see

#

make multiple functions in the library for each yeah yeah yeah

gentle urchin
#

Ding ding ding

copper chasm
#

(I could make an enum called tagsections and have one function with a dropdown)

#

that was a joke

#

Instead of being specific to the type of tag (GetRaceFromTag) Couldn't I just make a bunch of functions called GetFirstSectionFromTag, GetSecondSectionFromTag

#

nevermind I'm sure I could, off to work

lofty rapids
#

GetFromTag("section")

tight moon
#

Any idea how to make the same vfx spawn from 2 different controllers ?

visual ember
#

"what was the 4th section again?..."

copper chasm
visual ember
#

if you have a literal on the spot, yes. if you pass it in, you don't see it

copper chasm
#

Is there a way around this specificity for the fact that each category may have a different tag structure tho? Like, for the races, it's race.nameofrace.nameofsubrace, but weapons may have weapon.ranged.typeofweapon.nameofweapon

gentle urchin
#

Weapons would have its own

copper chasm
#

I'd have a bfl for each category at that rate (I'm assuming I'm just dumb and wrong)

#

oh I guess I'm not dumb and wrong

gentle urchin
#

You can internally use whatever function you want

#

Like the first you suggested with just a section index

#

You can use that internally

copper chasm
#

but for ease of use, it would be best to be as specific as possible

gentle urchin
#

And just hardcode what each wrapper use

copper chasm
#

how come doing it correctly is so much more work 🥲

gentle urchin
#

2 sec, booting

copper chasm
#

is the return node on false just best practice

#

or did you do it for a specific reason

gentle urchin
#

if you dont return with explicit values,

#

they can be retained from last call

#

which is terrible to debug 😄

copper chasm
#

I just did this, and I'll do one for each tag "category"

gentle urchin
copper chasm
#

I can reuse TagTitle

gentle urchin
#

as an example

copper chasm
#

I'll do the work now so in 3 months when I'm trying to update something, I'm not wondering wtf section was what

gentle urchin
#

Its very small work for the QoL it brings

#

Now

#

Id mark the internal as private access

#

To ensure its not used elsewhere

copper chasm
#

Just mark each function in the library private?

gentle urchin
#

Only the one that shouldnt be used elsewhere

#

In my case it would be the GetTagSectionAsString one

copper chasm
#

Ohhhh, I didn't use the generic function

gentle urchin
#

You dont have to

copper chasm
#

I probably ought to convert string to text in those functions too, seeing as how they're functionally just for UI display

gentle urchin
#

Makes sense

#

You can also ensure big first letter if you want

copper chasm
#

more formatting magic

#

yay

frosty heron
#

\Attributes: {Attributes}, Entity: {Entity}

spark steppe
#

why are the braces escaped?

#

oh wtf are you even trying to do xD

#

well, that's not even format to begin with, but make literal text

#

what is the goal with parameters within parameters?

#

wouldn't you rather want to escape the inner parameters, if any

#

i wouldn't use format text to make json....

#

use a json library?!

thin panther
#

Idk like to know this normal formatting too, because it's not in std::format, c#'s String.Format, token replacement, etc.

spark steppe
#

and this format text hackery isn't?

#

this is a bit cumbersome to use, but it works at least

#

idk, if there's a better, more intuitive one

#

jfc?

thin panther
#

Jesus fried chicken fucking christ

spark steppe
#

ofc it is

#

until your user enters {FuParser}

#

and your construct of entangled format text nodes claps it's cheeks

#

make a struct

#

use struct to json helper

#

profit

#

that's like 3 lines of C++

woven spire
#

how do i move the points in a spline? i cant figure out how to get their transforms or whatever im supposed to do. i just want to snap the end of it to a positon

lyric basin
#

So I am not sure if this is corruption or what, but I have a BP actor that contains a bunch of stuff, works fine. But the name is wrong. I named it Land initially and then later renamed the BP to terrain. The BP in the picture still loads and works, but if I remove it or open a new level and drag in a new instance, the name of the BP is Terrain and when I launch the game everything locks up. Any idea what this is?

#

I have already deleted Intermediate and Saved, didn't resolve anything

#

Again, as long as I do not replace this particlar instance of the BP, all is well, but I have to use this in other places so its breaking things when I try to launch

#

Currently running a validation

tight moon
#

I have a little issue here : the line traced by the node is way too small, but attempts to make it longer (by adding a multiply to the forward vector) only render the debug stationnary. How do I give it a specific size while sticking to the direction of the mition controller (the variable linked here) ?

lyric basin
frosty heron
lyric basin
#

The multiply extends the length of the forward vector to whatever value you input

#

Currently, it's just spawning and stopping right at the beginning

tight moon
frosty heron
#

multiply by a float

#

you are only multyplying one of the axis

#

so what do you expect to happend

lyric basin
#

yeah, I should have specified that

#

use a double-precision float

#

you can right click the input node to change it

tight moon
#

It's working now, thanks !

lyric basin
#

but thats just me being extra

tight moon
#

Sounds fancy indeed, but I shouldn't need that ^^

lyric basin
#

yeah, no, definitely not lol. 99.99% of the time, you set up a line trace and put the values in and never adjust them

#

I found it useful when testing out different ranges on my firearms

spark steppe
#

xD

#

well, you came here with issues in that

#

it's probably not made to handle nested argument strings

#

and other than the json methods, it wasn't intended to generate json...

maiden wadi
#

What's wrong with the struct to json helpers?

round geyser
#

Hi all

#

Wondering if anyone could help me out? I'm trying to make it so when dialogue has ended (from a behaviour tree) something happens such as a work vanishes etc

#

I've already got the dialogue system working, I just can't seem to make things happen in the world based on the dialogue.

maiden wadi
#

I recommend checking out Flowgraph. It makes things like this a lot easier.

round geyser
#

I've heard about that, is that just for a dialogue system? If so, i've already got my dialogue system working

maiden wadi
#

I can do dialog. But Flowgraph is just simply put, a system to control gameplay flow.

round geyser
round geyser
#

I'm assuming so

maiden wadi
round geyser
#

Thank you my guy, I'll check it out now

somber tide
#

Hey guys, hoping someone smarter than me might be able to help with this vector math:
I have a vector variable which is acting as my custom gravity direction, I want to have my camera tilt to keep this direction as the percieved "down". The idea is to recreate the effect of Super Monkey Ball without actually rotating the whole stage. However, I'm struggling to figure out exactly how to translate this vector into the correct rotation for the camera. Any advice?

round geyser
frosty heron
#

Is BT based dialogue actually done by any studio? It seems like a giant mess to me

round geyser
frosty heron
round geyser
#

It's actually really simple and works well, so I thought until I'm trying to make the dialogue choices affect the world

round geyser
#

I'm still trying to wrap my head around a few things like, if you press choice A, the Ai runs off and does something and if you press choice B, the Ai does something else

frosty heron
# round geyser How would one begin to learn it then ?

You can learn from them, there are tutorials that serve better purpose, such as matthew videos because he goes over what node does.

Anything else like, how to make a game in 1 week or inventory and dialogue ones. You need to be prepare to unlearn them.

faint pasture
frosty heron
#

A better way to learn is to look at code done by actual devs.

Mostly the content examples

round geyser
faint pasture
round geyser
#

Oh yeah I have it working, one sec i'll show you

#

(ignore the dialogue options, they're place holders I was messing around with)

#

Thats 1 npc's dialogue

#

Fully works

#

it asks you something and you can reply

faint pasture
#

So you're making an entire behavior tree per dialogue?

#

In that case this BT IS the dialogue data, just put the ThingToDo inside it

frosty heron
#

Imagine another 20 more dialogues tho

round geyser
#

Yes technically, is there a better way of doing this ?

frosty heron
#

Feels like spaghetti he'll for me

faint pasture
#

Do you imagine there being 100 lines of dialogue in this project or 10,000?

round geyser
#

I have no clue how to use data tables, this just seemed like the easiest way to do it for me

#

Yeah it's simple for me

#

Using BTs is a visual way of seeing your dialogue

#

you can click on the nodes and add code into them

faint pasture
round geyser
faint pasture
#

it's not scalable but it'll work

round geyser
#

Let me recreate what I did and i'll send a screen shot

#

Basically, I was trying to make a wall be destroyed at the end of a dialogue option

#

1 sec

#

I'm assuming i'd put the nodes there?

#

My friend showed me what to do, i'll recreate it now

#

(it didn't work tho)

frosty heron
#

Does any node even get executed after the finish node

#

I highly doubt it

round geyser
#

Not sure

#

He told me to do this

#

Clearly, he was wrong

frosty heron
#

Do it before the finish execute?

faint pasture
#

Sequence
Say"Fuck yo wall" Wait DestroyWall

round geyser
round geyser
faint pasture
#

make a task

#

the task is to destroy a wall

#

or to call x on x

round geyser
faint pasture
#

If you're sticking with "I'm gonna make a bespoke BT per NPC and put all their behaviour in it" then keep that energy going

round geyser
#

So what would I use to make something happen ?

frosty heron
#

Make a new task

#

Your custom task

round geyser
#

Ahhh I get you

faint pasture
#

then make your own task which might be destroy thing

#

but I'd go more general, assuming you can parametrize tasks, just have it call YourInterface on ActorInQuestion

round geyser
#

I half get what you're saying thank you

#

How do I actually make a new task ?

faint pasture
#

instead of making a DestroyWall task, make a DoThing task and then you can reuse it for OpenDoor or HaltAndCatchFire or whatever

faint pasture
#

task is an asset

round geyser
#

Because in the BT I can't make a new task, unless i'm doing it wrong

gentle urchin
#

Theres a plugin i use for this stuff... that feels so much better ( to me, hate BT dialogue trees for some inherent reason 🤣)

faint pasture
#

Task is a think you make outside

round geyser
gentle urchin
#

Dialogue nodes

faint pasture
#

I mean you gotta figure out how to make tasks and how BT work anyway

#

once you get it you'll understand why you'd want to make this more data driven

round geyser
#

Yeah with what everyone is saying I think I'll just switch over to a plugin

maiden wadi
gentle urchin
#

Sort of ? The creator have gone to other avenues and havent clearfied the licence in use..

#

Forum post suggest one thing, code comment something else

round geyser
#

So if you use it in your game they could sue ?

gentle urchin
#
#

Im not a lawyer but i would think so?

#

I wanted to reach out to him in private but he got a very private public account

round geyser
#

Got you, i'm probs gunna go with flow graph

gentle urchin
#

Makes sense

#

Its also quite aged at this point. Im not sure how different a codebase must be for no longer being under the originsl licence...

round geyser
#

yeah I noticed it's 2018

#

The game i'm making is really simple, it's just the dialogue affecting the gameplay is whats making this hard

#

I'm trying to with an undertale type dialogue if you've played that before, where based on what you do you get a different ending

maiden wadi
#

@round geyser We have some dialog stuff planned as well, and it will largely be the same. But I already laid out our new game's tutorial system using Flowgraph. Which is very similar to a dialog system in that it throws a widget on screen, waits for the user to input, then goes on to the next task.

#

This might be an okay example. It starts the flowgraph. Waits 1 second. Then runs the ShowTutorialPopup until the user dismisses the widget that shows up. That node has data you can specify on it.

#

Basically binds to the widget being dismissed, requests the widget to display and when suer dismisses, that output pin is triggered, which then stars the 0.1 second timer.

#

You can branch with it as well and wait for multiple tasks to complete. This shows a tutorial, waits til it's dismissed. Then listens for the player to move their camera in all four directions. The AND only finishes once they've done that.

round geyser
gentle urchin
#

This seems pretty usefulb

maiden wadi
gentle urchin
#

Far beyond what it explains by itself lol

round geyser
#

Also is that your game ?

maiden wadi
#

Correct. What I just showed above is Flowgraph

#

We're also planning to create a mission/quest system out of it, and possible campaign dialog stuff.

#

It is an amazing tool as far as creating game flow.

round geyser
maiden wadi
round geyser
#

Wow nice! Thats impressive, looking at the game you clearly have experience. I respect that

#

I used to love playing games like that

faint pasture
#

Does having a colon in your game title hurt SEO?

maiden wadi
#

🤷‍♂️

round geyser
#

I wouldn't

round geyser
faint pasture
#

You have a C++ project now

round geyser
maiden wadi
#

I don't know if you can do a pure BP project with it. I know some plugins allow that. A C++ project isn't hard though. It's mostly just installing VS and starting your editor from pressing F5 in VS.

#

I'd encourage asking in their Discord if there are ways to do BP only projects with it.

round geyser
#

Okay thank you

#

Thanks for answering all my questions people, I appreciate it and i'm sure i'll be back 🤣

somber tide
round geyser
faint pasture
#

Gravity defines your down

#

what defines your forward or right?

#

try lose the get right vector

#

that should preserve forward and allow right to "float" to be whatever it has to be to have forward be forward and gravity be down

#

if it doesn't work, use MakeRotationFromXZ

#

feed Camera.Forward to X and Gravity to Z

viscid python
#

Hello! I want to make several different enemy models freeze in place and turn blue (like being shock frosted) after using an ice weapon. Is there an easy way to turn an enemy blue or add something to its mesh/texture (maybe a decal?) or do I have to build a separate material?

spark steppe
#

outline material

#

or custom depth stencil

faint pasture
#

if you wanted something that has to be in the surface domain and not just a stencil or post process

viscid python
#

Hmm, the thing is, I have several different enemy models with different materials and textures (some use several materials). So I do not have one master material or anything. I thought about maybe some way to add a large decal or is there a way to replace all materials of an enemy with a single material or the same material (maybe some transparent, refracting ice material) that I can apply to any enemy model?

spark steppe
#

if you want anything translucent/volumetric, you HAVE to implement it in the main material

#

there's no way to do that in postprocess or overlay

faint pasture
#

Just found out about Overlay, neat

#

What is that just a 2nd draw call you pay when that's set?

maiden wadi
# round geyser So i've asked in the flowgraph discord and apparently people are using the plugi...

This may be my mistake. Try this.

  • Delete the plugin from your project's Plugins folder
  • Then go to https://github.com/MothCocoon/FlowGraph/releases and download the top one, "Flow v1.6 - UE 5.4". You're looking to download the Flow_v1.6_5.4.zip
  • Unzip the Flow_v1.6_5.4 folder into your project's Plugins.
GitHub

Design-agnostic node system for scripting game’s flow in Unreal Engine - MothCocoon/FlowGraph

round geyser
faint pasture
#

In the long run you'll be better off just having a couple masters and many instances than many masters

#

Then you can put FrozenNess as a parameter in your master and anything will respond to setting that value

maiden wadi
faint pasture
#

Or you can use overlays, might be simpler

viscid python
#

@faint pasture Thank you. I am still on Unreal 4.27.2, but still.

round geyser
maiden wadi
#

No, to your Project

somber tide
faint pasture
#

HOW do you want it to work?

maiden wadi
#

@round geyser EG My project is on a D Drive, in a folder named Projects. And the project folder is PluginTestProject. So D:\Projects\PluginTestingProject\Plugins

faint pasture
round geyser
maiden wadi
#

Should be able to right click content browser and see if it worked immediately.

round geyser
#

And there is no flow section when right clicking

maiden wadi
#

Can you show your windows explorer folder? Where you put it in the project?

round geyser
#

yes 1 second bro

#

C:\Users\kaneb\OneDrive\Documents\Unreal Projects\Dreams\Content\Plugins

maiden wadi
#

Need to go back one folder.

#

Plugins will go in the root of your project.

round geyser
#

Put it in the plugins folder you've highlighted ?

maiden wadi
#

Yeah. If the folder isn't there, just create it.

round geyser
#

Ohhh I see

#

Okay i'll make one now

#

ty

maiden wadi
#

Should be Dreams/Plugins instead of Dreams/Content/Plugins. 😄 Yeah

round geyser
#

My heads working a little slow today i'm too stressed 🤣

#

OMG it's working!!!

#

@maiden wadi Thank you so much!

maiden wadi
#

Now you can be even more stressed learning it. 😄

round geyser
#

Don't know what this guy from the flowgraph discord was trying to do lol

round geyser
#

🤣

maiden wadi
#

When you compile, it builds binary folders. But the plugin 'should' already have them and does if downloaded correctly. I guess the main page one doesn't. 🤷‍♂️

#

C++ stuff

pulsar geode
#

If I wanted to get an actors location with a delay, how would I do that?
I want to get the location of an actor where they were 1 second ago, but I need the information instantly.
I cant simply ask for the location then wait a second so it is offset, I need the request to receive the old location immediately.

maiden wadi
round geyser
#

Seriously though, thank you for your help, like I said, I will be back with more questions im sure of it 🤣

pulsar geode
# maiden wadi Save the location 1 second ago.

How would I go about that? I tried saving it as a variable but it doesnt save cleanly. If the one second delay just started, it waits the whole second. Whereas if it is near the end, the position is very close to the actor rather than the right distance.

somber tide
maiden wadi
pulsar geode
round geyser
#

@maiden wadi Sorry back again, are there any tutorials on the plugin ?

maiden wadi
round geyser
#

I've watched that video, i'll rewatch it again

maiden wadi
#

Essentially, it is createing a component on an actor which houses your FlowAsset and playing it. Very similar in regards to an AI running a BehaviorTree.

You make a FlowAsset, you put a Flow component on an actor and run the FlowAsset.

You can make custom nodes to do things and trigger outputs that you can place in your FlowAssets.

pulsar geode
maiden wadi
# pulsar geode It is for enemies targeting player position. I need them to essentially follow t...

That was to TooMuch. For your issue it's hard to say. The array of locations thing still applies though. Simply start a timer for 0.1 seconds. Make it populate an array with the current location. If Array.Length > 10, remove index 0. When you want to get the location from 1 second ago, just grab the last index. There are some more elegant ways to code it, but this is a quick and dirty way to test it.

#

@pulsar geode Honestly though, this is a really rare case for targeting. Interpolation is much cheaper and might be easier.

#

As in simply interpolate current target position directly to the target. But since it's interpolated, it'll take time to reach it.

round geyser
vestal copper
#

hi, is there a way to know in BP that if the EQS succeded or not?

I have a system which uses two movement system one with EQS and one withone eqs (nav mesh volume) and I want to only use EQS when close to the player and fail (which it automatically does) when not close to it. is there anyway to check if it failed or not? and then do some stuff from there?

manic vessel
#

Not sure why Im struggling to get a correct read from this dot product. Trying to compare the up vector of a scene component to the forward vector of the spline and just getting -1 on print or zero

maiden wadi
#

Are you looking for the spline component's rotation, or the rotation of a spot on the spline?

manic vessel
#

Nvm I dont think the SC is giving transform , just tried it with a Motion controller and itr reading , but think I might try a different method

iron idol
#

does sequence wait until the first line is complete to fire the next? or are they fired pretty much at the same time?

abstract schooner
#

Not sure if I should ask this here, but is it possible to play like an intro videoo after I press Start New Game and have the Loaded game paused in the back ground?
I have a rendered MP4 I want to play in this moment. But I'm not too sure how..
Most of what I see oonline is the starting videos from unreal itself which starts way at the opening of .exe that not what I'm lookking for.

abstract schooner
iron idol
#

bummer. thats what I figured. I hate that functions dont allow delays

gentle urchin
#

just use an event 😄

iron idol
#

like a custom event?

#

I mean I have one that fires in the event graph, but the problem is I need the rest of the code from the function to fire after the event

#

how does the pin at the end of poison damage in this example work? I take it its like a sequence, it fires the code simultaneously and continues on? It's within a function

wanton goblet
#

So I'm still learning how to get foreachloops to function the way I want, I've got this system, which spawns a spike cluster that is supposed to grow and rotate slightly, with a timeline driving a lerp, however it only ever runs on the first item in the array, when I want it to run on all of them simultaneously.

empty marten
#

Cos going off that, what you're telling it to do is go through the ForEachLoop and then only once, use the timeline.,

wanton goblet
#

@empty marten just tested that, it's still only operating on the first index of the array

#

Not sure what I'm missing

empty marten
#

I think you're not randomizing the rotation and vector so all of them are in the same exact spot.

wanton goblet
#

they're different spikes, so that would be noticable

#

it's only operating on the relative rotation

#

I can see the other spikes, they just aren't scaling

empty marten
#

So something you can do is use a print string node quick to see how many times its looping through that array to see if its only get 1 result or all of them.

wanton goblet
#

sure, one sec

empty marten
#

So after grow just put a print string

gentle urchin
#

You'd want the loop in the timeline

#

not the other w ay around

#

Timeline -> ForEachLoop ->

#

For each timeline tick you want to loop and modify all items in the array

wicked wraith
#

Man Timeline -> ForEachLoop

empty marten
#

I think these guys have a better answer than I.

wanton goblet
#

@gentle urchin that's what I had set up previously, but it didn't work either

wicked wraith
#

But for more elegant way, you can just get the array variable and attach in the "target"

wanton goblet
#

Can you clarify please?

wicked wraith
#

Add the For Each Loop here

wanton goblet
#

Would that run off the update pin?

gentle urchin
#

yepp

wanton goblet
#

ok, let me try that

#

thank you!

#

that worked!

gentle urchin
#

i know, we're brilliant like that

#

we just post working solutions

#

/joke

wicked wraith
#

Do you understand what happened for work now? 🙂

trim matrix
#

this guy is terrible lol

gentle urchin
#

we've all started somewhere

trim matrix
#

sure but this is ...

gentle urchin
#

someones starting place

#

You should've seen my first snippet

#

following some youtube pleb

#

"oh yeah this is easy!"

#

anyhow

empty marten
#

Wait, I'm confused as to how switching around the timeline and the foreach was the solution?

trim matrix
wanton goblet
#

@gentle urchin @wicked wraith thanks for the help

trim matrix
#

starting at the starting point and never moving

gentle urchin
#

especially when "play from start" was used

wicked wraith
#

Think the ForEach will "play" multiple times (following the length of the array)

gentle urchin
#

reading it out loud it sounds like it wouldnt work ..

"For each element in my array, start timeline from the start , do something based on the timelines position on it's curves"

empty marten
pseudo fulcrum
#

Any way to have a string map to a byte array than just byte?

gentle urchin
#

huh

#

guess you'd make a function for it if it doesnt exist

#

could check LE Extended

#

there we go

trim matrix
#

this is for data saving?

cosmic aurora
#

my character keeps doing very small "twitches" left and right, when following my mouse movement (yaw rotation) and I have no idea why, is there a way to debug this?

tawdry walrus
#

Is there a way to create a dynamic enum?

maiden wadi
#

Oh. You. Nevermind. Carry on.

storm obsidian
#

hi have a probably stupid question but
any way to multiply (or do any other math) with every single value in struct?
in my case struct contains only float values

gentle urchin
#

foreachloop -> *

#

wait, no

#

is it a c++ struct

#

comes down to making a function for it anyways im afraid

maiden wadi
#

Pretty much.

#

Some functions like Vector have special handling functions already made, but if it's yours, or there is no function, then it's up to you.

gentle urchin
#

In a quest system, would you think it's necessary to store anything beside the static data once it's completed ?

#

perhaps a timestamp and whatnot if it's that kind of a game, but otherwise not important right?

#

not even sure what this extra data would be tbh

#

branching quest chains are simply different quest chains

#

so..

maiden wadi
#

Depends on the game type I guess. And what you want to display.

gentle urchin
#

probably just that it's completed

#

quest log could still show each step,

#

perhaps if some tasks were optional, they'd show that

heady lantern
#

Anybody have an idea how to properly center the pivot point? There are an odd number of pixels, and I can't set the pivot point to decimals. When I rotate the wheel from blueprints, it wobbles because it's not properly centered. 'Center Center' Pivot Mode produces this same result.

maiden wadi
#

Like after it's finished, It's rare to need much more than the ID, Status(Failed/Completed), and a timestamp. Timestamp sometimes is overkill unless you want to do like non backwards compatible achievement granting and stuff.

wicked wraith
storm obsidian
wicked wraith
gentle urchin
maiden wadi
gentle urchin
#

powerof2 is a rule for a reason when it comes to textures @heady lantern

heady lantern
maiden wadi
#

It really is better just to make a p2 texture for anything. If you need it that same style, then linearly scale the image, and offset it by one pixel. Then you can display it in Unreal using mips and it'll look better.

cosmic aurora
heady lantern
# maiden wadi It really is better just to make a p2 texture for anything. If you need it that ...

I've not heard that reference before, p2 texture. Not sure what you mean by that. All of the game logic is done for the vehicle in blueprints using Sprites and Sockets, so if I were to change these to non-sprites, I'd have to change the blueprints quite a bit.

I suppose I could multiply the resolution by 4x, scale it properly, and set the center to the middle of the 4 center pixels, but I'd rather use pixel perfect source textures, mainly for the asset creation workflow.

gentle urchin
#

p2 = Pow(2)

#

power of 2 size, 2,4,8,16,32,64 etc etc

#

in your case 32 by 32 would probably work well

#

32 by 32, can hardly tell the difference

heady lantern
#

Ohhkay, I gotcha now. I see what you're saying.

#

Much appreciated everyone!

maiden wadi
# heady lantern I've not heard that reference before, p2 texture. Not sure what you mean by that...

If you have a 31x31 texture and you scale it linearly to 62x62. That's x2 size. Add a pixel on each side. You now have a 64x64 image that will display exactly like your 31x31, except that you can offset it by perfect center now. And Unreal will still display it identically because even though it's 64x64, you can scale it to 32x32 and it should look the same as what you started with. Except centered.

gentle urchin
#

the extra pixel must go somewhere 😛

heady lantern
# maiden wadi If you have a 31x31 texture and you scale it linearly to 62x62. That's x2 size. ...

Perfect, I gotcha. I kind of figured that might be the solution. I wanted to avoid modifying assets after import as much as possible, to streamline the process. But I should be able to have a separate import profile for the tire assets specifically to automatically scale them, that way I don't have to modify the assets I've already creeated, or change my workflow. I think my confusion came from other game engines having different pixel pivot modes, such as Godot you can pivot from pixel center, or from pixel corner. With the Unity system I was using before, it would ignore the pixels for the pivot system entirely and give local coords. That would be a nice feature to add if they ever updated Paper2D, lol.

gentle urchin
#

(cant you here manipulate pixel size or something to get the desired effect?)

#

found it

#

turn that off to freely set the pivot

#

under Advanced

heady lantern
#

In Unreal? Probably, but I'm least familiar with Unreal. I'm making the basics of the game in Unity, Godot, and Unreal to get a feel for which of the modern engines I like best. Obviously a pixel art game isn't the best use-case for Unreal, but I really just want to learn modern blueprints and stuff.

#

WOW

gentle urchin
#

but power of 2 texture is still better 🙂

heady lantern
# gentle urchin

Yeah, that'll work for now at least. Didn't realize that was a setting. It's basically the same setting for Godot that I was looking for initally, lol.

Thanks everyone for the assist! 😛

sinful pawn
#

Hi, i have a question you know is some countries the car when you pass your driver license have shared control over the car like the driver have the full setup and the monitor can also like break etc... how can i achieve this sort of thing in unreal having two players controlling one car (pawn, character or actor i don't know what to choose.).
If you have some idea on how to make this i would like to hear it ^^.

maiden wadi
copper chasm
#

I'm gonna put my head through my monitor messing with this ui

sinful pawn
maiden wadi
#

You could just make a Car. And then make a Seat. In Car's beginplay you spawn two seats and attach them to the Car. Then get both players, and possess the seats.

In the Car you'll make custom events for Gas, Brake, Turn.

In the Seat class, you can put your inputs there. Gas, Brake, Turn. And you'll get the Seats's attach parent, cast it to car, and call whatever correlated Gas, Brake, Turn you need off the input event.

copper chasm
#

well, because I am not happy unless I'm struggling, I decided to flesh out the character creation ui before I redid the code, so I can test it as I go

#

and, because I am as dumb as an upside down blender, I am entirely befuddled by the concept of anchors

#

I set up the canvas panel, I set it to view as desired on screen, I position the things where I want them, I hit play, and they are not where I thought they would be

sinful pawn
maiden wadi
desert juniper
#

maybe better to take a step back and learn / understand how the ui system works may help some headaches

copper chasm
#

I'm just whining, I'm sure it is (like most things I whine about) much easier than I'm making it out to be, and I'll have it sorted in a half hour or so

maiden wadi
#

TBF, anchors take some mindbending for some people. UI layouts in general do. I had it easy when I started doing UI in Unreal, because I had fun making WoW mods. All hand edited XML files that make you get good at visualizing things. Meanwhile Unreal actually visualizes it for you. 😄

desert juniper
#

rooThink1 maybe it's because i come from web dev where I'm already used to creating reactive UI

maiden wadi
#

Ugh. Web dev. Makes me happy I ditched college for that when I started. I'd need a padded room by now.

desert juniper
#

what? web dev is great! you just have to install all these dependencies, and frameworks. anod then you have to just simply install and configure transpilers. oh and then theres typescript so that you can write typesafe code! you just have to sometimes look at SO to figure out the correct types to import / use
it's great!

maiden wadi
#

🪓

copper chasm
#

tah-dah D:

#

i just have to sneak a button in there for the base widget

#

I was setting the brush image without setting the image size, so the image was warping all weird, and I was trying to fix it in the vertical box or something so it was then stretching

#

idk man, I just be clickin' buttons sometimes

#

it also just looks weird, because I expect the canvas panel to be the "viewport" and so when the widget is outside of it I get confused

copper chasm
#

I'm having a brain fart - I have the above widget, each box is the same widget, just using a different gameplay tag to populate data from a DT to fill it in. I'm trying to set up an on button hovered event in the master widget (the button is the picture) to display info about the hovered ancestry. On the "hud" widget that is showing all 8 buttons, do I need to make an array of the individual buttons to check for the onhovered event?

surreal peak
#

And of course call it in the inner one, passing self along for the param

copper chasm
#

ohhh, I wasn't passing any data along with the dispatcher

#

that would do it

copper chasm
#

It IS working tho, lol

surreal peak
#

Aren't these widgets inside of the widget that wants to bind?

copper chasm
#

so there's a widget called AncestryBox that takes the gameplay tag and builds itself off a datatable, grabs the picture and the name, and then there's a widget called CharacterCreation that has 8 instances of AncestryBox in it where I've set the tags up so it makes the above window

#

I've named all the instances of AncestryBox (DwarfBox, ElfBox, etc) - I can manually set each individual one's onhovered, but that seemed incorrect

surreal peak
#

Where do you want to listen to the hovered event?

#

In charactercreaction?

#

And are the AncestryBox widgets inside some grid ?

#

You shouldn't need to get all widgets of class

#

If you want to bind in the CharacterCreation widget then just grab the 8 AncestryBox widgets

#

If they are in a grid, grab the grid and loop over its children or so

#

Or manually pull them into the event graph and add them to an array on Construct

copper chasm
#

Yeah, there's a textbox in charactercreation that I want to display text stored in the same datatable the texture/name is in

#

They're in a vertical box with 2 horizontal boxes

#

I can make an array in preconstruct easily enough

surreal peak
#

Grid*

#

And loop over the children

#

Vert + 2 Horizontal boxes is just a grid with 2 rows

#

Replace the setup and you can use the grid as your container that you just need to loop over to bind to the delegate

#

+- casting to AncestryBox of course

surreal peak
copper chasm
#

I just had to fix my positioning on stuff, but I swapped it to grid

#

Fair enough, that works, and will save me headaches when I add more ancestries

#

thanks

maiden wadi
#

CommonTileView is best. 😄 But that requires data objects.

ancient moth
#

how gut I get a listeview entry list item widget and call a custom event on it, or just tell the listview to redraw it?

elfin gull
#

I've run into an odd one, that I wasn't expecting... Working on some helpful Blueprint Function library stuff, and doing debugging/logging at the moment. I create a function "LogMessage", and I have an ENUM that has message types. Depending on the message type, there is a prefix added to the message, and then the date/time is added, and finally the message. Great, simple and sweet little function. HOWEVER... It only prints to the screen. It won't print to the console log.

If I copy the exact node setup into a specific BP in a function in said BP, for example, "LogMessage", and use that, it works fine printing to the screen and to the console log. Anyone else run into this weird issue, is it a known thing? Or is there something causing this with purpose? It's driving me mad and I've wasted too many cycles trying to figure it out, heh...

molten pike
#

I've got some actors in world space displaying text render components above them as navigation aids for the player. Any idea how I can get the text to render "through obstacles" such that it's visible on top of everything except the player? It's already set up for rotation and scale, just need to be able to see it through the trees.

#

side-quest, what's the easiest way to make the text lit so that it shines through shadows?

elfin gull
# elfin gull I've run into an odd one, that I wasn't expecting... Working on some helpful Blu...

It turns out it was a context issue... Not sure how to resolve that elegantly, but a hacky way was to make a "LogMessage" function in my custom GameInstance, and copy the node setup in there for the logging function, and use the Blueprint Function Library version to just pass the message through to the GameInstance function.

Since GameInstance always exists and has a global context, it works... But it feels wrong.

elfin gull
molten pike
#

Is UMG a blueprint component?

elfin gull
#

It's the UI system in Unreal Engine

olive yarrow
#

why in allahs name will this static mesh not launch? It's on an Actor so i can't use launch character 😦

elfin gull
#

Text render components are good for quick and dirty testing and other stuff, UMG is for UI/HUD and what not. But you can also use UMG for elements in the scene, such as a health bar floating above an enemies head, waypoint markers, etc. UMG is a complex part of UE, but something definitely worth breaking ground on

#

Is the mesh physical and all that?

molten pike
#

Cool. Right after I got everything else about it working 😂

molten pike
#

Yes, the mesh is physical inside the BP, but the mesh is optional to allow for Navigation labelling areas as well as things

olive yarrow
#

i coulda sworn this was working last night... the joys

molten pike
olive yarrow
#

i didn't check velocity change

#

sigh.

fickle lichen
#

Is there a guide anywhere on setting up configurable mouse settings (sensitivity and raw input).

little orchid
#

~~Update... So in regards to my waypoint system that is not changing its units properly I've come to realize that the distance to player system part of it is broken. 🤷🏾

So I guess that is what I will have to fix.~~

edit: FIXED IT! Set the Unit Factor KPC distance, then set the units to LY, redid the < > appropiately...AAAAAAAAAAAAAAND EVERYTHING WORKS! Numbers calculate, and unit switches at the correct distances.. 😄 3:45am

humble matrix
#

Anyone have a good blueprint for Physics

#

?

humble matrix
#

yes it does

#

oh god

#

it froze

#

what happened

#

i had to get task manager lo

#

l

runic parrot
#

Hi everybody!
Any idea on why this static meshes are not generating navigation?

lunar sleet
#

That checkbox makes holes in the navmesh it doesn’t generate one

runic parrot
#

So what should i check so that the static mesh is viable for nav generation?

#

I have this other plane and it generates okey

#

Not sure what is the difference, the plane also has a "static mesh"

lunar sleet
runic parrot
#

but not for the hexagonal tiles

#

(First picture)

lunar sleet
runic parrot
#

that's not my problem at the moment

#

navigation is just not working at all in the tiles : (

lunar sleet
#

Is this fully proc gen?

runic parrot
#

The first picture, the ones with the Hexagonal tiles, it's just spawned actors with a static mesh

#

They are proc generated, yeah.

lunar sleet
#

Ok but I imagine the floor or at least the level exist

runic parrot
#

Actor:

runic parrot
lunar sleet
#

Ok, so just drop a navmesh volume on it, no invokers needed

#

But as far as your tiles go, you might be having issues due to step size or if character can step up on is turned off

runic parrot
#

oh, that sounds like a better place, thanks!

copper chasm
#

So I've got my grid of 8 buttons, I make my array from the grid, I assign onhover functionality to display information outside the grid

I'm trying to set it up so that when I click on one of the buttons, it changes tint, and any other button that may currently be tinted loses its tint, but I think I have a fundamental misunderstanding of foreach loops. I can make them tint on click, but I'm not sure how to untint the rest

frosty heron
#

my button widgets have states

#

when they are active (selected) and when they are not

#

On Button Click -> Get all the buttons -> Deactivate -> Get the selected button -> Activate

copper chasm
#

I just had to run another foreachloop on the click event, i got it

frosty heron
#

You run "deactivate" state on each of the button you want to deactivate

copper chasm
#

I like that "activate" sound

#

Yeah, I was just using the loop incorrectly

#

or rather, not using it correctly, lol

frosty heron
#

perhaps there's a better way if you have hundreds of buttons

#

which is possible if it's something like items

#

actually you don't even need to loop...

#

just store a reference to the last selected button

#

Last selected button -> Deactive
Current selected button -> Activate

frosty heron
#

@copper chasm exactly what I did for my widget

frosty heron
gentle urchin
#

If lastbutton != none -> deactibate last .. etc

copper chasm
#

this works right now, but I'll try and chip it down to the function to just check against the previous clicked button

#

I like how I was absolutely zooming along on the data end, and then made a detour to make the ui look a little nicer and now it's been two days and I haven't touched the data 🙃

frosty heron
#

if you look above, the code can be much simpler

#

actually all other buttons are irrelevant

#

only the one you select and the one last selected matters

#

Think about other use case too, where you want to play animation on button Unselected

#

u don't want to run that animation on all buttons, just the one that is last selected

#

if you don't need to loop through all the buttons, don't

gentle urchin
#

Far better 🤓

#

To avoid it

copper chasm
#

well you know what they say, ask 100 developers the same question and you'll get at least 50 different answers 😛

#

i'll fix it

gentle urchin
#

Nobody (but Cold) would suggest a loop 😂

#

/jk

dark drum
maiden wadi
copper chasm
#

this discord channel has been one of the most illuminating and frustrating experiences of my adult life, insofar as education is concerned 😂

versed sun
#

im thinking you should use GAS

maiden wadi
#

Yeah... It has that effect. 😂

copper chasm
#

and like, the stuff I'm doing isn't stuff people usually make low level youtube tutorial content for, so it's just me doing it poorly until it looks right, asking here, and slowly retrofitting and re-parsing and trying not to belittle myself lol

copper chasm
# versed sun im thinking you should use GAS

funny story, I was originally using GAS for my turn based grid combat, but then I hit a wall because I couldn't figure out how to apply a turn based timer to my GE's without a ton of extra coding just for that, so I stopped going down that road, and then like two months later someone was just like "you could just make the turn manager in BP and use infinite GE's that you toggle on and off" and I unplugged my PC and went to a park

maiden wadi
#

Lol, yeah. 😄 We're using GAS, and all of the gameplay mechanics are designed as turns even though it's technically realtime. As in a turn takes so long and every so often the game "ticks". What we have though is an ability on the GameState which runs when that happens. That ability basically drives the backbone of the gameplay systems.

gentle urchin
#

Interesting approach

frosty heron
#

hands up whos using GAS 😄

#

too good to not be utilized imo

maiden wadi
#

🖐️ 🖐️ 🖐️

#

Wait, how do I have three hands?

gentle urchin
#

Freak 😆

#

Gotta figure out how to deal with this license thing on the heavily modified dialogue plugin im using...

#

Unclear license is no good

maiden wadi
#

Email the creator. 🤷‍♂️

#

What license though?

gentle urchin
#

Creator went a-wall

#

Moved to china, pursued other interests

#

Licence for use /modification?

maiden wadi
#

Yeah. Which one is it?

gentle urchin
#

It has none specified

#

Documentation says all rights reserved

frosty heron
#

@maiden wadi would it be very important to use tile view? I never venture there but I do plan to display hundreds of items at a given time.

#

never feel limitation as I am working with very small data atm

gentle urchin
#

Basically recycles only the visible amount of tiles

frosty heron
#

Yeah, just hope I don't have to refactor a lot of things

#

if turns out I need to use tile view

gentle urchin
#

Thats a big refactor

#

You can manage this yourself with some cheating and creative handywork

#

Without being forced to uobjects

frosty heron
#

for multiplayer items, can I just use structs :P?

#

i mean sure can, but maybe UObject still better

gentle urchin
#

Uobjects have many benefits 🙂

maiden wadi
#

It's not such a major refactor. You're creating widgets and passing them data probably. If that data is not already wrapped in a UObject, then make a new UObject. Make the UObject instead of the widget, give it the data. Then just give all of the objects to the tileview.

Go to the display widget and add the interface, override the object set function, cast to the passed in object to get data, set up widget as you were already doing.

gentle urchin
#

^ yeah thats pretty straight

#

Just wrap it in uobject on its way ti tileview

maiden wadi
#

You don't have to change the using system entirely to UObjects at the start, just use them to wrap data for now.

frosty heron
#

Right, but you would re-create those UObjects from an array of item struct I suppose?

gentle urchin
#

Smart move Auth

maiden wadi
#

Pretty much. And you can pool them if you're worried about object limits.

gentle urchin
#

Instead of itemwidgets, youd create uobjects to wrapp each struct entry

frosty heron
#

Ahh yeah, that sounds great.

#

thx

maiden wadi
#

I hate displaying struct inventories. Converted enough struct based stuff to tileview/listview. 😂

gentle urchin
#

😆

#

Im still on struct inventory 😦

#

But !

#

I made my first replicating uobject a few days ago

#

So the future is bright 😁

maiden wadi
#

Nice. 😄 UE5 made the handling with that so much smoother.

#

Like you don't even have to do the complicated stuff anymore. Just make the object and add it to the replicated subobject list.

gentle urchin
#

And set it to be consideredfornetworking?

#

Or is that redundant now?

#

IsRelevantForNetworking or whatever it was

maiden wadi
#

Ah, yeah in the object itself, you still need the override for that

gentle urchin
#

And also add the bp GetLifetimeReplicatedProps

#

Aaaand if you want RPCs (i dont, yet) there was another thing to setup

maiden wadi
#

I wonder if they'll ever fix up the outer issue for replication.

gentle urchin
#

What issue is that?

maiden wadi
#

If you Rename an object into a different outer. Like I was doing to transfer one item from one inventory to another. If the original outer is destroyed, item kapoofs. Cause despite being outered to the new object, and added to the new owner's replicated subobject list, it's actually still networked through the original owner.

#

So to transfer, I started to copy the items into the new outer instead of trying to use the old one.

gentle urchin
#

Interesting

#

Did you remove it from the old inventorys replication list?

maiden wadi
#

Yep. Uhh...

#

This is my basic remove/add code.

dark drum
#

I believe there's a free plugin for replicating uobjects.

maiden wadi
#

This is the buggy code using rename.

gentle urchin
#

Does the item remain on the server ?

maiden wadi
#

On the server it's fine. If you destroy the old outer, Server stays correct. But every client loses the item from the new outer. 😄

gentle urchin
#

Does it change net id or something when it get renamed?

#

Hmm interesting tho

#

Maybe ill give it a shot 😂

#

Is outer changed on clients aswell?

maiden wadi
#

No idea. I didn't dig deep enough into it. Last thing I need is a tunnel into networking code. 😂 I have enough shit to do and learn as is.

#

This was my eventual "fix" for it. Just duplicate it into the new outer as a new object.

#

I need to add more logging to my stuff. Just gonna go bloat classes someday with FFrame::KismetExecutionMessage and FMessageLog("PIE").Error()

gentle urchin
#

Seems i was on the right track

maiden wadi
#

Hmm. I feel like that was a slightly different issue though? Cause I do have an OnRep that does that.

#

I don't remember what bug this was for. But this doesn't help the item changing hands on the server.

gentle urchin
#

Imagine the onrep not being called

#

Or was it ?

#

Should only happen for nulling the old pointer i'd think

maiden wadi
#

It is. This specific issue isn't a rename issue on the clients. This is the server no longer replicating that item at all. So client loses the data to it. Like when I was testing it, both server and clients had the correct outer. Everything seemed perfectly fine. New outer had the item in it's replicated list. Old outer did not. Delete the old outer and it remains on the host, derps on client.

gentle urchin
#

Ah ok

#

Deleted old outer , the inventory comp (or whatever container it was)?

maiden wadi
#

The actor it was on, yeah. I think I had just some replicated box actor.

#

The use case was drop actors I think? Like loot everything and the actor is destroyed.

gentle urchin
#

Guess ill need to test that scenario

#

Rename sounds convenient

#

First id need to rework my inventory 😂

maiden wadi
#

Hopefully they fix it. 😄 But I don't mind the copy. My inventory items are tiny objects anyhow. Literally basically an object with a pointer to a definition and a struct that has an array of Pointer/Floats

gentle urchin
#

Pretty much same as my structs 😆

maiden wadi
#

🥳 Primary weekend projects done. Refactored my plugins into a single plugin with multiple modules and got a good start to a game settings menu that uses the GameSettings plugin from Lyra. Styling is terrible still.

gentle urchin
#

Woop woop! Well done !

#

Wish i could do such work in a single weekend lol

#

I gotta spread it across weeks due to time constraints 😂

maiden wadi
#

The above took me ~4 hours. I could probably do it again in about an hour now though. I think the original took me about two days because I was pulling stuff from Lyra and trying to make it more modular without needing Lyra itself.

gentle urchin
#

Once my plugin is done im gonna need to find some volunteer for some feedback om it 🤣

#

Dont trust my own approval for my own stuff , kinda biased I think 😆

#

Just gotta complete the refactor and check that it actually works

maiden wadi
#

Oof. The fun part.

gentle urchin
#

Well its almost there now. Switching to Uobjects was less work than i imagined. Now i just gotta setup the correct and logical delegates for the clients

#

Nested uobjects but lifetimes makes it pretty unusable to have delegates on a per object basis

#

Which I only realized after i had them setup...

kind lotus
#

How to stop the sound if the sound is pressed again while its playing

to be exact the flash light has a double click sound

if i press too fast u hear 4 clicks
but i want it to be 3 ( like overrides the previous sound)

maiden wadi
#

Rather than playing a sound. Put a sound component on the character instead and use that to play, so that next call overrides the last on the same component.

kind lotus
#

this right?

maiden wadi
#

Sorry, wrong wording on my part. AudioComponentis what you're looking for.

kind lotus
#

TY!!

proud bridge
#

hey, the OnAudioPlaybackPercent_Event is not triggering even when the audio component is playing a sound. any help?

maiden wadi
#

This does not.

proud bridge
frosty heron
#

you can select any events that have matching signature

proud bridge
#

doneeee!!! thanksss! ❤️

floral stump
#

why i can't delete a node?

#

this started to happen today

#

when i restart the editor, everything works, and after an hour or two, its like my mouse locked down

#

i can't move anything in world and can't delete nodes or move them

sick sky
#

reload the BP

#

(recompile the BP/edit/close/refresh it someway)

floral stump
#

the items in world/viewport still don't want to move

sick sky
#

thats some weird shit

#

honestly, at this point try to record when you dev, and as soon as your are stuck stop the record and rewind to see what could of get you stuck
do that multiple times and see if there is a common thing

floral stump
#

but the interesting part is, this only happen when it need to, not all the time

sullen moat
#

Would anyone be willing to look at one of my functions for my inventory system? I'm having an issue calculating the size of the item versus the available size in the inventory container and pulling my hair out

maiden wadi
#

What determines your sizes?

rugged wigeon
#

Just post the code

sullen moat
floral stump
#

this is one of the reason i don't use bp for inventory component
this whole function could take just 10 to 15 lines of code in c++

rugged wigeon
#

Well… why are there two for each loops with no array to iterate over?

sullen moat
rugged wigeon
#

But you are aware that they’re not doing anything right

sullen moat
#

yeah I know, multiple issues with this bp lol

#

work in progress

#

working by myself so I've been using chatGPT

rugged wigeon
#

We are in a cursed future

sullen moat
#

hahaha

woeful pilot
#

Does anyone know how to spawn level instance in a construction script. I’m trying to get them to spawn along a spline, i can get packed level instances to spawn but the level instances themselves won’t spawn in the construction script. Even more frustrating is that using the level instance variable when exposed for references only targets Packed level instances. I’m stumped

rugged wigeon
rugged wigeon
sullen moat
#

also have stacking functionality

woeful pilot
#

Why and can you be specific because it works with packed level instances fine

sullen moat
#

After looking at the bp, here's my current issue. I'm trying to loop through the temporaryOccupiedSlots array to ensure the new item fits in the OccupiedSlots array, but my problem is I'm using a vector for the item size and I'm having an issue retrieving those values for the forLoops

rugged wigeon
#

And then you pass this value of 0 to make a struct that does nothing

#

Like why are you looping over the slots, Twice, and not doing anything with the slots?

rugged wigeon
#

At most you want this logic to be callable in editor imo

rugged wigeon
dreamy sail
#

is there a way to find out what specs are needed to play a game that we created ?

fickle lichen
#

I'm not sure #blueprint is the right channel for this

#

So I'm setting up seamless travel, and I've read that it will bring the gamemode with it between maps. Given that this makes map-specific gamemode overrides no longer possible, how should I be defining map-specific values?

maiden wadi
maiden wadi
fickle lichen
#

When using seamless travel, it's possible to carry over (persist) actors from the current level to the new one. This is useful for certain actors, like inventory items, players, etc.

By default, these actors will persist automatically:

  • The GameMode actor (server only)
    • Any actors further added via AGameModeBase::GetSeamlessTravelActorList
nova imp
#

Would anybody happen to know a way to implement an array of world location into a material.(I am trying to make a pulsing effect on a laser beam that repeats at a certain frequency) I am currently using a sphere mask and moving the coordinates with Blueprints. But this method only works for one pulse per material. I have tried using a render target but cannot seem to get the value from the texture back into world space. A push in the right direction would be great thanks in advance.

maiden wadi
maiden wadi
nova imp
#

Sorry I missed a part, the laser can then bounce of a surface creating a new Actor that needs to have the same rythm with the pulses

nova imp
maiden wadi
#

Could always go nuts with a niagara ribbon though too.

wanton radish
#

help, for some reason my pistol when droped doesn't generate hit events with enemy actor, but it does with my character actor.

maiden wadi
wanton radish
#

and it flies, touched me (hit event), toches enemy (no hit event)

maiden wadi
#

Do you have this enabled?

wanton radish
#

btw in which actor should it be enabled?

maiden wadi
#

It should be enabled on the component that is the root of the simulating physics.

wanton radish
#

@maiden wadi and there is weird thing, sometimes when I throw that pistol under enemy's feet and he starts bugging on that pistol it generates hit event.

shrewd tiger
#

Hi guys
Is there any smart way of getting a 2d isometric outline of a mesh ingame/in runtime?

astral mist
shrewd tiger
#

Well I mean like a cross section

#

The outline of the isometric projection

versed sun
shrewd tiger
versed sun
#

you want like a alpha, right?
like Star, or Heart?

#

or full color ?

shrewd tiger
#

Alpha

versed sun
#

you can use a Scene Cap Component2d, set to Orthographic
The Ortho width will be how big the Texture is (256x256)

shrewd tiger
#

Thanks a lot!!

versed sun
#

it will be a bit of setup , but it should get you on track

wanton radish
#

Help, when pistol collides with enemy it should generate hit events, but it doesn't. Why is that? It generates hit events with my player.

iron idol
#

This probably doesnt go here so I might need to ask somehwere else. I'm packaging my game but getting errors. I've read online that a good way to approach this is to migrate maps to a new project. The problem is people keep telling me that if I just migrate the maps I want it should move everything in use over, but when I open the new project after migration the maps are just empty. Anyone have an idea as to what I'm doing wrong here?

maiden wadi
iron idol
#

Well the error itself is "unknown". But I think its because of me not knowing what I was doing when I started out. I added way too many assets and deleted a lot of them. I believe this is causing the error. But I would have a better Idea if I could figure whats wrong in my first message

maiden wadi
#

You should be able to get an output log of the packaging. If you can, post that in #packaging

iron idol
#

I appreciate it, but what I'm looking for at the moment is not packaging. I simply want to know why everyone is saying just migrate the maps and it will bring all depencies with it and mine are blank after migration

#

I would also like to just clean up my project

maiden wadi
#

Personally, I think migration is a bad idea. If you want to clean up your project, then do it. But even if you got the migration to work, the packaging issue probably still needs to be solved or you'll end up right back here just making a third project next time it happens.

iron idol
#

I understand, but I made a lot of mistakes early on and my project is flooded. I force deleted a lot of stuff and just made a lot of bad noob mistakes. I have so many assets that going through it manually would be a serious headache. So i was just hoping I could find a solution to the mentioned issue.

junior prairie
#

Is there a way I can more gracefully handle falling through the map? Right now there's a bug in my game where when my pawn dies, sometimes the camera falls through the map and after that point, I can't input anything anymore. Is there some sort of event I can use that gets triggered when someone falls through the map so that I can run some logic to reset them?

iron idol
#

I mean if your character is falling through the map, is there really a graceful way to handle that?

#

Its a bad answer, but I would probably start with figuring out why the character is falling through the map

junior prairie
#

lol, it's really just the camera that's for some reason falling through the map

#

the character ragdolls and collides with the floor as it should

iron idol
#

maybe check collision>

junior prairie
#

I saw that the camera has gravity enabled so I'm giving disabling that a try

iron idol
#

settings in the camera. and maybe character as well if the camera is attached

junior prairie
#

because why would the camera need gravity

iron idol
#

yea. wasn't meaning to come off as rude, but in my opinion at least, dealing with the problem would be the easier solution

junior prairie
#

yeah for sure

#

I was just wondering because it seems like falling through the map and into the infinite abyss causes the playercontroller to like

#

stop taking inputs

#

so i thought maybe it had some weird properties to it

iron idol
#

The closest I've gotten to this issue is purposely jumping off the map before immediately hitting escape in case UE magically explodes

#

I mean the other solution might be a damage volume under the level, depending on the level. But it shouldnt be too difficult to figure out a fix for the problem in general

#

or maybe just a trigger box

#

When your character dies and doesn't fall trhough the floor is input retained?

junior prairie
#

Yeah it is

#

Actually I think all it is is maybe the pawn getting destroyed prematurely, so none of my logic runs that would allow me to continue playing the game

#

because I realized I can still pause the game and stuff, so inputs are still possible

iron idol
#

that could be it

junior prairie
#

normally when the pawn dies, a bunch of stuff happens before the actor is destroyed

#

I don't know how I would work around that though other than just prevent the actor from being destroyed prematurely lol

iron idol
#

can you share the code?

junior prairie
#

Which code?

iron idol
#

the actor dying

#

and being destroyed

#

etc

junior prairie
#

Oh shit

iron idol
#

there it is haha

junior prairie
#

LOL

iron idol
#

yea

junior prairie
#

I haven't looked at this code in like over a year

#

I forget why I did this

#

I probably had a reason

iron idol
#

you wouldn't believe how many times I had a problem that I'm sure I cant fix, and right when I'm sharing it realize something isnt set up right

junior prairie
#

I maybe did it so when the pawn dies, it doesn't block other players' movement and stuff

#

in fact I think that's exactly why

iron idol
#

well, i'm glad you figured out the problem

junior prairie
#

yeah, thanks for your help!

iron idol
#

Does anyone know why deleting a bunch of assets increased my project size by like 10 gb? Does packaging increase your project size if it fails?

junior prairie
#

and the files get created through the process even if it fails

#

Try deleting all the files that get created when packaging

iron idol
#

it doesnt clean up the files on failure?

#

where are these files

junior prairie
#

I don't think so

#

Are you packaging on windows?

iron idol
#

yea

#

i saw a build folder

junior prairie
#

There should be a Windows folder in your game directory

iron idol
#

is that it?

junior prairie
#

nosir

iron idol
#

well windows is under build

junior prairie
#

yeah not that one

#

should be in your main directory

#

It should be a folder called Windows that has an Engine folder, a folder named after your game, an .exe for your game, and then a bunch of txts

#

my directory looks like this

iron idol
#

are you talking about the packaged game?

junior prairie
#

Yeah, when I package my game for windows all the files go in the Windows directory

iron idol
#

yea i dont have any files

#

in the package destination folder nor the project folder

#

Oh well. I finally got it to package, so I'll leave ths file size problem for future steve.

junior prairie
#

New question, what's the best way to design a skill tree system? Mainly looking for it to be easily extendable/scalable

#

All I can think of right now is having a data table to store the information necessary for the widget like name, cost, description, etc.

iron idol
#

The question is a bit broad. there should be a lot of tutorials that will teach you skill tree systems.

#

at least i would hope so

junior prairie
#

Yeah I was just about to add some detail, it's for an RTS style system where you have units, and the skill tree might upgrade stats on individual units

#

I'm trying to brainstorm how I can set up the system such that it's not too hard to add new skills to the tree that modify the units

#

but am kind of coming up with not much

#

if I had a data table, one column could be the blueprint class of the unit the skill/upgrade pertains to

#

but I would need a way to track on the RTS player's pawn what upgrades they've unlocked and I'm not sure how to store that

rugged wigeon
iron idol
#

I really should have learned to use GAS

junior prairie
iron idol
#

honestly do it

#

my game is heavily ability oriented and i should have learned it

junior prairie
#

same...

iron idol
#

it probably would have saved me a lot of time

junior prairie
#

lol

iron idol
#

i'm too deep now to go back

junior prairie
#

I have no clue how it works other than this random youtube tutorial I watched that went over the basics

iron idol
#

I feel so dumb actually having to ask this, but how would you go about making a widget that is a specific size and the text box inside will adhere to the total widget size

#

if any of that word salad makes sense

rugged wigeon
#

Text boxes have min desired widths. Use that to determine the size of the widget

junior prairie
iron idol
#

you would think it would want to limit the max width. How do you achieve this with min width?

rugged wigeon
#

You tell it to wrap text

#

Min desired width is more useful because your text might not be long enough to justify the space you’re telling it to use

#

Well actually I don’t really get your question. Setting min width will make it that width

#

I guess yeah wrapping text will stop it from going bigger

flat raft
#

is it possible to add a data asset, or swap a data asset during run time ?

lunar sleet
flat raft
#

if i have a dataasset that describes how a gun should fire, and then mu character picks up a mod, i want to swap that exisiting datasset with the one that represents the mod.

lunar sleet
#

Well how are you loading the DA at runtime currently?

flat raft
#

say the gun initally holds 6 shots, then i add a different dataasset that says the gun can hold 8 shots

flat raft
#

right now i can add a asset before begining the game

#

but dont know if i can add or swap while the game is running

#

havn't tried it yet... but I assume "Construct Object from Class" ?

#

i'll try that 😄

fiery moon
#

If a property hold that data asset, cant you just assign a different one to that property?

flat raft
#

that's what i'm asking

#

but at runtime

visual ember
#

you need a reference to DA. you have a reference to one DA now. you need to swap it to another DA. don't think there's anything magical to happen beyond that

random pulsar
#

hey guys

gentle urchin
shrewd sorrel
#

hey there is anyone able to help me implement the player not being able to do a certain mechanic when its not grounded

random pulsar
#

here is my character blueprint
i have a component that has an event for healing
it works fine with self reference or witcher reference
but how do i make them both the target?
i created an array variable of type character and wanted to select them in details pannel but i cant
why i cant and how can i make the idea i described?

shrewd sorrel
visual ember
shrewd sorrel
#

will do

#

im currently working on a third person souls like mythology game and ive implemented dashing but whenever the player jumps its able to dash in the air and i would like to only have it dash when on the ground and i dont know how to implement that into my dashing mechanic

visual ember
gentle urchin
#

Make a function -> CanDash
Include !IsFalling in the check

visual ember
#

would have to add a reference manually to this array

#

or arrange array on the instance in the details after placing in world

shrewd sorrel
gentle urchin
#

You have isfalling

#

You're subclassing Character

#

Its either directly on char, or on the CMC

shrewd sorrel
#

oh okay

visual ember
#

CMC = CharacterMovementComponent 😉

shrewd sorrel
#

the Nav Movement Component??

#

like this?

shrewd sorrel
#

wait no its not thats from my anim_bp not for character movement

visual ember
shrewd sorrel
#

what do i add to my candash function to make it work

visual ember
shrewd sorrel
#

sort off

visual ember
#

no, it doesn't

#

you want to check if the character is falling

shrewd sorrel
#

how would i put a check out for that