#blueprint

402296 messages ยท Page 763 of 403

gentle urchin
#

Perfecto

supple bane
#

alright let me try that now

gentle urchin
#

You dont need the select

supple bane
#

dashKey is shift correct?

gentle urchin
#

MoveRight * LaunchVelocity

maiden wadi
#

Can be whatever you want, but yes I have it set as Shift.

#

Select was to select left or right direction based on the MoveRight Axis.

timber knoll
#

probably why authaer has it there

gentle urchin
maiden wadi
#

I just like to be explicit. I don't want it to be anything other than exactly 10000 magnitude.

gentle urchin
#

thats fair

timber knoll
#

well yeah exactly

#

moveright might only be .4

gentle urchin
#

yepp

#

4000 launch might be awkward

#

๐Ÿ˜›

supple bane
#

I can't thank you all enough

#

And just to make sure, I could just reuse the same code, and with a few tweaks make it forward + backward?

gentle urchin
#

Yepp

maiden wadi
#

@supple bane Are you looking for full 360 degree rotation dash? Well. On a PC more like 8 directions, but still.

#

Pretty minor change.

little cosmos
#

How can I fade out particles in relation to MPC parameter?

#

For instance, when it rains I want the dust particles to disappear

swift pewter
# maiden wadi Pretty minor change.

I have my dash set up with GetLastMovementInputVector to get the direction, wouldn't that work too? Or would that not work for full 360 degree dashing on controller for some reason?

maiden wadi
#

I'm sure it works fine. I don't think it would be an issue, but I wonder if that would have issues with fast input. That uses the last processed input from the movement component.

#

Not likely to notice unless running at low framerates if it is an issue though.

#

Dunno. Might work. I wouldn't do it, because am more comfortable with direct control inputs. I know exactly how control inputs work.

#

It's likely that GetLastMovementInputVector is set near the end of the frame. And I'm pretty sure input isn't processed til next frame anyhow. So I doubt you'll see any difference. ๐Ÿคทโ€โ™‚๏ธ But I dunno.

#

Yeah. This would work with a controller as well and the IsNearlyZero would work as a deadzone. User would need to move the stick more than 10% to dash.

#

Programmatically solves some of the annoying issues with controllers being badly calibrated.

#

I believe so. Looks the same.

#

Minding that my pitch is flat. Not sure how your game handles control inputs.

#

If for some reason you're dashing upwards, mine may not work in the same way because the pitch is inherently flat at all times. Top down style control.

#

Should be the same MokeRotFromX I believe.

#

How is your movement set up?

#

What about the dash itself?

#

Odd.. Add a print to the execution before SetActorRotation. Print out the value from MakeRotFromX

#

Try to move and Dash, should not be 0,0,0

atomic salmon
#

That code above looks weird to me

#

Is that supposed to move your pawn in the direction of sight of the camera?

#

And perpendicular to it?

maiden wadi
#

Yeah I wasn't factoring that in. Is your camera always directly behind the character?

#

I mean quite honestly, if the last movement input is working fine. I wouldn't mess with it.

atomic salmon
#

Yes, but nvm. If it works keep it as is.

#

It's is just easier to take the camera forward vector and project it onto the [0,0,1] plane.

#

But that is not your issue atm

#

@swift pewternever realized the fancy math behind it. ๐Ÿ˜‰ And the fact that it will very likely break when your camera is above the character looking down to it.

maiden wadi
#

I started by watching a city builder tutorial. Watched it through and sort of followed along once. Then went back and rewatched it a second time, going back over everything that was done, converting everything to numbers and logic in my head. After that, it was mostly just a ton of curiosity and googling.

#

Eventually I hit the performance curiosity barrier. Realized Nativization was going to be hell and decided it was easier to learn C++. ๐Ÿ˜„

gentle urchin
#

Followed a ton of tutorials until i reached a point where I wanted to try out my own systems based on the variations of knowledge acquired through youtube tutorials. At some point you sort of get the gist of most things, and play around with it from there ๐Ÿ˜›

#

Have I learned best practices? Probably not.

#

forums like this helps a lot for the latter part. Peaking into other setups and whatnot.

atomic salmon
#

@trim matrixif you have no programming background whatsoever, learning Blueprints may still be a daunting task no matter what

gentle urchin
#

^good point. Coming from a programming background certainly gave me a head start.

atomic salmon
#

So do not get descouraged.

umbral oyster
#

Hi, anyone know if there is a way to get the actual deltatime for the previous frame? Despite the use of t.MaxFPS. For example I use t.MaxFPS 60 and cap the framerate at 60, but actual fps can be 120 fps, is there a way to know this actual value?

atomic salmon
#

You are right that there are no courses which start with the basic programming paradigms and show them in Blueprints

maiden wadi
#

How much do you generally know? Binary, Float, Integer, Enum, etc?

umbral oyster
#

Tom Looman on Udemy, he taught me everything i needed for the rest it's just google

#

but Tom Looman's course really takes you through all the essential modules and workflows

#

everything from BP, C++, AI, Networking, Animation Graph, Material Graph etc etc...

#

his most recent course introduces GAS as well

#

but that course is a bit pricey

#

His course gives a great overview of how everything glues together

atomic salmon
maiden wadi
#

There are a ton of things that relate to blueprint usage that will probably never be taught in most tutorials. For instance, why a lot of beginners end up in here asking why they can't set their rotations exactly to a number and like 60 Yaw rotation in editor ends up set to 59.9999998. They think there's an error or bug in the editor, but it's entirely normal.

atomic salmon
#

What I found with my students is that one of the most difficult aspects to understand for a beginner is how your code is linked to everything else the engine does.

#

The whole concept of event-driven programming is obscure to the majority.

#

Let alone OOP.

maiden wadi
#

I remember actually being shocked when I found out that there were other ways to program than OOP. ๐Ÿ˜„

fiery glen
#

yeah, me too

atomic salmon
#

I don't know which programming language kids are thought in primary/secondary school these days.

fiery glen
#

I still honestly don't know how composition is done in most situations without a generic ECS style

atomic salmon
#

Back in time it was Basic and Pascal.

fiery glen
#

I did QBasic which was honestly retro as hell even for 2010

atomic salmon
#

It may be that I am a bit retro. ๐Ÿ˜›

#

@trim matrixso which part is the most difficult for you?

fiery glen
#

ooh, I meant highschool

solemn zephyr
#

how can I make these traces always appear in front of the player? currently they appear on the same side regardless of the capsule's rotation.

fiery glen
#

those vectors are in world space

#

you want to get the forward vector of the player, multiply it by how far you want to trace and add that to the world position

#

to get a position in front of something

atomic salmon
#

is it like "ok I want to do this, where do I start?"

maiden wadi
#

I grew up in a farming state in the US. By the time I was in middle school, the school system there was barely learning how to do spreadsheets. I think most everything I picked up was from a rare tech book, and eventually needing to mod WoW because I wanted to raid, but the addons I had to use were so terribly programmed. and my PC couldn't handle it. ๐Ÿ˜„ Lua was my first dive into "programming".

atomic salmon
#

Ok that's a good analogy.

#

Motivation is extremely important in learning.

#

@trim matrixdo you have a game idea you want to realize?

#

That's great

#

So you need to break it down in pieces

wispy star
#

copying of something that people did before it one of the worst methods of education

atomic salmon
#

and work on one piece at the time

gentle urchin
#

Not sure that applies to everyone Alexey. Depends on what you do while copying

wispy star
#

@gentle urchinyou copying...nothing else

maiden wadi
#

I think copying is a fine way to learn "How to use the engine". As in how to navigate around, find your bearings in the software. But it is the worst way to actually understand what you're creating.

atomic salmon
#

I tend to agree. Copy pasting is like giving someone a fish, but it doesn't teach you how to fish.

gentle urchin
#

even then its hard to follow

wispy star
#

sorry for derailing the topic

gentle urchin
#

"we're connecting the vector in here because we want to move" ^
What does that tell you if you dont know how a vector relates to the world, or the context of moving

wispy star
#

@gentle urchinyep...most of the issues come if the author knows exactly how it will behave, and not showing what will happen if something went wrong, like world to local transforms (most common example)

maiden wadi
#

Also. Unless you're training for a specific specialty. I strongly recommend sticking to gameplay design code for a while. It's much easier to follow. After my current job, I will never again wonder why there is an entire subset of programming revolving around UI.

atomic salmon
#

Reality is that knowing something, understanding something and knowing how to teach that something to others are different skills.

wispy star
atomic salmon
#

A lot of tuts are made by people who learned something without understanding it and now simply want to show off.

gentle urchin
#

It also helps to know the recipient of that something. Some understand it better by seeing it visually, others mathematically etc etc. People learn things differently

atomic salmon
#

Yes, different people have different learning styles.

gentle urchin
#

So personal tutoring should get you further along than generic tutorials

atomic salmon
#

I have been making "no sound" tutorials for a while, purely visual. Some people loved them some others hated them.

gentle urchin
#

Are you supplying with text to it then ?

atomic salmon
#

The visual ones have on screen annotations

#

Including used shortcuts. tips, etc.

gentle urchin
#

Makes alot of sense. Easier to pause, think, and move along aswell then. With audio you sort have to play over and over the same sentence(s) if you want to rewatch it

maiden wadi
#

You'd be better off just looking at the character examples in the unreal default projects.

gentle urchin
#

aswell as the speed of some tuts are insane

atomic salmon
#

I did try the no-audio concept for a while, but now I am back to audio tuts.

#

You cannot make 100% of the people happy.

gentle urchin
#

Do you separate your content in any way to how advanced the topic is, or how in-detail you go describing whats going on?

wispy star
#

I want to make tuts for ue4, but i don't enjoy sound of my voice -_-

gentle urchin
#

^makes 2 of us

atomic salmon
#

None does enjoy their own voice

#

Because we hear our voice also through the bones, which others don't

gentle urchin
#

Was planning on streaming for a while, but cant really get comfy on cam lol

earnest tangle
#

The problem is partially because most microphones don't reproduce your voice very well so it sounds weird and wrong

#

If you can get your mic setup nicely or just EQ your voice to give it low end, it probably sounds much more natural

atomic salmon
#

True that, but it will never be how you hear it from within your own skull

earnest tangle
#

Probably not yeah

atomic salmon
#

@trim matrixyou should indeed study the standard 3rd person template. There is a lot to learn from it.

#

Try, break it, fix it

#

Ask questions here

earnest tangle
#

It's very unlikely that anyone is gonna steal your ideas to the point that your game is not successful as a result

atomic salmon
#

Also history has proven that is not much what you do but how you do it that makes the difference.

earnest tangle
#

You probably should not watch paid content on stream yeah, free content should be ok usually I think

solemn zephyr
#

is the delay node affected by time dilation?

cyan surge
#

This one has got me feeling quite silly, I have a button that brings up an interface that is part of another widget, but I'm unable to click on the button behind it, should I not be able to do that if it's not covered?

earnest tangle
wispy star
#

@cyan surgeis that a part of the same widget?

cyan surge
#

different widget,

#

Button -> makes other widget visible,

wispy star
#

oh...then you widget is stealing the focus

cyan surge
#

I mean, yea but it's just the canvas?

wispy star
#

#umg - but iirc it's possible to pass hit events through

#

in BPs you have no View level events, it's only possible to get them in C++ afaik

thorny glen
#

Hello everyone,
please take a look at the screenshot
I'm tried to make a build for android of metahuman but it's face is not appearing.
Anyone know what might be the issue?

maiden wadi
#

@cyan surgeIf you want to click through a widget, that part of the widget needs to have it's visibility set to Not Hit Testable.

cyan surge
#

Lets say that is the canvas,

#

it is afaik

wispy star
maiden wadi
#

Is anything wrapped around the canvas?

thorny glen
#

Thanks @wispy star

cyan surge
#

Can we hop into a voice room? @maiden wadi

maiden wadi
#

Also another useful tool. Open a widget blueprint, go to the designer tab, and open the Widget Reflector.

#

Do Pick Hit Testable widgets, hover over where you can't click through and then escape. It'll give you a snapshot of your hierarchy at that moment and what you have blocking the hit.

cyan surge
#

What is SOverlay?

#

My widget has one thing in it and its just an image xD

icy dragon
#

I thought "mobile" means lower end gaming hardware like Nintendo Switch or slightly mid end laptop.

earnest tangle
#

Or rather, the Overlay UMG widget is built using SOverlay

solemn zephyr
earnest tangle
#

Oh that's interesting, I assumed it was realtime, but good to know :)

solemn zephyr
#

I'm using it to prevent ledge grabbing for a moment after letting go of one so you don't immediately grab it again

cyan surge
#

I was with a reference to the widget making it visible, but I think I was setting the canvas as hit testable,

#

so yea, must be it going to check now

maiden wadi
#

@solemn zephyr Implementations like that are much often easier to maintain by saving a single float of current game time.

#

You don't have to deal with timers or waiting for the callback, you can just drive logic based on the float. On Ledge release, set float. LastTimeLedgeReleased or something. When your code tries to grab a ledge, all you have to do is check if GetGameTimeSeconds - LastTimeLedgeRelease > WaitTimeAfterLedgeRelease.

native plover
#

im trying to make obstacle course with moving objects but when player stands still, moving objects go through the character. Id like the objects to always push the character. How can i make it work? I have looked online and seems like people have this issue aswell with no solution.

solemn zephyr
maiden wadi
#

As opposed to what? How are you updating the state to allow ledge grabbing after the delay?

solemn zephyr
#

on releasing a ledge set "can ledge grab" to false, delay, set "can ledge grab" to true

cyan surge
#

I think it's crazy that the default for setting the visibility on a widget effects the canvas...

#

is there NO function to set everything but the canvas?

#

ITS INSANE

#

If I want to toggle the visibility of a group of widgets, I can do it generically!

#

because it will effect the canvas?

#

AHH

spark steppe
cyan surge
#

This is just as much blueprint as umg tbh

earnest tangle
#

I'm confused as to what the problem is?

#

Collapsed means it is hidden and not in layout

#

One of the other options allows you to hide it but keep it affecting layout

icy dragon
#

Gotta love the XY Problem syndrome.

cyan surge
#

Yes that is no issue, its when you make it visible it sets the canvas as a big impassable, block that you cant click through...

#

because canvas is the root.

earnest tangle
#

Screenshot example of what it looks like?

cyan surge
wispy star
#

canvas is the screen space for drawing UI

sharp rapids
cyan surge
#

Yes but because it CAN block, and it IS the root of all widgets, I cant set a widget to visible without making it impossible to click past

cyan surge
earnest tangle
#

You can make it visible but not hit testable

cyan surge
#

I think I just feel in love

earnest tangle
#

This should make it get ignored

icy dragon
# cyan surge

So what you're trying to do here is to set visibility in an object reference array of widgets, that array contains every widget you have. Is that the case?

cyan surge
#

The PROBLEM IS SOLVED

#

Thank you SIMPLE OR COMPLEX!

wispy star
#

no need for caps

icy dragon
#

Wait what

sharp rapids
#

What?

cyan surge
#

Im HAPPY, sue me plz!

#

xD

sharp rapids
#

I still don't understand what your actual problem was, but anyway
Glad if you got it

icy dragon
#

What the heck mesh collision has to do with the widgets?

cyan surge
#

I won't back track to explain an issue that is now solved, thanks for the help

maiden wadi
#

@solemn zephyr The implementation really isn't that different. And if you ever move to C++ code, the float version becomes immensely easier because delays aren't as easy as a single line.

icy dragon
cyan surge
#

Sigh okay...

#

I will make one last attempt

earnest tangle
#

lol

cyan surge
#

then I will go

#

I have an array of widgets, I set them all generically "Off" this makes them invisible no issues, I set them generically as "On" this makes them visible, I do this with the Set Visibility function, that function when setting them as visible also effects the canvas that invisible useless thing in the background of any widget you create but that also means it now has hit detection so it will block you from clicking onto a button that it's completely invisible hitbox is now blocking, solutions remove the canvas, invisible hitbox now gone, yea? okay bye xD

#

Problem not really solved because canvas is useful for other stuff so I still kinda need it... ๐Ÿ˜ก but I'll just toggle visibility in another way...
A function for widgets that changes the visibility and does not make the canvas a hitbox, that would be nice... really nice...

earnest tangle
#

Like I said

#

there is an option that makes it visible but not hit testable

cyan surge
#

"You can make it visible but not hit testable" this is not helpful

#

I'm LOOKING for some of the widget to be hit testable

#

I want EVERYTHING else to be visible

#

just not the canvas...

earnest tangle
#

Yes, you need to make those specific widgets hit testable, and the ones you don't want to be hit testable to not be

#

Or just fix what sounds like a very messy UMG tree, you really wouldn't want random canvases to be on top of other content to begin with

cyan surge
#

Your really not telling me anything I don't know here bud

sharp rapids
#

Go to your widget blueprint,
select your Canvas
Go to Behavior section
You'll see a 'visibility' or something like that setting

earnest tangle
#

Yeah I'm just saying because you'll have an easier time in the future if you fix it

sharp rapids
#

Of your Widget BP

cyan surge
#

I'm losing my mind

#

xD

sharp rapids
cyan surge
#

If you run this

#

It will take what ever the default for the canvas is

#

and set it to visible

#

and any other widget,

#

the issue is I just don't want the canvas to become hit testable

gentle urchin
#

How are you making the widget array?

#

get all widgets?

cyan surge
#

By taking a reference, when I make them xD

earnest tangle
#

have you tried this option? :P

gentle urchin
#

show, dont tell ๐Ÿ™‚

cyan surge
#

I would also like the rest of the widget to be clickable!

#

AHHH

sharp rapids
#

Does your widget array contains Custom Widgets?

cyan surge
#

You must be trying to hurt me, so I'm leaving xD

earnest tangle
#

Yes, if you set the root canvas as not hit testable (self only), the children of that canvas will be hit testable assuming you have set them to be hit testable

cyan surge
#

Thanks for the attempts lads

#

๐Ÿ‘‹

sand shore
cyan surge
#

No my issue is resolved, I've been helped, I know the problem, I've said that, I get suggestions that avoid the issue and I want to leave the convo but someone new keeps dragging me back

#

I'm not mad, I'm tired

#

I did appreciate the help, and effort to help really

delicate scroll
#

Kind of hard to word this, so if it doesn't make sense I can add some screen shots.
In the widget blueprint, when I add a button, under appearance -> style - For each option (Normal, Hovered, Pressed, etc...) there is a bar (just above the image selector which is 'None') is a display of the button. Most of them are multicoloured, a lighter grey to a darker grey. How do you change it to still have that effect, but with different colours? Or for Hovered, how do I make it match the others?
I've matched all of the other settings as far as I can tell, but it doesn't change. In this particular instance, I don't want there to be any change to the button when interacted with.

gentle urchin
delicate scroll
#

lol My bad. Thought I switched tabs

cyan surge
#

so that's just not true

#

but issue solved I added a widget base class with virtual functions

maiden wadi
#

The canvas won't be the same visibility as all children.

gentle urchin
#

thats the entire point of it. And for sure it works

cyan surge
maiden wadi
#

Only if you set visibility on the canvas itself.

#

If you set visibility on the children, it will not.

cyan surge
#

No, also if you set a pointer refrence

#

that was the whole issue, it shocked me how many people commented without reading

gentle urchin
#

Exactly why i wondered how the references were cached in the first place

#

are you modifying the entire widgets,

#

or every single widget component (containers, buttons and whatnot)

cyan surge
#

Yea, @gentle urchin it was a good question at the time and I answered you, I think haha

gentle urchin
#

Not really

#

well

#

not specifically enough

#

Its why i prefer the show dont tell method

cyan surge
#

That might be a fair critique

gentle urchin
#

especially from a debugging perspective

cyan surge
#

the variable type was "User Widget"

icy dragon
gentle urchin
#

For sure NDA dont target fraction of code?

#

Can it?

#

Never worked with NDA, but i'd be amazed if it did.

spark steppe
#

depends, if you leak a hard-coded password, they probably gonna hate you

cyan surge
#

It defiantly can ๐Ÿคฃ

spark steppe
#

even tho it's just a fraction

sharp rapids
#

What's NDA?

gentle urchin
#

non disclosure agreement

sharp rapids
icy dragon
maiden wadi
#

It really depends on the NDA wording. I'm under one. But it basically just states not to disclose anything that can harm the company.

icy dragon
#

Though NDA usually isn't that strict when it comes to sharing a small inconsequential part of the code.

maiden wadi
#

Generally speaking, if you're sharing project code for help, it probably isn't cutting edge enough to be worth an NDA worry. And if it is, you probably have enough rights in the company not to worry about it. ๐Ÿ˜„

gentle urchin
#

biggest problem with being told how its done vs shown how its done is that it relies on the understanding of the sender. It requires the sender to know exactly whats going on and why, which often is not the case when asking for help.

#

Getting replied
"I've done it correctly, just like you said"
isnt as trustworthy as showing it..

#

nothing personal ofc, just experience..

sharp rapids
earnest tangle
#

if you've got such a restrictive NDA you should probably be asking your coworkers to work through it with you instead of randos on the internet ยฏ_(ใƒ„)_/ยฏ

cyan surge
sharp rapids
#

Ah, I forgot

icy dragon
cyan surge
#

It's not like I couldn't send a picture of the variable type don't get me wrong haha

#

and how do you show an invisible canvas blocking a button haha

gentle urchin
#

It's the code part we'd be interested in seeing, not the visuals of the widget ๐Ÿ˜›

#

Widget tree could also be interesting

#

not anymore since it fixed, but yaknow

cyan surge
#

It was a really simple setup, like really simple

gentle urchin
#

That wasnt really the point xD

#

It was more about what it can tell us, compared to asking a bunch of random questions about something we dont know how is set up

cyan surge
#

Array of user widget pointers,
Loop widget pointers setting visibility,
It effecting the canvas,

gentle urchin
#

Im trying to filter vectors using sphere trace for hitting roads. It's not working correctly, whats wrong

#

VS

cyan surge
#

Is that a question?

gentle urchin
#

similar question

cyan surge
#

I'll assume that wasn't a real question xD

gentle urchin
#

what tells you the most ๐Ÿ˜›

cyan surge
#

This blueprint code is so ugly :C

gentle urchin
#

Surely it is!

cyan surge
#

so much overlap, cry

gentle urchin
#

Point is, with text only you'll have to ask a billion questions to figure out what im doing, and how

#

with the image, we get a ton of info out of the box

cyan surge
#

Yes I think images, are more helpful most of the time yea

#

but no ones is arguing they arn't haha

gentle urchin
#

Anyways, we're hijacking this entire channel ^^

#

Lets leave it at that

cyan surge
#

No one else has an issue :)

#

it was about blueprints

#

but yea

#

๐Ÿ‘‹

earnest tangle
brittle plinth
#

Hey guys, Do you know how Can I add a background blur to an Item inspection ?
I tried with the widget but everything is blurred so I think from the ThirdPerson BP camera or something like that

icy dragon
brittle plinth
#

noup

#

it's from BP

#

something like this

#

and I want to have the foreground in focus and the background with blur

#

๐Ÿ˜›

digital palm
#

Hello everyone, I have a small problem with a door and a Keypad to open it. The keypad opens the door once the code is entered. I tested to open the door in multi only without the keypad, no problem to replicate. On the other hand, I use a 3D widget component in my actor with the door, and so as a 2D widget, it is not replicated. I have no idea how to replicate it for all players. Thanks

cyan surge
#

Lots of things you can do, I would suggest replicating a variable and using an On_Rep to set the visual code

#

You must replicate the variable inside the actor, not the widget!

#

So make a variable on the door, set its replication to repnotify

#

It should have something appear on the left, "OnRep_Visual_Code"

#

Go into it and use the variable to set the code visually!

#

Now if your making it multiplayer, you will need to think about who can enter the code into the door,

#

you can just send a client message to the server when they click a button

#

"Client 1 Pressed 1"

#

and you just update the servers "real" entered code

#

hope that helped ๐Ÿ˜ ๐Ÿ‘

digital palm
cyan surge
#

Widgets cant replicate anything

#

so it must come to the door at some point :)

#

how you do that with either a replicated variable, or RPC is really up to you

#

but I would recommend repnotify on server and RPC for client input

#

Keep in mind a dedicated server can't even create a widget

#

even if it wanted too haha

drowsy jungle
#

Guys I've been following up with a tutorial. Creating a variable with a "Placeable Block" type. But I cant find this type on UE 4.27 ! any ideas ?

cyan surge
#

That's not a standard variable, back track and find the part you missed where it was created,

digital palm
#

yea I see the widget is owning by a user, so I have to pass the numbers entered to the actor, then replicated those numbers

drowsy jungle
cyan surge
drowsy jungle
#

Tutorial UI

sharp rapids
drowsy jungle
icy dragon
brittle plinth
#

okey ๐Ÿ˜„

#

let 's move there

dim robin
#

is there any way to update a struct to default values inside blueprints? apparently saving it is not enough, and the useful "default little arrow" is not there

sharp rapids
#

You need to create it first to be able to use it

drowsy jungle
#

Ooohhh

#

Yeah I am only watching half through to get how a single method is done

#

Thanks

odd ember
#

you could create a data table using the struct and input the default data there

#

but that's perhaps overkill if you don't plan to use data tables otherwise

dim robin
#

i'm going to check it

sturdy canyon
#

does anyone know why my clouds wont change in game?
left clicking does nothing

fiery glen
#

Input event might be consumed elsewhere

#

If it isn't firing at all

wispy star
#

That BP is not linked to controller, so it cant receive the event

wet wren
#

hello so i made this conveyor which everything works on it perfectly now i made this cube and it falls on it and wont move any ideas? the cube is from blueprint

faint pasture
wispy star
#

@wet wrencheck overlapping collision is enabled on the cube

#

you may also use "sweep" as otherwise the model will ignore collisions

wispy star
#

@wet wren

sturdy canyon
wet wren
#

i see

#

its not working

wispy star
#

@sturdy canyonbut cloud opacity is just a float...it should be used somewhere

sharp rapids
sturdy canyon
#

like when I increase the slider in the editor

#

making the clouds go from blue sky to cloudy

wispy star
#

@sturdy canyoni've explained, that you need to use this value somewhere, like set an actual brightness of the light etc

sturdy canyon
#

can't I set it in the box in the set node (100.0)?

wispy star
#

@sturdy canyonthat variable by itself just stores the value, it needs to be used somewhere, and if it is, how it updates the actual values of those parameters that it used to control

#

i.e. you have f(x), and you set x, but you also need to tell, "hey, update f(x) now"

sturdy canyon
#

which command is that if not set?

wispy star
#

you've set X...X by itself is just a float

#

there is no such command by default, if you have not defined one yourself (depends on your BP)

wet wren
#

the cube still just falls on the conveyor

wispy star
#

@wet wrenmake sure this returns something

#

I also recomment not to use tick, but use start/end overlap

wet wren
wispy star
#

@wet wrenI am asking about your cube issue, make sure it generates the overlap

#

use break points, use logs, make sure you get the proper values on each step

random plaza
#

how do you search for a variable inside of a struct? say im making an inventory system with structs and i need to look and see if an item has a damage value, so i can tell that its a weapon

gentle urchin
#

custom function looping array checking struct data

#

i suppose? depends a bit on the struct i guess

random plaza
#

also how do you make a struct have a space for any kind of variable? say i have an inventory struct and it can either take weapons or items

wispy star
#

since struct is generally a fixed subset, why do you need to search?

random plaza
#

i was gonna have an inventory struct that could take items inside it, or weapons or say food items that are each their own struct

random plaza
#

wait im stupid, yeah its an array duh

#

can arrays have wildcard slots?

gentle urchin
#

No

#

you can work around it with maps, arrays and stuff like that, but no true wildcard

#

Just makes thing stupidly complex tho

sharp rapids
gentle urchin
#

map of strings f.ex saying attribute and value...

icy dragon
random plaza
icy dragon
#

I don't know why I couldn't focus tonight

random plaza
#

i'll work on adding that today, i'm i a really good mood and game development helps me calm down. this is like therapy for me.

gentle urchin
#

Same lol. Untill things break for no apparent reason and you spend x hours troubleshooting it

#

beyond that, therapy all the way : )

random plaza
#

i feel that, but its honestly a good distractor for me, what with my autism and stress in my life.

gentle urchin
#

In a map container, is things in guaranteed order? Or are they somehow inserted?

icy dragon
tawdry mural
#

you guys have any ideas how to make 3 shell game?

icy dragon
icy dragon
tawdry mural
icy dragon
#

(I just have yet to found a purpose to use one lol)

gentle urchin
#

Im using it for my AI manager, adding path requests, with actor and location refs

#

the setup is working, but the order seem messed up

faint pasture
icy dragon
# tawdry mural

Oh, that's simple. Move the cup around, if player opens one cup, check for the bool value. That's the high gist.

gentle urchin
#

Adding them is pretty straight up

faint pasture
gentle urchin
#

and removing based on key

#

Definetly unpredictable

tawdry mural
cursive apex
#

If I want to make a rock gradually change color to red by time under collision with a flamethrower spell, and then gradually change back to the original color, should I use event begin play or event any damage?

random plaza
#

if you called random animations, the cups could hit eachother

icy dragon
gentle urchin
#

swap 2 and 2 cups, define offset based on direction of the cup

tawdry mural
#

no it will be 1 rig and all the move variations in a state machiene

gentle urchin
#

one always moves in front, other always behind

sharp rapids
#

Or whichever event your calling when affecting the rock

gentle urchin
#

Is there any common "low fps" treshold one tests against?

#

I'd say sub 30 fps is unplayable but...

icy dragon
# tawdry mural no it will be 1 rig and all the move variations in a state machiene

If it's a skelmesh, I think you could get away with either procedural anims, or executing a bunch of predetermined cup animations. The cup number isn't going to actually move from one position to another, so you'd have to keep track of the cup number sequence based on the anim you played.

At least that's from my observation of the same game in Watch Dogs 1.

sharp rapids
icy dragon
# tawdry mural no it will be 1 rig and all the move variations in a state machiene

For context, the minigame in action
https://www.youtube.com/watch?v=Qgd8T-FAknc

Complete walkthrough of Shell Game in Watch Dogs. See every round of every level from Level 1: Round 1 to Level 5: Round 3. The Shell Game is a street game where a ball is hidden inside one of three cups. After shuffling the cups, the player is asked where the ball lies under which cup. In Watch Dogs' implementation, there are 5 levels, and each...

โ–ถ Play video
#

Notice how in every shuffle the cups and hands starts and ends in the same position

faint pasture
#

There's only 3 possible swaps so I'd start with those 3 animations.

tawdry mural
#

i think it would be easier to make with rig

faint pasture
#

Ya might be easier to just move cups and ik hands to them

icy dragon
faint pasture
#

You could make the "move animations" just with some curves.

icy dragon
#

It's just that the cups don't really move after shuffled, hence why the cups are in the same position at the start and the end of the shuffle.

gentle urchin
faint pasture
#

Then iK the skelmesh to them and have the cups be moving the hands. Blend in and out from the rest pose to ok and you'll be mostly there

tawdry mural
#

i won't be using hands ๐Ÿ™‚

icy dragon
faint pasture
#

Ok then you can just make 3 little curves for the 3 swaps and call it done.

sharp rapids
tawdry mural
#

curves you mean i can do it in ue?

#

the animations

icy dragon
#

I'm just pointing out how Watch Dogs did the shuffling animation, so you could replicate it. Give a closer look on the video I linked above.

gentle urchin
gentle urchin
icy dragon
#

Also notice that the cups got weird motion blur at times, because the cup mesh are resetting, but the game code still keep track of where the ball should be.

gentle urchin
#

Dont you think the anims just have some offset value attatched to it?

#

AnimA Move ball +1

#

midpoints values are meaningless

faint pasture
#

A 1-2 or 2-3 swap, and a 1-3 swap

#

The vector curves plot out the positions over time. Just use a timeline to move the cups from curve values.

frosty berry
#

Can you use LandscaperLayerBlends and WorldAlignBlend together? I want height based textures as well as a paintable surface. Examples?

faint pasture
#

Sure, just think about how you wanna blend the 2 outputs.

frosty berry
#

That is where I am lost...It appears I am alwasy missing something to put them together and which of the 2 textures that are blending should get used with the worldalign?

faint pasture
#

Just think from the point of view of the pixel. What should it look like? If you want elevation to override painting then drive the final alpha by Z. If you want painting to always override the auto material then drive the final alpha by all the layer strengths added up.

#

That final alpha bring the blend between the 2 types

#

Or you can make the auto material be a layer. So 1 layer is auto, 2nd is painted roads, 3rd is whatever, etc.

frosty berry
#

Ok, I "think" I have my head around that... This is what I have so I need to find the spot for it.

wary tinsel
#

hey guys I have a doubt and I hope you can help me.
In my game I use a single widget for my pawn where is displayed speed, score and stuff like that.
Now, since I have two different game modes I placed a switchOnString on the event construct of the widget and according to the selected game mode, he will cast to one or the other game mode. Will this save me from loading both game modes or the engine is loading ONLY the game mode that he executes? Because I see that in the reference chain I have both game modes ๐Ÿ˜ฆ I hope my answer is clear!

surreal peak
#

You mean loaded into the memory?

wary tinsel
#

yes

surreal peak
#

Also that's a terrible setup mate

wary tinsel
#

I know dude eheh any suggestion to make this better?

surreal peak
#

Yeah use inheritance a bit more. Make a PlayerController class that spawns a widget based on a Class variable.
Make two child PCs from that and set the Class variable to two different widget.
Then use one PC in one GameMode and the other PC in the other GameMode

#

Or heck, you can even have the Variable in the GameMode, and make children of that

#

You can grab the GameMode Class from the GameState (if multiplayer), and grab the class from teh class default

#

There are multiple ways

#

But you shouldn't switch on String for GameModes

#

Your GameMode should actively or passively control which Widget is spawned

#

That said, I think if you have a cast to your GameMode class, it will be loaded

#

So this would also remove your reference issue

wary tinsel
#

ye I was looking into something better that what I did...but to answer my question is not going to load both game modes until he executes right?

surreal peak
#

Relatively sure as soon as the Widget is loaded it will load the GameMode classes into memory

#

And then all the shit the gameModes reference

#

It's not gonna be an instance of the class of course

#

Since you can only have one GameMode

#

But the class object and all its references are probably gonna be loaded

clever helm
#

cast to player fail in animbp idk why

#

everything seems correct

gentle urchin
#

Screnshot

wary tinsel
#

I am using already one PC for each game mode, the fact is I have some animations for Score, extra score and stuff like that, and they are both different for each game mode. Should I set up these kind of things in the PC or the widget itself?

clever helm
surreal peak
#

There are solutions that are really involved

#

But doubt they are worth it

wary tinsel
#

I thought would have been stupid doing two...but for loading it's the best apparently

surreal peak
#

Well you can make the modular, right

clever helm
# clever helm

i checked which animation bp its using in the rifle character and its the correct one idk what might be the other issues

surreal peak
#

Elements that are the same in both can just be a second widget

#

And then only the things that are different can be different widgets

surreal peak
#

Is what you usually use

clever helm
#

i did

#

same issue

#

could it be an issue from 4.27?

wary tinsel
#

mm then I think I will try with two widgets...because it's easier since I have a lot of animated stuff going on inside

clever helm
#

because i did not find the issue in 4.26

wary tinsel
#

thanks a lot dude!!! really appreciate

surreal peak
#

Please print the display name of the TryGetPawnOwner return

#

And tell me what that is

gentle urchin
#

Print the displayname of get pawn owner

#

Probably some gm class issue or smth

surreal peak
#

Yeah the AnimBP is def not on the class they are casting to :D

tranquil prawn
#

anybody has any idea how to get hold of a physics material on a skeletal mesh on trace hit?
like trace complex on per poly collision on a skeletal mesh?
(without using the dumb physics asset, I want per poly)

clever helm
#

could be

surreal peak
gentle urchin
#

Not the first time ive heard people have issues after upgrading. Never got a clear answer for what resolved the issue but.. id imagine its something like that

tranquil prawn
#

so I want a trace that will do per poly collision without it being enabled all the time

surreal peak
#

Wasn't the PhysMat only part of the Physic Shapes that are attached to the bones?

#

Not sure what you are doing then, sorry

tranquil prawn
#

well it's part of the materials attached to the skeletal mesh

#

I want to just get the material of the area I hit in the skeletal mesh

surreal peak
#

Yeah, those are defined via the PhysicsAsset usually, right?

tranquil prawn
#

yea.. I want it to be per poly :(

surreal peak
#

I have not actually heard about that being a thing in UE4

#

So probably can't help then

tranquil prawn
#

yea I think I'll have to find a workaround... thanks tho

faint pasture
#

@tranquil prawn are the traces all the mesh has to hit?

surreal peak
#

I only know about the PhysAsset and the Shapes that can have PhysMats

#

And they should return fine if hit

tranquil prawn
tranquil prawn
faint pasture
#

Have you tried make them ONLY block that trace channel? That shouldn't have any runtime cost when not tracing.

#

Assuming the collision system is optimized as it should be.

tranquil prawn
faint pasture
#

Is that a constant thing or just for ragdolling at death or whatever

tranquil prawn
#

well always, like when the player walks up to the skeletal mesh

#

I want it to collide with it from the physical asset

#

but ye I dont think that's possible

clever helm
faint pasture
#

Yeah good luck. Sounds like you want both at the same time which is pretty out there.

tranquil prawn
#

yea.. ๐Ÿ˜… Ill try to see if I can get what you suggested to work, if it runs well, and then work around that. thanks

gentle urchin
clever helm
#

it is not showing

surreal peak
#

So TryGetPawnOwner doesn't even print its DisplayName? Screenshot?

#

Cause then it's null, which would only happen if the Owner of the AnimBP (or rather of the SkelMeshComp) is no even a Pawn.

clever helm
surreal peak
#

Can you call "GetOwner"

#

And print from that

#

And don't do the cast

#

Just call the print string

clever helm
#

its says by player characters name

#

my*

surreal peak
#

What's the exact name

clever helm
#

BP_Rifle_Character

surreal peak
#

What's the Parent of the Class

clever helm
#

character

surreal peak
#

Hm, that does indeed not make sense

clever helm
#

wait

#

i am not really sure what it is, i download the pack from the marketplace

#

its an fps pack

surreal peak
#

Open the BP_Rifle_Character

clever helm
#

ok

surreal peak
#

And check the top right corner

#

Parent Class: ...

clever helm
#

character

surreal peak
#

Right

#

Try to use the GetOwner node on your cast

#

I'm not sure atm why it would fail

clever helm
#

usually it happens because i did not set the correct anim bp on my player character

#

but this time everything is perfect and i still have an issue

gentle urchin
#

Try to make a new cast node

clever helm
#

same problem

brazen merlin
# clever helm same problem

im not sure if this will solve the problem, but doing a cast on the update animation event is not necessary, that's performing the cast every frame. This also does not fire at the same time as begin play for bp so it could be failing, though i would expect it to succeed a few frame later. You should use Event Blueprint Begin Play to perform the cast and store the reference in a variable there, I would print string this to double check it succeeds as well. Sorry if this doesn't help solve the problem though.

clever helm
#

i already did that

#

same problem

brazen merlin
#

sorry, catching up on what has already been done

#

this might have been asked, the animbp and player bp were pre-made?

clever helm
#

it was

#

i made a new one for testing

#

and same problem

brazen merlin
#

and the animbp uses the correct skeleton?

clever helm
#

yep

surreal peak
#

It's strange that the name prints but the cast fails

#

Specifically if you use the same GetOwner node

clever helm
#

i guess it might be a bug from 4.27

brazen merlin
#

you merged versions?

clever helm
#

n iop[]

brazen merlin
#

migrated*

#

sorry what?

clever helm
#

no

ashen night
#

i'd try to debug what class gets to the cast node

brazen merlin
#

and my last silly question, the animation bp is hooked up to the character bp? this new one you made?

clever helm
#

forget it i am going to start something fresh

barren flower
#

I have a question about instancing.

Lets say I want to place 30 cubes in a level.

Each cube is a simple blank actor blueprint with a static mesh component.

#

Whats the best way to instance them

#

can I setup a static mesh instance in each blueprint, and reduce the draw calls

#

or do I need some kind of master blueprint that searches for these cube actors, and uses its own instance static mesh component to just kind of, draw cubes at those found locations?

#

Does that make sense?

brazen merlin
barren flower
#

I'll have a little read, thank you sir

#

Yup, im doing it the right way, I was hoping I wasnt ๐Ÿ˜ฆ

#

Thanks @brazen merlin

brittle plinth
#

hey guys, how can I interact with an object but just when I am facing it
so that it's only with the camera visibility

barren flower
#

What does interact mean

brittle plinth
#

so I have an interactble object and If i am close to it I can press E and inspect it

#

but if am facing the other way around I can still press E and inspect

#

SO i just want it to happen when I am facing it

barren flower
#

I'm guessing you are using some kind of box overlap or something then, which is probably the wrong way to do it

#

Use a sphere trace

brittle plinth
#

I have a sphere

barren flower
#

Thats not what I said ๐Ÿ˜› You're missing a word

brittle plinth
#

oh sphere trace, how Can i do that?

barren flower
#

Bam, Matts got you

brittle plinth
#

let me see

barren flower
#

Updated link, this is the one you want

#

the other is an expansion to this one

sharp rapids
#

@brittle plinth @barren flower shouldn't it be a line trace?

barren flower
#

For interaction? I mean it can be, but in that case you have to hit it dead on. Depends how much forgiveness you want

#

im happy if a player is looking pretty close to a switch, they dont have to be pixel perfect

#

so I just use a larger sphere

brazen merlin
#

there is a math solution....

faint pasture
#

So the closest viable interaction target within a cone is what I interact with.

barren flower
#

Theres also a UMG for getting objects under a square, but I cant remember what its called

faint pasture
#

For the facing just check dot product between ThingLocation-CharacterLocation and CharacterForward

barren flower
#

Doesnt matter, I noticed by the question this person was new, and if they dont know what a sphere trace is, im right

#

So we are overthinking it

#

They are just using box collision overlaps for interactable, which is fundamentally a bad idea. A sphere trace is more than enough for what they are doing right now

barren flower
maiden wadi
#

I just multisphere trace. Sort by dotproduct from trace direction. sort by distance, choose first applicable interactable.

faint pasture
#

Hmm I wonder if just sorting by a non-notmalized dot product would also bake in the distance good enough to behave well.

#

So it's like closeness x directness as the selection criteria

#

Wait shit the distance and angle would counteract.

barren flower
#

I mean, multisphere trace, whatever it hits first is the closes object, its already sorted by distance by the nature of a sweeping sphere

faint pasture
#

Depends on if you have a dedicated channel for interacting

barren flower
#

Just throw interfaces at it till something returns a boolean

eager peak
#

hey, ive got an NPC in behaviour trees and want to make variations of this npc with different behavior, when im duplicating it how much do I need to copy over? im under the assumption that i need a fresh behavior tree, ai controller, animbp and npc bp - the tasks don't need to be duplicated right?

faint pasture
#

I use a scene component for interaction, works great as it can store state and also has a position.

faint pasture
#

Just parametrize the BT and swap the personality while keeping the brain and body.

brazen merlin
eager peak
#

thats possible? ooo

#

new to behavior trees so wasn't sure, thanks alot ill look up on that :)

barren flower
#

Yeah, you basically just prune off routes you dont want it to take. So like, cop npcs might have whole routines about arresting you unlock with a single parameter of is cop or something, and crims get that disabled, but they are both using the same brain

#

So they use the same gunfight logic and stuff

brazen merlin
eager peak
#

yeah, currently got npcs that will run up to you and attack with a sword, strafe around you and dodge and want to have variations of some that do or dont do those tasks

barren flower
#

We are going to deep now, captain

tawdry mural
#

it goes 212121212323232231212121232232

#

how to make it alittle more random?

barren flower
#

That is random

tawdry mural
#

i mean

barren flower
#

True randomness sucks if you are looking for a mix

#

Little trick i use

#

Make an array 3 length

#

Go through each and then reset, and mix them up again

#

That way its more like a deck of cards with 3 different cards

#

No repeats, but apparent randomness

tawdry mural
#

nice thnx

barren flower
#

Do yourself a favor and create a standard function for that

#

Because its always possible to get like 4 thousand 1's in a row, right?

#

If anything you do takes off, guarantee its going to happen to somebody

#

Expand the system, have and array of 9

#

123123 and 3 wildcards that really are random

#

shuffle that

#

That way you guarantee the distribution that feels good to human beings, and you also let good and bad luck, true randomness, play its games, but in controlled and limited fashion

#

get that 4 1's in a row streak now and then

brazen merlin
#

could also check if the next random number is the same as the last, and roll again, even if its the same the next time, it modifies the outcome

barren flower
#

Still lets you get 121212121 into eternity

#

never get a 3

brazen merlin
#

yeah, 3 is a small amount for randomness

barren flower
#

No, its just that humans expect to get an even amount of 1's 2's and 3's

#

because brains made of meat suck at math

icy dragon
#

@trim matrix Show your FP character blueprint here. Others might able to narrow down at your gun stuttering issue.

barren flower
#

but thats not at all the case

brazen merlin
barren flower
#

Over a thousand rolls that might pan out, but people will fucking bail long before that in a dice roll game or something

#

Whats this in reference to?

icy dragon
odd ember
brazen merlin
#

because you are spawning the gun at game start, add it as a component instead, parent it to the player mesh and link it to the socket instead of code, i would imagine that's caused the shaking. collision is another consideration

barren flower
#

This looks fine, you are spawning a weapon base whatever that is, and then attaching a weapon to it

#

You also have a flip flop for aim down sights

#

that all seems okay

native willow
barren flower
#

let me look over this second

odd ember
brazen merlin
barren flower
#

That only runs once though, right? You arent destroying this blueprint and recreating it

native willow
brazen merlin
#

how else are they going to get comments? making a flawless video without a single mistake? ๐Ÿ™‚

odd ember
#

great business model

barren flower
#

This is the standard first person template, is this it?

odd ember
#

tutorial part 1: publically available. tutorial part 2: hidden behind paywall

icy dragon
#

Which tutorial?

#

I'm refraining from naming some YouTubers I know that the tutorials are fucking shit.

brazen merlin
fiery swallow
barren flower
#

Guys this isnt a discussion on youtube economics, take it to a different room

fiery swallow
#

Game devs make false claims all the time. I think my favorite one is when they "this ai learns how to play and adapts"

barren flower
#

@trim matrix are these the only two images? the standard fps template and this gun spawn code?

odd ember
#

correlation != causation

#

anyway what is the issue

brazen merlin
odd ember
#

and there is no code that supports this?

#

42 mb vid rip my intenret

brazen merlin
#

id assume parenting the gun under the player mesh fixes this since it childs it rather than attaches, plus it's not necessary to code it when its the same as setting it up in the bp

icy dragon
barren flower
#

Okay, so. How is this attached to you?

odd ember
#

judging from the code I suspect it has nothing to do with the weapon attachment

barren flower
#

This looks like a physics sim glitch

brazen merlin
barren flower
#

What is this weapon base

#

That is being attached to the pawn

odd ember
#

is the weapon still while the character is still?

barren flower
#

with collision?

#

and physics enabled? Guessing

odd ember
#

click that arrow down

barren flower
#

Set this is none

#

does it still happen

icy dragon
#

I would've assumed the player character just going to launched into oblivion in the case of collision overlap.

tawdry mural
odd ember
#

on the right side where it says collision, can you click the arrow down?

native willow
# fiery swallow Make your own random selector that's not actually random. Know one has to know

if you really want a legit rng you would probably need to implement noise based rng yourself (https://www.youtube.com/watch?v=LWFzPP8ZbdU) for fast stateful rng their implementation is enough but they admit that its bad quality in the comment just above the random stream class declaration]

GDC

In this 2017 GDC Math for Game Programmers talk, SMU Guildhall's Squirrel Eiserloh discuss RNGs vs. noise functions, and shows how the latter can replace the former in your math library and provide many other benefits (unordered access, better reseeding, record/playback, network loss tolerance, lock-free parallelization, etc.) while being small...

โ–ถ Play video
icy dragon
#

It's a typical game collision thing, don't too mind about it.

odd ember
#

the one I replied to

barren flower
#

Set it to none

#

and test

#

please

odd ember
#

owner just takes the class it is spawned inside afaik

fiery swallow
barren flower
#

No collision

icy dragon
#

Set the Collision Handling Override to None

#

And give it a try.

odd ember
fiery swallow
#

Kinda like a slot machine, no way in hell is that game random

#

Rigged 1000%

barren flower
#

Ah my mistake, thats a different thing

icy dragon
#

Okay, Always Spawn, Ignore Collision

native willow
barren flower
#

No thats different

icy dragon
#

Didn't have my editor open either

barren flower
#

Hang on, can everyone slow down please

odd ember
#

it spawns already so collision is technically not enough of an issue to not make it spawn

#

which is why I doubt this makes any difference

barren flower
#

@trim matrix Where are you attaching the base blueprint to the first person actor?

odd ember
#

@trim matrixin your weapon, check the collision settings on your weapon's skeletal mesh component

odd ember
fiery swallow
icy dragon
odd ember
#

same

native willow
#

but this statement still makes me smile

/**
 * Implements a thread-safe SRand based RNG.
 *
 * Very bad quality in the lower bits. Don't use the modulus (%) operator.
 */
struct FRandomStream
...
odd ember
#

if you can check the weapon actor's skeletal mesh component and see what the collision settings are, and screenshot them

#

ok but can you actually take a screenshot of your setup lol

#

just collision settings

#

on your weapon actor

#

for your weapon's mesh

fiery swallow
#

Disable physics, set collision to ignore pawn, turn off weld simulated bodies?

barren flower
#

Set this to relative, since its being spawned correctly

odd ember
#

snap to target in this case does the same

#

because you're already spawning it at a socket

barren flower
#

Here in the details panel

#

When you select the meshes

#

for the gun

#

Set this

#

On both your socket, which may not have this section, and the AK

icy dragon
#

One thing worth mentioning is that the weapon is already a skeletal mesh. Usually it's not as stubborn as static mesh collision.

Usually

maiden wadi
#

Sockets don't have collision.

odd ember
#

the socket is just a component with a location, it doesn't have collision

barren flower
#

Under physics, make sure this is disabled

maiden wadi
#

It isn't enabled, or it can't attach.

barren flower
#

on the ak, not the first person template

#

Its set to weld sim bodies

icy dragon
#

I might be wrong, the skeleton icon could mean Static Mesh Component for all I "know".
#blueprint message

barren flower
#

Yeah its a skeletal mesh

icy dragon
#

The collisions usually would be an issue if it's static mesh.

barren flower
#

Just get rid of them and eliminate a variable, its the only thing I can think of in the immediate that would cause random bouncing like that, is a physics object constrained under a collision capusle

#

Otherwise it should simply be attached and be static

odd ember
#

it shouldn't make a difference since weld simulated bodies is on

#

but what do I know

barren flower
#

@trim matrix have you done those things?

maiden wadi
#

It doesn't necessarily need to be a physics object. Even kinematic object can fight another blocking kinematic object for space when updating movements.

barren flower
#

The other thing is that there is clearing a running bobbing animation playing. Thats the next debug if it isnt physics

odd ember
#

(and I never do physics sim)

maiden wadi
#

If memory serves, that only applies to the direct parent component. I remember having issues where some attached things were fighting the capsule when attached to the mesh.

odd ember
#

ah perhaps that could be it

barren flower
odd ember
#

just booting up unreal to take a look at the code

barren flower
#

so it wont collide with the socket, but it will inhabit the capsule space of the first person charicter

timber knoll
#

if it were to be colliding

#

you would get a speed boost

#

or just not move at all

barren flower
#

And I suspect they either solved it, or got scared off from the flurry of pointless, directionless comments

#

Not a single word of that is true

icy dragon
barren flower
#

Its not just that, they literally had nothing to offer, and clearly no experience debugging anything, they were just blurting out totally dumb things

icy dragon
barren flower
#

No you wouldnt

timber knoll
#

well not per se launched, you would be fine when not moving

barren flower
#

The first person character does not have physics enabled

timber knoll
#

it would constantly push against your current movement

barren flower
#

it is able to impart force, but it is not a physics receiver

#

the weapon is forced into local space, it cannot move

odd ember
barren flower
#

the weapon blueprint is summoned and spawned into the local space of the first person character

#

So you have a sub blueprint with a sub blueprint

odd ember
#

I'm not sure what you're trying to say

barren flower
#

which can 100% collide with the fpc

fiery swallow
odd ember
#

or where you have that from the code

maiden wadi
#

It is attached to the mesh.

barren flower
maiden wadi
#

The weapon.

barren flower
#

This mesh?

#

With the massive collision component?

maiden wadi
barren flower
#

Where is that blueprint

odd ember
#

it was linked in the chat

barren flower
#

Work through it

maiden wadi
#

If you'd shut up for three seconds and read instead of blurting out useless shit, you'd know.

icy dragon
#

I was originally going to ask them to post the FP character BP in full, but the speedrun is still going.

barren flower
#

What does this do?

#

You just arent thinking

#

This spawns a socket

#

thats all it does

fiery swallow
barren flower
#

In the first person BP local space

maiden wadi
#

Which then...

timber knoll
#

why would it spawn a socket?

barren flower
#

then you attach TO THE SOCKET a gun

#

which has collision

#

which is inside the FPB

odd ember
#

if you look here there is no socket to spawn

fiery swallow
#

I believe weapon base was weapon parent

barren flower
#

My point is that the weapon bp IS NOT A CHILD OF THE FPC

#

So it does not inherit the collision capsule

#

it can collide with it

odd ember
#

it is once it is attached

barren flower
#

its just spawned there

odd ember
#

hence, weld simulated bodies

barren flower
#

IT DOESNT ATTACH TO THE FPB

#

It attaches to the weapon base blueprint

#

oh my god

icy dragon
#

Jeez, you folks already got the world record speedrun.

maiden wadi
#

The weapon is the weapon base blueprint.

timber knoll
fiery swallow
#

He's getting triggered using all caps kekw

icy dragon
maiden wadi
#

Weapon_Base was a scene root and a skeletal mesh with the AK model.

barren flower
#

Why isnt it being added as a component

icy dragon
#

I'm going to carry the guilt, if you excuse me.

barren flower
#

Why is it being spawned as its own blueprint, and then attached as a component

odd ember
#

you have more flexibility

faint pasture
#

Attach actor TO component.

barren flower
#

You can spawn it as an actor, as a component

odd ember
#

you mean child actor component?

maiden wadi
#

Ew.

odd ember
#

exactly

#

stay away from that garbage

barren flower
#

By class

fiery swallow
#

In my years of developing I never seen that one worryPopcorn

barren flower
odd ember
barren flower
faint pasture
#

Like a procedural building etc

maiden wadi
#

It's a hack that was designed for designers who don't want to bother spawning and keeping track of references.

barren flower
#

lol wat

barren flower
faint pasture
zealous moth
#

I migrated a widget from a same version project to another but it doesn't show in the editor. However it is there in the explorer.... ~_~

odd ember
#

you asked for another way

faint pasture
#

I mean another another way. Not gross typing

native willow
#

๐Ÿ˜’

faint pasture
#

Lol

maiden wadi
#

You cannot spawn actors in BP construction script anymore. I think in 4.25.4 or 4.24 you could do it in a separate function and call that in the construction script, but at least in 4.27.1 they patched that out.

barren flower
#

2nd from the top

maiden wadi
#

You can still call the function with the spawn actor code in 4.27.1, but it won't spawn anything.

zealous moth
#

i see, doesn't show up

icy dragon
maiden wadi
#

It's not even that it's not reliable. It's just bad design.

icy dragon
#

I learned it the hard way.

faint pasture
#

What would be sweet is the Godot approach

odd ember
maiden wadi
#

Imagine coding something as simple as dropping the weapon with a Child Actor Component?

odd ember
#

literally spawning an actor and attaching it is the most correct way of doing this

maiden wadi
#

You have to null the Component's actor, spawn a whole new actor, set up the values correctly, blah blah. All vs just detatching the gun you already have spawned, no state change besides owner and input.

faint pasture
#

Godot has an awesome system. It's just nested scenes all the way down. No split between component and actor.

zealous moth
barren flower
#

Right click the folder and select validate contents?

zealous moth
#

scanned 0

barren flower
#

Is it a uasset?

#

When you ran the migration tool from the other project, did it say it was successful?

#

I know it copied the file you said

zealous moth
#

it is a uasset

#

i tried both migrate, import and copy paste methods

#

odd

barren flower
#

I concur

#

Honestly, restart the editor

zealous moth
#

yup on it

faint pasture
#

@zealous moth are you migrating the widget BP in question or is it just a reference by another asset?

barren flower
#

im down to that, sorry buddy, someone else might need to take a shot if that doesnt work. Ue4 should auto detect it just on the face of it and import it

zealous moth
#

the widget BP itself ๐Ÿ˜‰

#

i downgraded it to a simple set of pictures, no data or code in it

odd ember
#

identical engine versions?

faint pasture
#

It'll migrate into the same place in the folder structure. Check if it exists on disc. That'd be weird if it didn't.

zealous moth
#

it exists

#

i see it

barren flower
faint pasture
#

@zealous moth double check that both uproject files say the same engine version.

zealous moth
#

oh, wow, My version was a smidge behind, nah you're right @odd ember

barren flower
#

Ahh you lead us astray, heathen!

zealous moth
#

nah it was my bad

#

i assumed incorrectly

barren flower
#

You know what they say when you just assume

#

cant spell it without making an ass out of u and me

#

Anyway that gun is 100% self colliding physics I would put money on it

zealous moth
#

gun? oh the child actor thing?

barren flower
#

ye

#

Omg yall need to get on this shit

#

I finally did it

#

these are all instanced

zealous moth
#

splinemeshes?

#

HISM ๐Ÿ˜›

barren flower
#

Yup

#

With different textures

zealous moth
#

I made a video on this ages ago ^_^

#

with free project

#

but grats for figuring it out

barren flower
#

Oh damg, could have just watched taht

#

hahah

#

thanks man

#

Powerful stuff tbh

zealous moth
#

look for pending kill on YT, we stopped doing vids a year ago