#blueprint

1 messages · Page 134 of 1

flint oasis
#

fair enough haha, so for future reference, a parent being unhittable by self and children makes all children within that layer unable to be hit?

#

that reflector seems very useful, I'll have to play around with it

maiden wadi
#

It's useful sometimes to use the self and all children. But rare. I use it on some visual overlays, cause they're not clickable and have no tooltips, and I can't be assed to go through dozens of child widgets to make sure they're all not hit testable, so I just mark the whole thing invisible via the parent. That said you lose ALL hit testability, including tooltips, so it has a very niche use.

maiden wadi
#

If you mean a literal Border widget, then it's just this.

nocturne fossil
#

is there something like this in bp?

craggy flicker
finite hearth
#

what does "bubble up/down" mean with regards to handling events?

maiden wadi
#

Usually to allow the next thing in line to handle it.

finite hearth
#

Specifically for widget functions: OnMouseButtonDown and OnPreviewMouseButtonDown

#

How is line sequence determined?

#

For context: I have a widget and I want to drag that widget if LMB is held, but I want to execute other logic to consume the item if LMB is double-clicked.

RPG inventory system.

I have the drag logic but I can't figure out how to sequence my double-click logic.

maiden wadi
#

When you click on a widget, you generate a stack of widgets under that mouse. First it'll run through them backwards from the top most parent calling Preview functions. If nothing handles it then it'll start running through the normal on mouse down functions from the leaf most child you clicked on.

Bubbling in this manner means to allow it to bubble up to the next widget. So if the one you directly clicked on does not "handle" the event, it will bubble to it's parent, and then repeat until there are no more parents.

finite hearth
#

That's very helpful, thank you.

maiden wadi
#

What are you having trouble with specifically on the double click?

finite hearth
#

Well I put my drag logic in the OnPreviewMouseButtonDown. And then I tried putting the double-click in OnMouseButtonDoubleClick

frosty heron
#

@maiden wadi you are back 🥳

maiden wadi
#

I would maybe start by checking out CommonUI. In my opinion, it's a really necessary extension to UMG that has a really sophisticated button class. One of it's events are for double clicks.

trim matrix
maiden wadi
#

@finite hearthThat said, some basic testing shows it has the same issues. I'm pretty sure I've gotten it to work with the buttons before but I don't remember.

On the other hand, making one yourself out of a non buttoned UserWidget seems pretty stable and easy.

UserWidget itself is mainly the image for hit testability.

craggy flicker
#

in components, can I not have actor references for variables

#

Like can I not have an actor variable reference in a ActorComponent

finite hearth
#

Oh thanks for the examples, I'll give this a play.

maiden wadi
craggy flicker
craggy flicker
#

the component details on my dungeon room actor

#

you can see that CorridorConnector is gone

maiden wadi
#

It's largely because that is a pointer to an instantiated actor. And you're viewing the details panel for your class, which is not an instantiated instance. So the editor is saving your from yourself essentially by not allowing you to set that pointer.

craggy flicker
#

actually

#

i think i can just use an integer instead and look up the room in the array of rooms via the int

maiden wadi
#

Having that pointer there is fine. But it needs to be set at runtime as you're generating the dungeon.

craggy flicker
#

Oh so I would be able to handle the logic on begin play then

#

Gotcha

maiden wadi
#

You can't set it on the class, as the class is essentially a "blueprint". It's an idea, not a fully created instance.

craggy flicker
#

Gotcha, thank you

maiden wadi
#

It's like telling a bridge blueprint to connect to the end of a specific road in the world and then trying to use that bridge in other places hundreds of miles away from the road it's referencing. You'll have a bad day. 😄

visual crag
#

is it bad or good to be using interfaces to change values in an animation blueprint?

maiden wadi
#

Depends on the use case and implementation. It's not inherently good or bad.

#

An interface is just an extension to the class you use it on that allows you to call functions by casting to the interface specifically instead of each and every class it's on. So you can tell an Apple to change colors same as you would a Lion, despite that apple is a much simple class and they have no easy class in common you could put a change color function on.

That said you can attain the same functionality by having a component on both of them that does the same thing, and generically look up the component through AActor's component list.

Whether to cast, use interfaces, or component based design is largely up to the user and how complex the implementation needs to be.

finite hearth
#

Weird. None of my LMB presses appear to be triggering OnMouseButton events.

RMB triggers as expected.

maiden wadi
#

Parent is UserWidget?

finite hearth
#

Correct

maiden wadi
#

Do you have anything besides an image in the widget hierarchy?

finite hearth
#

Oh yes, quite a bit.

maiden wadi
#

The button is likely eating your leftclick.

finite hearth
#

Hungry button

maiden wadi
#

UButton won't handle right click, so that passes through fine.

finite hearth
#

Guessing there might be a way to use the button instead of onmouse events for the widget

trim matrix
finite hearth
#

Yeah, that's from midjourney

maiden wadi
#

Also, for a much more fun time. I definitely recommend compressing the brush into a single material. You can avoid a ton of slate prepass costs. As your button here only needs basically one image brush and the text so far. You can do some really neat stuff in materials too besides that.

finite hearth
#

I'm still learning terms. Is "brush" the "IMG" stuff?

maiden wadi
#

Can make the border, background, display images inside of the borders etc all a single image brush.

#

EG if I put a display icon image there. My material also cuts off the corners.

finite hearth
#

Oh that's fun!

craggy flicker
#

so in my procedural system for creating dungeons, I plan on having pre-designed rooms to maximize level design quality and replayability (by choosing random pre-designed rooms). How should I handle the overlap function for placing rooms?

I considered having four custom vector variables for the room's actors, for each of the four corners, but I'm unsure if I should have like an empty object on each corner or use actual vector variables

maiden wadi
#

You also get easy animation tracks for hover effects and such through the brush used.

craggy flicker
maiden wadi
#

SceneComponents can do that. And you can also make your own component type for better management.

craggy flicker
#

like if it's local to the room's actor origin, then maybe ill just get the world pos + corner vector pos

#

and on top of that, i would have to do this manually since i am pre-designing the rooms

maiden wadi
#

IMO, I'm all about data. I would start by making some form of data sets that have everything you need for generation. The room you'll spawn, it's sizes, attach vectors, attach allowance sizes per attach points, etc. Having that data makes it a lot easier to iterate over and pick through the randomizations. Then your rooms can just be level instances. Or Prefabs if you're using something like Prefabricator.

craggy flicker
#

Yeah that's the part I'm at, what I'm considering is how I would be interacting with the data through the procedural system and that's what I'm questioning about for the corner vectors

#

my last system DungeonSystem-MKIII had a size + origin system

#

but it didn't have pre-designed rooms

maiden wadi
#

IMO if you have the code for it still, it's the same thing mostly. The only difference is that your predesigned rooms have preset sizes, which makes it even easier.

craggy flicker
#

well here's the thing about the preset sizes

#

lol

#

I'd like to get the sizes automatically, because otherwise I would have to somehow count the x and y units in each direction

#

and to overcome that, I would rather just use the vector corners

#

like for example

#

this is a LVL-1-Default actor with the walls, corners, and doors

#

the four circled components are basic cubes I put down for the corners

#

my plan was to extract the location xyz data of each corner actor

#

im unsure if it'll get the world location or the location within the actor tho

#

local location

maiden wadi
#

Are these level instances?

craggy flicker
#

they're actors

#

the dungeon itself is a level

#

relatively small dungeon

#

so

maiden wadi
#

Should be able to get both local to the actor and world space points.

craggy flicker
#

Okay yea that's what i thought

#

i just need to test it instead of procastinate here lmao

#

how should I store these room actors for my dungeon generator blueprint? because I'd like to have an array of room actors and choose one randomly

maiden wadi
#

Every scene component should have both of these. And even if you only had world space, you can still get the relative by transforming it.

craggy flicker
#

i cant just make a new array and set it that way

craggy flicker
craggy flicker
maiden wadi
#

Store it as an array of classes probably.

#

If you have C++ ability, you can write a simple helper to get the CDO, which you could pull data from if you don't want to cook data into like a data asset or datatable. And you can use the CDO to get it's corner points of each class.

craggy flicker
#

hmm I would rather avoid having to use C++ for a prototype, but I plan on using C++ for the game's release though

#

I can't seem to store a blueprint class (room actor) into an array of class references

#

hmm

maiden wadi
#

The class type needs to be of your room actor's base. Or even just AActor, but if you have a base class it would be better to be that.

craggy flicker
#

im dumb

#

forgot to recompile

maiden wadi
#

The CDO function is pretty simple. Should be used a bit with care as it's for the CDO object. Generally only to be used for info gathering in cases where making data sets for it is too tedious.

An example I use this for is that I have dozens of building classes. And I have a construction site actor. The construction site is generic, but it needs to display like what it's constructing. So I get the CDO of it's intended building and copy all of the mesh components into the construction site and replace their materials.

UFUNCTION(BlueprintCallable, meta=(DeterminesOutputType="Class"))
static UObject* GetClassCDO(TSubclassOf<UObject> Class);```
```cpp
UObject* UAuthaerObjectLibrary::GetClassCDO(TSubclassOf<UObject> Class)
{
    return IsValid(Class) ? Class.GetDefaultObject() : nullptr;
}```
craggy flicker
maiden wadi
#

Maybe. I thought about packing the data assets with the info. But it felt redundant at that point. Since there's already an object(CDO), loaded at the time of use already, with all of the info I need.

craggy flicker
#

the game is already set up for C++, since i have ue5.3 from source

#

Trying to get a random point in bounding box. What the heck is the half size lol, like the size of the box/2?

#

if so, why is it a vector

zealous moth
#

@gentle urchin in the end, the following works:

unposses, delay/timer, possess
character movement component -> max walk speed = 0, delay/timer, reset speed
create a boolean in your character, create a BTS to track that boolean, create a service that checks if bool is true and use that to block it

marble tusk
maiden wadi
#

Usually it's named extent, or similar.

craggy flicker
#

gotcha

#

so that would be my dungeon scale * tile size / 2

maiden wadi
#

Worth noting that you'll want a different implementation if you're doing things with seeds. As you can't stream that random point.

craggy flicker
#

limiting my scope

#

even then, if I want to expand it to that later, once this is in place I just change how i select position data

maiden wadi
#

It's useful for testing. Plus you get to generate the same dungeon twice. Useful for reloading the game, unless you're planning on saving all of the generated actors and stuff.

craggy flicker
#

How would you recommend I get a seed and change positions from that? Based on a noise map?

#

Like I said tho im limiting my scope

maiden wadi
#

You can use your tile's placement and a global seed. The global seed should drive everything of course that needs randomization in some way or another. But for like these you can mix that with your grid's location. Seed+GridX+GridY. Use that to make a new randomstream and use that to get your randomized point.

craggy flicker
#

Hmm. I'm gonna have to investigate the flow design of that later, once I get there. For now though I only care about generating random dungeons from pre-designed rooms

#

at the minimal requierments

maiden wadi
#

Plus your halfsize of course

#

Then as long as you're generating for the same location, using the same game seed, you'll get the same random point each time.

craggy flicker
#

it wouldn't effect the actual positioning of the rooms

maiden wadi
#

I may have misunderstood I thought you were randomizing the offset of each grid point?

craggy flicker
#

I thought there was some miscommunication haha

#

i was so confused by how you made the seed

craggy flicker
#

so the dungeon is random

#

but that's not what I want atm

frosty heron
#

deffinitly not using multicast

#

you are adding not setting anyway

#

but I am more worried the fact that you are using multicast

#

for something stateful

#

I suggest to do it in single player first then

#

well then it's a multiplayer issue isn't it?

#

Don't use multicast, have the rotation as a replicated variable

#

change it every tick on Proxies

#

95% of the time you shouldn't be using multicast

#

common pitfall

#

If something needs to be sync, don't use multicast

#

Running on server just mean, running the code on server machine

craggy flicker
frosty heron
#

If the numbers actually replicate

#

then just set Rotation using that number?

#

On tick, on all proxies character

#

I don't know what you tried but don't see why not

#

u saying set Rotation doesn't work?

#

well I don't see any replicated variable

#

or if u change it on tick

maiden wadi
frosty heron
#

so Idon't know what you actually attempt, can;'t help you here

#

no reason to not be able to do set Rotation using that rotation then

#

No idea then

#

It's quiet trivial to replicate an actor rotation

#

Controller rotation is different thing

#

That's the rotation where you are facing

#

u can have the character face a wall but the camera looking at the roof

#

Yea so replicate it away

#

make a variable that dictate the rotation

#

make it replicated

#

well I am assuming you are using pure blueprint for multiplayer anyway

#

that's already a limitation, regardless of how long you used the engine

frosty heron
#

You want to replicate the rotation

#

of the character pawn yea?

#

I don't know how well timeline work in multiplayer setting

#

the server can't update fast enough

#

afaik it;'s almost the case that Client proxies interpolate to given data

#

such as rotation or position

#

@dreamy marsh but I still don't see anything replicated >_>

#

not sure, I am multiplayer beginner. I know Add Movement Input does

#

it's handled in CMC

#

Well gotta ask the expert or dive into Add Controller code.
Though if it's replicated

#

then all u have to do is do it locally? no need for RPC of any kind

#

well im pretty sure actor rotation is not replicated

#

You mean the control rotation? because that's not actor rotation

#

yea u do need to do it your self

#

so

#

Player 1 -> Rotate Locally -> Send Server RPC with the rotation

Server replicate the Rotation

All other client -> Interpolate to the rotation to Rotation given by server

#

i mean for anything movement, you need prediction

#

if u are telling the server to rotate then rotate when u get the data back from the server, even a slight ping will make the game unplayable with lots of jitter

#

can u show this

craggy flicker
frosty heron
#

This doesn't rotate the actor at all?

#

and u check the value of Rotate Rate?

#

well it gotta be 0 then?

#

I don't see why add actor world rotation won't rotate if the value is not 0

#

@dreamy marsh so nobody rotate, not the server, not the client despite the rotate rate not 0 and it's being called?

#

and you send Server RPC from the client?

#

Im stumped if the variable does

#

@dreamy marsh I would add print string here then take a short video

#

if all in order, then I have no more clue

cedar remnant
#

Hi all. Was wondering if there was a more efficient way to step down from a general actor into a specific class other than casting.

#

Trying to scale my interaction system a bit, and running into an issue where I have many different object types

frosty heron
#

casting is unavoidable, cast to the base class when possible

#

if the object types share the same base class, then cast to that base class

#

but if they are derived from different class,
then you can use interface

cedar remnant
#

Is it possible to populate an array with unlike object types?

#

I mean I guess I'm already doing that

frosty heron
#

depend on the type

cedar remnant
#

yeah

frosty heron
#

anything u spawn to the world is an actor

#

so u can have an array of actor

cedar remnant
#

Yeah that's what I have it's just hard to discern information once the array is populated

frosty heron
#

depend on what you want to do

#

it's quiet simple tho

#

if you are trying to communicate with different classes, use interface

#

if you are trying to communicate with objects that share the base class, use that base class

#

Eg in your base class , have a function called Interact.

cedar remnant
#

Less communicate, more execute different code based on type

frosty heron
#

Then when u loop thru your array, just cast to the base class and call interact

#

The interact can be handled differently in the child classes with override

cedar remnant
#

Like if I pull an object from the array I want to determine the type -> then perform additional special evaluation per type

frosty heron
#

That evaluation should be handled in the class it self

#

Character, doors, Lamps

#

all interactable

#

if you use interface, then you can implement the function for each of them

#

and when u loop thru the array u just need to call that one function

cedar remnant
#

Yeah I do have an interface. Ok yeah makes sense.

#

Thank you

frosty heron
#

that's for objects with different classes

#

if u want to communicate with classes that is derived from the same base class

#

just make the function in the base class, and override them in child classes

#

your Code for the array shouldnt be a series of If statement or cast one after another

#

That's what I did when I first start and it's a nightmare

cedar remnant
frosty heron
#

if else, if else, if else, if else

#

or cast, if failed, cast if failed, cast if failed

#

shouldn't ever look like that imo

cedar remnant
#

No totally I will definitely try to leverage the interface to evaluate that for me, thank you

cedar remnant
frosty heron
#

@dreamy marsh glad u figured it out, but yea afaik most of the movement stuff r interpolated in the client machine, simply because server won't be able to send data to client fast enough.

gentle urchin
viscid reef
gentle urchin
main lake
#

Why does the print "HELLOOOOO" in my GM_Werewolf in my OnSwapPlayerControllers event (override) not print ? When I go from my lobby level (having the GM_Lobby gamemode inherited from GM_Core) to the Mansion level (having the GM_Werewolf gamemode inherited from GM_Core) using "seamless travel".

The GM_Werewolf : BeginPlay print is being called without any issue and GM_Core : BeginPlay is being called as I use Parent:BeginPlay node so that's all good but somehow the OnSwapPlayerControllers causes an issue because it's not being called for some weird reason.

flat raft
#

workflows for dealing with GameUserSettings (GET/SET)? There are so many settings, whats the best way to avoid a spaghetti of nodes ?

craggy flicker
surreal peak
#

Lyra has this all somewhat automated with the settings UI building up from just some assets settings

#

But that requires c++

flat raft
#

i looked at the lyra stuff. It's just as ... busy

#

i wanted there to be a way to iterate through the settings in game user settings and set/get attributes using the IsDirty() .

#

but there doesn't seem to be a iterate

#

but anyway. Messy is fine lol

surreal peak
#

You can make your own child class of it and figure something out but still c++

craggy flicker
#

I can't tell if my logic here is correct for spawning new rooms for a dungeon generator

#

this is my overlap logic

mighty cipher
#

hey folks! Is there a way to create a copy of an existing object in a blueprint?

#

I think this might make sense to implement in c++ actually

frosty heron
#

Prob need to be more specific

mighty cipher
#

I'm working on an inventory system. I need this for the use case where I'm transferring a countable item from a container to the inventory and I want to split the item and transfer part of the items only. For example I have 5 health potions into the chest, I want to take only 2 and put them into my backpack.

#

countable aka stackable

frosty heron
#

That's as simple as changing the quantity value

mighty cipher
#

right but I'm actually passing an object to the add item function of the backpack

frosty heron
#

What object

mighty cipher
#

and I don't want to reference the address of hte item in the chest

#

the item object

frosty heron
#

You can construct new object if you like

#

The same way u spawn previous one

mighty cipher
#

That has its own problems I tried that - they're UObjects implementing an interface and I need to copy all the properties. Which is what I'll have to do I think.

#

thanks man 🙂

frosty heron
#

You can pass in any properties u like but you have to do that manually

#

Even in cpp imo

mighty cipher
#

yeah I'll just loop over them or see if there's a cpp way to do it easier

frosty heron
#

In cpp you can do a copy constructor but process more or less the same

mighty cipher
#
/**
 * Convenience template for duplicating an object
 *
 * @param SourceObject the object being copied
 * @param Outer the outer to use for the object
 * @param Name the optional name of the object
 *
 * @return the copied object or null if it failed for some reason
 */
template< class T >
T* DuplicateObject(T const* SourceObject,UObject* Outer, const FName Name = NAME_None)
{
    return static_cast<T*>(DuplicateObject_Internal(T::StaticClass(), SourceObject, Outer, Name));
}
#

here it is

frosty heron
#

Hmm never used them

#

All the best

mighty cipher
#

thanks again, have a good one!

abstract pine
#

hi, what happened to float / float node in UE 5 ? I couldn't find it . What is the replacement in this case ?

abstract pine
#

it work, thank you

abstract pine
surreal peak
#

To be honest, I would use int for the counter too. But this seems to drive a value from 0 to 1 in the end, so you gotta convert back to float for at least the division

marble yew
#

is there way to undo delete of blueprint?

primal hare
#

For a Sidescroller, how to make the player drops down the hole when a key is pressed, while standing over it?

#

The player should then be able to jump out of the hole and back to the ground.

versed sun
#

basics would be Linetrace down to floor, and disable its collision
Add checks for:
Is player not jumping?
Is floor able to be moved thru ?

primal hare
#

wait... thank you for your answer

#

but I should have been clearer I'm complete noob at BP

#

I'm just modifying TP BP

versed sun
#

sounds like a good thing to learn on

primal hare
#

slowly for my needs

versed sun
#

i would start learning about collision channels

primal hare
#

yes it's always is but so are a lot things, just limiting things for now.. haha

#

rabbit holes are danegrous for me

sick sky
#

for some reasons my linetraces hits a box component, but the response for line trace visibility is ignore

any ideas ?

merry lotus
#

Hi, does anyone have any experience with the new Learning Agents by Unreal, I have already done the drive demo but there is nothing else online, and I still don't really get it
any help?

sand yacht
#

Did they update macros in 5.3? can't seem to set a local bool inside of a macro anymore

versed sun
#

@sand yacht

sand yacht
#

Ah thanks!

spiral ridge
#

Hello!
I аm trying to understand the interfaces.
How can I send result through the Interface, from one BP to another?
In my case I have not contacts between the BPs and then cant select the target in node. I overlap coins colider by the hero and try to send result to door for opening.

versed sun
#

the target is Other Actor

spiral ridge
#

But It's have yellow pin

versed sun
#

that's to let you know it's Interface

#

it plugs in , right ?

spiral ridge
#

No

#

Blue connecting only to blue

versed sun
#

which thing has the interface ? this BP or the actor you are overlaping ?

#

can you pull off Other Actor , and type Coin Score Transfer ?

#

it should give you a different node

#

should look like this , but with your Coin Score Transfer (message)

lofty rapids
#

i saw something about bpi the other day but i can't remember...
it's a setting or something ?

frosty heron
spiral ridge
#

@versed sun @lofty rapids @frosty heron
Thanks a lot! Message node can be received only if I grab it from blue pin, but not available from search result by RMB on the field.

frosty heron
#

u can rmb on the field

#

just untick context maybe

spiral ridge
#

But this still does not work because I want to send the result not for the actor who overlapped the collider(my hero) but for BP_Door

lofty rapids
#

well then other actor won't cut it, other actor is what overlapped

lofty rapids
lofty rapids
#

what exactly are you trying to make happen, when the player overlapped the collision box, something triggers ?

spiral ridge
lofty rapids
#

so first thing you want to do is make sure it's the player overlapping

#

most likely with a cast of other actor

#

cast other actor to your player bp

#

so you know the one overlapping is the player itself

#

are you going to open doors using this code, or this is a one off ?

spiral ridge
#

I heard that the interface its the better alternative than the cast

jolly hedge
#

can someone explain the concept of relative transformation?

lofty rapids
#

idk if you can do that with an interface, i don't think so

lofty rapids
#

if you have multiple doors that open depending on something then your missing a bunch of logic

#

if you just want to open a single door, on overlap it's not as bad

#

but it will probably for now look like a cast to the player, get actor of class for the door, then call the interface function on it

#

not sure how you can get around using get actor of class here

frosty heron
#

If a character mesh is the parent and weapon is the child of the character mesh

#

50,0,0 relative transform is 50 units , 0 units , 0 units from the character mesh

#

so if character mesh is located at 200, 100, 50, the position of the child is 250 ,100, 50

zealous moth
#

@gentle urchin aborting task will simply make the ai repeat it. So you need a way to make it stop AND not repeat it

lofty rapids
jolly hedge
# frosty heron relative to parent

see thats what im kinda confused about because i want to create a rotating pillar, where this pillar rotates in the x axis as displayed in the picture

#

and this is the BP:

#

now i want it to just rotate 90 degrees based on its parents position and how it looks in the Blueprint, but when i put it into the level, it does a weird as rotation

frosty heron
#

u are changing the rotation every update

#

so u are doing it wrong already

versed sun
#

Define your Lerps A and B before the timeline

frosty heron
#

cache the current rotation before the timeline for A target

jolly hedge
#

nvm

#

im a dumbass

#

i cached location instead of rotation

versed sun
#

you want Lerp between where it WAS and where you need it
you have Lerp between where it IS and +90 where it IS

oak fable
#

hello there
so I'm having a issue here
im trying to use a point on my gun for where to shoot the bullets i used to have it with the player camera and that worked fine but that wasn't accurate
and as you can see in the video when i set it up to shot from that point on the gun it would shot to the ground
any ideas why is that behavior ?

versed sun
#

instead of Set Actor Rotation , use Set Rel Rotation

#

@jolly hedge

spiral ridge
jolly hedge
# versed sun

i saw what you said, apparenly my only problem was saving rotation. i was saving location instead of saving rotation. so it works now. but how do i do it if i want something to constantly rotate all game?

#

do i just plug it into tick?

lofty rapids
#

you'll get a hit and increase coins if anything overlaps

#

not just the player

versed sun
jolly hedge
versed sun
jolly hedge
lofty rapids
frosty heron
#

the actual door

#

not random door in the world

lofty rapids
#

i was asking if they had multiple doors, but i'm not sure if they do

#

if they only have one then it would be fine, but with multiple you would have to some logic to figure out what one

#

still get actors of class, find the right one ?

#

or you can hard code it somehow ?

frosty heron
#

it's safe to assumed that there are multiple doors in a game and EVEN if there is only one door in the game, get actor of class should be avoided in this context

#

u can pass the actual door, why do you want to potentialy use get actor of class

lofty rapids
#

grab the door from the outliner or something ?

#

wdym "pass the door" ?

spiral ridge
#

I have only one door

#

Playlogic
On the scene I have player(BP_Hero), 3 coins (BP_Coin with coliders), door (BP_Door) and interface BPI_Score.
BP_Coin and BP_Door linked by interface (BPI_Score).
When the player(BP_Hero) collect the coin - overlapped the colider box(BP_Coin). BP_Coin thro the interface BPI_Score send the amount to BP_Door. When all the coins collected, the door will opening.

#

It's all work at now. Thanks a lot!

frosty heron
#

obviously for overlap you can get the other actor

#

cast that to your door and do the interface

lofty rapids
#

if the overlapping actor was the door ya

#

but it's not in this case, i think it's the player

#

but probably best bet just open the door when you overlap and have enough coins

#

would probably be much simpler

#

i know you want to avoid get actor of class usually because it's expensive, but i've found times where it's almost necessary

frosty heron
#

because it's terrible code for this context

lofty rapids
#

personally i would use get actors of class on beginplay, and loop through the array checking if it's the right door

lofty rapids
versed sun
#

have the door tell another actor that it exists

frosty heron
#

assuming player interact with the door

lofty rapids
#

the interaction was on a collision box on the coin

#

how would otherwise get the door ?

frosty heron
#

get actor of class is used for the wrong reason by people who just start blueprint a lot

#

this is one of the case of misusing it

#

anyway my game started

lofty rapids
#

well i don't see another way to do it

frosty heron
#

many ways

lofty rapids
#

i would be open to any way

frosty heron
#

many ways to get a ref

#

use the one that make the most sense

#

in this case, when the overlap happend

lofty rapids
#

well usually i would agree with you because you know what your talking about

#

but i'm really not understanding what your saying is a better way

#

like i said, i'm open to any way to do it as i'm learning and would like to avoid it myself

crimson prawn
#

hello is it possible to detect keyboard type with BP? Like QWERTY/AZERTY

jolly hedge
#

@versed sun i saw another easy method to do this instead of adding all the BP. by just adding a Rotation movement component. However this, rotates the whole BP instead of a specific static mesh. do you know how to only rotate a specific staticmesh using the Rotation Movement Component?

versed sun
#

you can have the game instance keep track of doors
Each door registers with the GI
when you overlap coin , get the GI and do whatever with doors

marble yew
#

Is there way to autocompile blueprint once i change something?
I have blueprint that generate preview for noise generator once i press compile.

Or at least is there hotkey to compile button?

spiral ridge
frosty heron
dawn gazelle
# lofty rapids but i'm really not understanding what your saying is a better way

Get Actor of Class can be an extremely easy way of getting an actor, but it's not a great way of doing it, nor is it expandable.
Exposing the variable in some way on the actor and setting the value when placed in the scene makes more sense as you can now be sure which particular actor it is that you want to work with and can make the coin actor reusable for any number of doors in the level, not just one particular door (namely the first one placed).

frosty heron
#

it's used to communicate between different classes

frosty heron
#

the author is clueless and repeat the myth

lofty rapids
frosty heron
#

@spiral ridge don't use interface to replace cast, that do be a mistake

marble yew
lofty rapids
#

i'm just thinking either way you need to "get" the door somehow

dawn gazelle
# lofty rapids i c, so a variable on the player that is the door ?

I wouldn't put it on the player, you'd put it on the thing that cares about the other actor. In this case, the coin seems to want to interact with the door, so you'd create a "Door" variable on the coin, hit expose on spawn/instance editable, then when you have the coin selected in the level, you can specify a door in the level that you want that coin to interact with. The code would need to be changed from using a "Get Actor of Class" to just use the "Door" variable.

lofty rapids
#

makes sense

#

but you still need to get the door ? or you just drag it from outliner ?

dawn gazelle
#

No, you'd be specifying the door in the editor itself.

lofty rapids
#

hmm

#

interesting

dawn gazelle
lofty rapids
#

i c

dawn gazelle
#

So now, I could have hundreds of coins and doors, and each coin can individually interact with a door 😄

lofty rapids
#

i wouldn't want to add coins to each door

#

but thats not a problem of mine, i was just wondering lol

versed sun
#

have something that Manages coins and doors

dawn gazelle
#

Yeah i wouldn't necessarily want to either.

lofty rapids
#

i would do it differently, but when helping i usually just work with what they got, i don't know much about best approach just yet

dawn gazelle
#

But it would depend on the game. If it was a 1:1 kinda thing and you only had to do it once or twice a level, no biggie.

lofty rapids
#

personally i would just get all actors on begin play, promote to variable, have some variable on the door for the amount that opens it, and have a coinupdate function

dawn gazelle
#

Light switches changing a whole bunch of lights on and off? Same principle, but you'd probably want the switch to reference an actor that controls a whole bunch of lights without you having to specify exactly which lights

lofty rapids
dawn gazelle
#

And in certain cases you may only want one of the specific doors to open.

lofty rapids
#

loop through and check the variable against coin amount

#

so door bp has a variable, CoinsToOpen

#

this way you can just add doors np

#

and put in the amount that opens it

#

your good to go

marble yew
#

is thhere way to "slide" these values in blueprint ?

gentle urchin
#

Only in details panel

#

As a variable

marble yew
#

is there no other way? i have too many of parameters in noise generator nodes

gentle urchin
#

Dont hardcode them ^^

marble yew
#

i have to, there are too many of them and they often repeat

gentle urchin
#

Even worse

lofty rapids
#

thats usually when you would use a variable

grizzled beacon
#

Guys, what is the way to prevent camera looking into the character? I've tried attaching to the camera a box collision but this way doesn't work.

lofty rapids
#

is this first person ? and you don't want to see the character ?

grizzled beacon
#

nope

#

3rd person

#

when I move down the mouse it goes to the floor and the spring arm length decreases until reaching the character and looking inside of it

lofty rapids
grizzled beacon
#

how?

lofty rapids
marble yew
#

@gentle urchin @lofty rapids it would not be possible to manage in my use case that many variables with rapid changes

gentle urchin
#

Its the perfect usecase for variables

grizzled beacon
#

mmmh

gentle urchin
#

But alright, you do you

#

Im not gonna make you

lofty rapids
#

i mean maybe just some for repeated ones, so you can adjust one and not have to adjust the other

gentle urchin
lofty rapids
#

maybe there is a better way

#

but that would probably work

#

just have to adjust the numbers i didn't test it just threw numbers in there

gentle urchin
#

Varibleees

#

😆

grizzled beacon
#

Since it manages like this mouse input

lofty rapids
#

your target arm length controls the spring arm

#

so if you have a spring arm it should do the trick

tawdry star
#

Hello i have a problem with my Blueprint here. I want to make this code in BP. But the DOT Product just returns huge numbers and in the wrong direction. I'm pretty new to UE5 so any help is welcome. It's from this tutorial, for reference: https://www.youtube.com/watch?v=CdPYlj5uZeI&list=PLVSvmZ3rmZ5y1MJTuVqa2UdEazRRI7T8h&index=16&ab_channel=ToyfulGames (Force#2)

A detailed look at how we made our custom raycast-based car physics in Unity for our game Very Very Valet - available for Nintendo Switch, PS5, and Steam.
BUY NOW!! https://toyful.games/vvv-buy

~ More from Toyful Games ~

▶ Play video
frozen cairn
#

Hello smart Unreal people )
Tell me where is it correct to store data like Inventory or BagPack? In GameState or in Level?

frosty heron
#

why in level

#

it really depends on your game design

#

for example if you want the inventory to exist outside the character, then PlayerState / Controller is fine

#

So when your character dies and destroyed, it's inventory can still be accessed

frozen cairn
#

Yes inventory should be accessible not directly from character, I think Inventory should be accessible from a highier level of abstraction

tawdry star
tawdry star
#

yes

trim matrix
#

unity != ue

frosty heron
#

well it don't mean things can;'t be replicated

tawdry star
#

i mean te c code is from unity but my project is in ue

lofty rapids
#

i just don't know what those functions actually do so i wouldn't have the slightest

#

atleast you got comments

#

i never used unity and i don't about if theres even 1:1

tawdry star
#

yea so the logic works. the TireWorldVel and the SteeringDir work themselves. But when is use the DOT product then it breaks.

grizzled beacon
#

no, no way to make the camera work as intended.

frosty heron
#

Why did u add Right vector with a world location? @inland berry

trim matrix
grizzled beacon
#

Then an advice would be helpful

frosty heron
#

@grizzled beacon what is your spring arm values?

#

my cam don't really collide with my character

tawdry star
grizzled beacon
#

@frosty heron these are the spring arm values

frosty heron
tawdry star
frosty heron
#

in that C# file

tawdry star
frosty heron
#

@tawdry star can't u just do this then? but the target is your tier mesh

#

instead adding

#

I mean, I just don't see add in the equation you showed

wise ravine
#

Hey I wrote these notes after watching a video on yt, is everything accurate?

frosty heron
wise ravine
frosty heron
#

it's a harmful myth that is prepepuated by youtubuers

tawdry star
frosty heron
#

Because they serve different purpose

trim matrix
frosty heron
#

Cast when you want to communicate between classes that derived from the same base class
use interface when you want to communicate between different class that doesn't share the same base class

#

Using interface to replace is a mistake, you will end up in debugging nightmare

#

Casting is unavoidable, when possible, cast to the base class.
It's just one of the Bp limitation

#

if you want to optimize, then use soft references to load the heavy stuff like textures, material, etc

wise ravine
#

hmm

#

Is there something I can watch/read that goes into further depth about this?

frosty heron
#

not sure what else to read

#

you can ask #cpp guys for clarification

#

a lot of them work in the field

wise ravine
frosty heron
trim matrix
frosty heron
#

U are right with the hard reference

#

but using interface to replace casting is not a solution

#

casting to C++ class is free, that's why always make the base class in cpp

wise ravine
frosty heron
#

you use it to communicate to classes that doesn;'t share the same base class

#

minor clipping but im gonna do transparent material later anyway

frosty heron
grizzled beacon
#

Even if I put a collision box, it doesn't even print the string

frosty heron
grizzled beacon
#

it simply doesn't care ..

trim matrix
grizzled beacon
#

stupid engine, I had to choose Unity one year ago, damn.

frosty heron
#

i placed mine on the head

dark drum
# wise ravine Hey I wrote these notes after watching a video on yt, is everything accurate?

As Cold said, the part about casting creating a hard ref is correct. Everything else is, especially about replacing casting with interfaces is incorrect.

The actual solution is to use good hierarchy where base classes are lightweight and don't themselves reference heavy/large assets. You would then create children of the base class.

In most cases, when you cast you would then be casting to the base classes.

As an example, look at the character class. It has a skeletal mesh component inside but it doesn't actually reference an asset. This would instead be done by the child such as the third person character.

grizzled beacon
wise ravine
grizzled beacon
#

3rd person template

tawdry star
frosty heron
grizzled beacon
frosty heron
#

because a door is not a player character or an NPC

#

but all of them are interactable

grizzled beacon
#

if I move down the mouse, the camera slides on the floor going through the character

frosty heron
#

it is what interface is for, that's not considered replacing casting tho

#

u cast when u have to cast

#

u use interface when u have to use interface

trim matrix
#

and you cast when you don't know

wise ravine
#

so I wasn't sure if it was considered 'replacing' casting

frosty heron
#

you are showing two different examples tho, I am not sure what you want to do here

wise ravine
dark drum
frosty heron
wise ravine
grizzled beacon
frosty heron
frosty heron
#

or just call interact right away

#

then do the door opening in door bp

grizzled beacon
dark drum
trim matrix
frosty heron
#

u dont really want to collide with your own character

#

but u can if u want

#

check your collision settings

#

my advice is to just detect overlap and switch to transparent material when the character mesh collide with the camera

#

not dlding anything

trim matrix
grizzled beacon
#

wait

#

let me convert to webm

wise ravine
grizzled beacon
#

It won't work.

#

No matter what. No matter how.

primal hare
#

I want to press E to hide a mesh BUT only when player is in the trigger box. I have them working separately but how to make them work only when both conditions are met?

frosty heron
#

try changing it to 1

#

and even then, it wont be perfect

dark drum
# wise ravine yeah I have to learn all this hierarchy stuff

If it helps, this is the size map of a quest manager component. As you can see, the bulk of the size is down to the UI side of things. (various quest related prompts) This means anything else referencing the quest manager component would also force these to load. Generally this wouldn't be an issue as they'd probably need to be loaded anyway.

However, (what I'll end up doing at some point) what you can do is create a child of the quest manager and move all the UI stuff to the child. This means anything that references the quest manager won't know anything about the UI stuff unless they specifically cast to it. In the parent, you would have blank functions that get called when they need to and allow the child to override them to handle the actual UI side.

frosty heron
#

cuz ur feet is touching the ground and the cam is sliding thru the floor

#

I plan to just set the character material to be transparent when colliding with the camera

trim matrix
#

that was hard.

wise ravine
frosty heron
grizzled beacon
frosty heron
#

hmm doesn;'t do anything on my end X_X

#

but if it work for u then that's good

lofty rapids
primal hare
trim matrix
#

it might take a while to understand, there's a lot of stuff

primal hare
#

there's the bool AND operator - they don't take the white triangle inputs

wise ravine
#

I'm guessing you would do that

trim matrix
wise ravine
#

and then input your 2 variables in the bool AND operator

primal hare
#

the triangle you see after true false in your image

#

lol

wise ravine
lofty rapids
primal hare
#

yes ..haha ok got it

trim matrix
#

well, wtv you put on the true execution pin is going to run if it's true and false otherwise

lofty rapids
#

so if the condition is true it will flow out true, false it will go out false

#

and basically says if both are true

dark drum
primal hare
#

but how do I input pressing of E and plaer hitting the trigger box

#

feed them into AND

wise ravine
lofty rapids
#

then when you press e just check the boolean

#

no need for and really

trim matrix
primal hare
#

yes using the enhanced one

dark drum
# wise ravine Cool. Is that much optimization really noticeable in the long run?

As you're project gets bigger yea. It also makes it easier to make different versions while you prototype. Now I have 'Quest Manager' & a child 'Quest Manager Default UI'. I can create another child of the main one and handle the UI side differently if I wanted without it affecting the main class and everything that references it.

wise ravine
#

Yeah making a child BP sounds like a very simple yet useful method to use

#

I'm surprised I'm only recently hearing about it

trim matrix
#

but for a door, I don't think it should be a child of the character

frosty heron
#

would help you to make your game to learn OOP first imo

maiden wadi
zinc folio
#

Hey, excuse me, I am running into an issue that I honestly am not sure if it's blueprint based or not but im guessing it is and it's connected to the grab component in a VR space. I have an actor parent and some child actors of that parent which is all good since i want to be able to grab any children of that parent, my question is, is there a way to grab the whole actor instead of the mesh? Because whenever i attach the grab component to my mesh the code i have that is supposed to trigger an on overlap event and such dont trigger and grabbing the object is essentially useless at that point.

wise ravine
frosty heron
#

@grizzled beacon btw that works, never know they have this handy variable we can set. It probably just clamp the max pitch like other suggested

wise ravine
simple field
#

Idk where to put this, but any idea why when I package my game, main menu button doesn't start the game but instead it relaunches menu for some reason. In editor it works fine, when I press play it opens the gameplay level.

frosty heron
simple field
#

err i followed a packaging tutorial, how do i do that

frosty heron
#

project settings -> Map

#

the reason your game relaunch the menu is that it can't find the map to open

simple field
#

Do u mean this?

#

cos i have set this up

frosty heron
#

now tell me where u add the map u are trying to open

#

actually it's on ProjectSetting->Packaging

#

List of maps to include in a packaged build

trim matrix
#

Btw, is there a way to release my game in HTML5 ?

frosty heron
#

dont bother imo, the web support by epic is deprecated

#

it doesn't even exist in UE5

primal hare
#

this should be fairly simple right? a node to merge them?

lofty rapids
frosty heron
#

name your variable proper too

#

wat the heck is 1

lofty rapids
primal hare
#

but that is what is needed, to satisfy both condition

trim matrix
primal hare
#

this is just a testing thing

trim matrix
frosty heron
#

never cross pinning

#

🍝

#

and ingredient for bugs

primal hare
#

ok

lofty rapids
#

i would go with the isvalid approach, but either way you just set a variable

simple field
lofty rapids
#

out of true set the value of a boolean true on begin, false on end

trim matrix
lofty rapids
#

well i would just set it on begin overlap, invalidate it on end overlap

#

the do Press E -> IsValid(playerisincollision)

primal hare
#

this should be fairly common used thing? Like open the door when near it

#

can't find a tutorial

trim matrix
#

💡 Download The FREE GameDev Tools Here: 👉 https://buvesa.com/free
✔️ Free GameDev E-book
✔️ Free Game Design Document
✔️ Free Platformer Course (UE5)

▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬

🏆 Join My Premium UE5 Course (The Unreal Vault) 🏆
👉 Link: https://buvesa.com/course
🗸 Full GameDev proces
🗸 Level design
🗸 Boss Fights

▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬

📱 ...

▶ Play video
#

took me 5 sec

primal hare
#

I have a whole list of results

#

this isn't there

#

thanks!

wise ravine
#

which is great

molten knoll
#

When I click on the red area, or anything thats not a button in UI, my Click event is fired like there is no UI at all and it just goes through, does someone know, why that is?

trim matrix
#

just search:

door system blueprint ue5

nothing that hard lol

frosty heron
#

great for starting point but it has no place for proper development

#

u will need a proper interaction system

wise ravine
#

lol

frosty heron
#

you do want to interact with more than just the door

trim matrix
#

normally, you'd use multiple classes I guess

frosty heron
#

Interface / component is candidate for interaction system

frosty heron
#

u will find out what element you are interacting with

frosty heron
molten knoll
frosty heron
#

I could be wrong but I am pretty sure that's the case

molten knoll
frosty heron
#

can u give a clearer picture as what you are trying to do if possible

#

I can't picture it, sorry

molten knoll
lofty rapids
#

but seeing if you can fix it widget probably best bet

frosty heron
#

a video might help, I prob won't have clue, but u can post that in #umg where the veterans are

molten knoll
#

ah sorry i missed the umg channel, thanks showing

frosty heron
#

no sweat, many channels are hidden by default

maiden wadi
molten knoll
maiden wadi
#

UserWidget has an OnMouseButtonDown or similar named event. You need to have a hit testable child like an image in the userwidget and override that and return handled.

zinc folio
#

Excuse me, could i get some help with this problem im facing please?
Short version of the problem:
Actor -> has working overlap events (grid snapping, scale manipulation from said grid snapping etc.)
Actor -> has an attached grab component to it -> can grab it -> overlap events no longer work although I'm not even interacting (grabbing, throwing etc.) with the actor at all

#

Without that grab component it works beautifully, but I have to add it somehow, I'm using the vr template thing that UE5 offers

molten knoll
maiden wadi
zinc folio
zinc folio
maiden wadi
#

What does this function on the left do? Is that C++ or can you open it?

zinc folio
#

wait i searched for overlap event

#

and this came up

#

i dont know if it's relevant much

zinc folio
#

i think

#

you're talking about set primitive comp physics right?

#

this is what's inside it

violet spoke
#

can I in unreal mark output as array or something usefull or do I have to write parser from string? 😥 , its wild card, but if I connect it somewhere then it works, but I need array of vectors

maiden wadi
zinc folio
#

this is inside it

#

i dont think this macro is related either

#

cause it doesnt really mention overlaps

lofty rapids
floral stump
#

can a border have pressed/hover effects like buttons do?

maiden wadi
# zinc folio

😦 Nothing here looks like it would stop overlaps either.

zinc folio
#

the only overlapping i saw is in that one screenshot i sent

#

where it sets a collision profile

maiden wadi
#

That would globally affect it though, not only when being picked up.

zinc folio
#

hmmm

#

ill search for the word overlap in the VRPawn to see if anything comes up

#

So in here there's one thing that mentions overlapping and it's this

#

sry for the multi screenshot it's just one long string of blueprints

#

only here it mentions an initial overlap

#

so it may not be that either

floral stump
#

I worked around with it like so, but still have a question if borders supports hover in code, why they don't simply have the variables exposed to the property editor ?

maiden wadi
dark drum
#

Does anyone have any idea how to find this asset that's supposedly in the level?

lunar sleet
#

Search for it in outliner?

dark drum
lunar sleet
#

Is that a pose or some character?

#

That from the ref viewer ?

dark drum
maiden wadi
#

@violet spokeFor full clarity, I did this. The python script just generates a random set of vectors and sets output.

To connect it I made a for each loop that had the vector array and just dragged that to the grey output pin on the python node.

import unreal
import random

def random_vector(min_x, max_x, min_y, max_y, min_z, max_z):
    x = random.uniform(min_x, max_x)
    y = random.uniform(min_y, max_y)
    z = random.uniform(min_z, max_z)
    return unreal.Vector(x, y, z)

def generate_random_vectors_array(count, min_x, max_x, min_y, max_y, min_z, max_z):
    random_vectors = []
    for _ in range(count):
        vec = random_vector(min_x, max_x, min_y, max_y, min_z, max_z)
        random_vectors.append(vec)
    return random_vectors
    
vector_count = 10
min_range = -100
max_range = 100
random_vectors_array = generate_random_vectors_array(vector_count, min_range, max_range, min_range, max_range, min_range, max_range)

output = random_vectors_array
lunar sleet
dark drum
lunar sleet
#

Very weird. Are you just cleaning up ref chains or how’d you end up looking for it?

lusty hedge
#

having a lot of trouble with this

#

the GET only seems to get a copy, and not a ref

#

the SET Turret Row Name does not affect the thing its getting

dire frost
lusty hedge
lofty rapids
#

you should be able to get a ref

#

maybe uncheck context sensitive

lusty hedge
#

i did, and i got the ref. but it still acts as a copy

#

something is seriously wrong with my code logic

#

ill b back

dark drum
maiden wadi
#

When you're three function calls deep into a set of logic that is supposed to modify an array and you spend forever trying to debug the later two functions only to find out that the first of them took the array by copy. Much pain.

zinc folio
#

excuse my OBS juggling skills

frosty heron
maiden wadi
#

You can do refs in BP. But there are limitations. a BIE function for instance requires a const array by ref, so you can never actually alter the original array.

lofty rapids
#

if it's an array of a specific class you should be able to set a variable

#

i'm guessing it wasn't setting

wise ravine
#

am I missing something for crouching?

lofty rapids
maiden wadi
#

I also recently learned that by ref in BP is technically false. What it actually does is sort of copies the property, you alter it in your bp function scopes and when done it copies the new property's memory to the old one's address.

lofty rapids
wise ravine
#

ahh okay

zinc folio
#

i may have found something though

#

one moment

#

NEVERMIND

#

excuse me im dumb im actually dumb

wise ravine
#

because I don't see anything happening

maiden wadi
#

Have you debugged that those inputs are actually running?

lofty rapids
#

idk if the template has it built in, but normally you have to make the animations

wise ravine
#

hmm

#

I'm in first person so I don't want to worry about the animation at the moment

#

I guess I'll just move the camera location

maiden wadi
#

It should already work.

frosty heron
#

Simply change the value in your character movement comp

maiden wadi
#

The camera should move when the capsule's height changes.

#

But also make sure those inputs are running for sure with a debug break or print.

lofty rapids
#

is it the template ?

violet spoke
violet spoke
wise ravine
#

no I started with the third person template, and then moved the camera to make it first

lofty rapids
wise ravine
#

got it.. kind of

violet spoke
violet spoke
lofty rapids
#

procedural ftw

#

unreal is actually really good at spawning/destroying actors

#

i do a bunch at once and bp doesn't even flinch

maiden wadi
#

Except when they have particles and FMOD sound components an you're doing it on an XB1. Then fuck life.

lofty rapids
#

ya i have not used particles yet i was looking at it the other day

maiden wadi
#

For some reason old gen consoles cost a toooooon to spawn those things.

lofty rapids
#

well i'm talking pc, i got a lower end pc and it still runs well

#

a really bad cpu spike but i get that with a blank project as well

maiden wadi
#

Do yourself a favor and say no to old gen consoles even if you get the chance. 😄 Your sanity levels will thank you.

violet spoke
#

but anything can be made in bp too

lofty rapids
#

i'll see the limit when i hit it ig, doing stuff on tick seems to take down the fps a bunch

#

but i do a lot on tick

#

some of that stuff i need to offload to c

frosty heron
#

You can only do things that is exposed to bp

#

Bp is very limited

latent venture
#

when i spawn the room via blueprint it looses it original collision, why? how should i set the collision in the blueprint originally they are well put, I call the room in the second picture, each room has it`s own blueprint

violet spoke
frosty heron
#

They are called trial version for a reason

violet spoke
#

do you have any example /

frosty heron
#

Loading screen

gentle urchin
#

😆

frosty heron
#

That's how fast you hit the wall

gentle urchin
#

Multiplayer

maiden wadi
#

Changing keyboard focus nav from arrow keys to WASD.

gentle urchin
#

10000 iterations in a frame

frosty heron
#

Who ever tell you bp can do everything is either I'll informed or never tap the full potential of unreal

maiden wadi
#

You can certainly do a lot. The little village game thing epic did showcases that you can really do a lot for a project in BP. But even they had to do some hackery at the time to make it work entirely.

gentle urchin
#

Now, you can jump a ton of hoops and do quite impressive things with bp only

#

But i dare say almost any project will benefit from mildly to greatly by using some or much c++

frosty heron
#

Even a tiny bit makes a lot of difference

gentle urchin
#

You also get acces to all things the engine has to offer

#

Not just the 46% thats bp exposed

maiden wadi
#

Also data management. Primary Data Assets are the best.

frosty heron
gentle urchin
#

Was a random number😅 prob way less

#

30 perhaps

#

On a good day

#

Depends on what counts and what doesnt

frosty heron
#

Well I dunnoe, can't read source code. I'm too noob

gentle urchin
#

If all counts then prob 10% 😆

#

Quite a way from 46 to 10

maiden wadi
#

Then you realize that there's a whole different world of shaders that make a lot of things even easier, but you have to learn those too and C++ or blueprints don't really help you there a lot. 😄

gentle urchin
#

Slate stuff , custom nodes

#

Diving into c++ is like getting the first experience with unreal again

lunar sleet
#

Everything is shiny but you’re lost af?

gentle urchin
#

Yepp

lofty rapids
#

i've gotten as far as a blueprint function library in c++

#

i have a couple projects c++ from start that i was looking at as well

#

but even the function library gives me huge improvements

gentle urchin
#

Thats the biggest single thing you can do in cpp

#

Along with structs to avoid project corruption

versed sun
#

mine hasnt broken in a long time

gentle urchin
#

Theres always exceptions

lofty rapids
#

i use a bp struct and it works fine but i just set it and forget it

gentle urchin
#

Is it worth gambling on?

versed sun
#

i back up every few ... days

gentle urchin
#

So you mitigate the risk

lofty rapids
#

the only i can see is maybe you are using the struct in bp, and you remove/reorder the struct around or change the types or something

#

i feel like if you just build and leave it does it actually just break on its own ?

#

that would be really weird

gentle urchin
#

Question is why risk it at all when its so easy to do in cpp?

violet spoke
#

for cpp you need actually to read all docs instead of making game, so for solo devs it can require more work and time before actually making game. In bp you see what takes what and just plug all stuff it requires

gentle urchin
#

Declearing a struct/enum is quite easy to find samples on

#

Doesnt take much time at all and it:

  • removes corruption risk
  • allows explicit bp exposure
  • allows defined replication rules
  • allows struct comparisons on a struct to struct level
#
  • can react to DataTable changes (if its a FTablerow subclass)
violet spoke
#

and its just eunm

#

you make characters in cpp too ?

gentle urchin
#

I'd argue its worth it

violet spoke
#

move components or sockets?

gentle urchin
#

Yes i do

violet spoke
#

How do you check if they appear corectly?

gentle urchin
#

Depending on what it is, I usually expose parameters if theres any uncertainty om how it would appear

violet spoke
#

😏 so you are using bp after all

versed sun
#

a mix of both is best

gentle urchin
#

Ofcourse, bp is superior for certain stuff

#

Asset paths / pointers being one of them

#

Imagine setting up a level purely in c++....

violet spoke
#

😂 but it sounds like that

#

i just enjoing bP, if im gonna need cpp probably gonna switch but for now im good here, I don't know even full unreal possibilities, until then I don't need to learn few things at once

teal vapor
#

Hi, I'm just putting this here in case someone knows the answer. I have a 40 frame animation of a flower that is a morph target. I can set the Initial Position of the flower opening, but when I play the animation in the BP, it starts from 0 instead of the Initial Position. How do I access the Initial Position in BP? Also can you reply in thread. Searching for answers is better when people put it in a thread I found. Thanks kindly!

violet spoke
# maiden wadi

wow works perfect, I don't even need ue module, nested lists works fine 😄

violet spoke
#

morph targets are not part of animation (as far I understand) it can be affacted to bone location and roation, but not morph value itself

teal vapor
# violet spoke set morph target

Actually this is a 40 frame morph animation... It just plays the animation in sequence. Also thanks for responding @violet spoke

frosty heron
#

Morph targets are part of animation. You can set the key frames in 3d software and export the animation

frail onyx
#

anyone know i can set a max and min these can go?

frosty heron
#

Instead of increment and decrement, you can just add or subtract then clamp the value

nocturne fossil
#

should i use vector lenght to determine direction between two actors or just the diustance node

violet spoke
#

sheeeee, I just realized i can't use py scripts at run time, im gonna need cpp sooner than expected

lofty rapids
#

c++ ftw

violet spoke
#

time to refresh cpp 😄

maiden wadi
#

Python, C++, Same thing. 🤷‍♂️

lofty rapids
#

python is actually weird where you do it based on indentation

#

no brackets, really odd to me i like the brackets

maiden wadi
#

TBF I haven't really used Python that much outside of rare necessity to fix something. It's syntax is a bit odd after using C++ for a few years.

violet spoke
#

python is really flexible

zinc folio
#

Hey, me again, um so i fixed my collision for my card to work with the grid by throwing, i added a box collision under the grab component and it magically worked, but here's the situation, im trying to check my overlaps for my grid and my bakugan sphere actor's collision doesn't trigger any overlaps whatsoever on the grid and on the card, these are my current overlap settings, any help is appreciated!

#

and there's like almost no info on this stupid grab component in the documentation from what i was looking and yt tutorials don't really delve into this stuff, im using the vr template grab component for context

#

and even if i set my bakugan's actor's collision to ignore the floor just to see if the collision works and for some reason it's not even falling through the floor when i adjust the overlap settings

zealous moth
#

@maiden wadi welcome back

maiden wadi
#

I recently got humbled by grids. You'd think it would be easy to make a grid material. It's just a bunch of square math. Right? Moire disagrees.

zealous moth
#

@maiden wadi oh? Did you figure that out? I struggled and gave up and used a different method

#

You mean like take a material, split it by uv coords and use it separately or something else entirely?

zinc folio
#

and like the idea is to overlap the card on the grid then overlap event the bakugan on the card to do stuff

maiden wadi
#

This was my original Looked nice... Until I zoomed out. 😂

zinc folio
#

but it's just saying NO

maiden wadi
#

Found a new shader though after some digging that looks a ton better.

maiden wadi
zinc folio
#

I hate that the documentation doesnt really state how the stupid VR component interacts with the overlap settings, because that would at least give an idea what to look for

#

cause currently i've as i said, i fixed the issue i had earlier today in the most funniest ways, just adding a box collision to my throwable object made it work with the logic for my grid, trying to apply the same logic for my throwable actor did not yield the same effect even though it's setup almost the same way, hierachally speaking it's lined like this
My grid object is a plane -> it has the VR grab component attached to it -> the grab component itself has a box collision attached to it
but i tried applying the same logic to my skeletal mesh actor and it just didn't work that way

maiden wadi
#

I personally have found that learning the base engine is useful. Because building off of other people's core concepts can be messy. They have an idea in mind for things, and don't necessarily finish it or don't consider all of the things that someone extending it could need or use. Or even worse they use outdated ideals that lead to really hard to handle systems. Dealing with other's code is a necessity, but it can often be best to simply start from scratch so that you have a full view of what is going on in your systems.

zinc folio
#

Well yeah but you would think the VR template provided by unreal would have actual documentation what stuff does

maiden wadi
#

Lol. I'll find that less funny when they stop using construction helpers in their C++ templates.

simple field
#

Any idea how to change this text when you hover over ur packaged game .exe?

#

Kinda don't want it to say Epic Games

zinc folio
#

idk, im like new to this stuff and making my own logic for taking the input from a motion controller feels too impossible, well not impossible but such a hassle for something they couldve documented how it works

undone bluff
#

but quite sure this all can be specified in the project settings in the first place

low coral
#

hello folks, blueprint beginner here. I've been trying to get a light flickering event playing for a movie render. The event works fine when I simulate however it does not play in the sequencer (and in the render), I tried to add a trigger in the event graph to add it as a track in sequencer. But it didn't work, so do you have any suggestions how should I solve this?

maiden wadi
#

Why not just animate the light itself in the sequencer?

low coral
# maiden wadi Why not just animate the light itself in the sequencer?

I have multiple lights in the scene, and they all start at different times (which I made them publicly editable), all I want is to start this timeline event in the sequencer. I also made a similar timeline event, a simple rotation for another blueprint actor and it worked okay, so I don't understand why light intensity animation doesn't work

undone bluff
#

I do not get what you're trying to do with the "trigger"

maiden wadi
#

I've never tried but can you blueprint debug when running a sequencer? Is that boolean true at the time of beginplay?

undone bluff
#

make an event that starts the timeline and call that

low coral
undone bluff
#

what's a trigger

low coral
undone bluff
#

right and you can change that, but it's not gonna do anything

#

you could have an event tick and pass it when the bool is true

low coral
undone bluff
#

I'm not sure begin play was even called at all in the render, which is most likely your issue

#

but I'm not certain how exactly that works

#

event tick makes no sense here though, you'd just be telling the timeline to play (or worse play from the beginning) every frame

#

def use the guide I sent

low coral
maiden wadi
undone bluff
#

after looking into it beginplay should be called

#

you can easily verify this though if you put a print after or breakpoint on it

low coral
simple field
violet spoke