#blueprint
402296 messages ยท Page 827 of 403
but when i pick up a gun to my back
this happens
its normal only on this angle
Disable the collision of the gun on your back when you pick it up.
Is there a way to integrate CG Layer in some custom UI?
actually, it would be better to ask in #virtual-reality and please remove your questions from the other channels so no one gets confused ๐
Oh apologies i did not notice that channel
Is there a rule for variable name length?
How long do you intend to make it
the question itself scares me a bit ๐
"MyCustomFloatThatWorksAsAnInvertedAlphaForSpringArmLerping"
its not always wasy naming variables clearly, but.... you should ๐
TheFloatThatDoesExactlyWhatIAmExpectingItToWhenTheOtherBooleanIsTrue
32 should suffice in most scenarios. Think most of mine stay below 20
Not always super clear what they do I suppose, but it improves slowly but steadily
ZoomAngleMin isn't exactly self explanatory
How can I do a foreach over every key of a string table? I cant find a way to refference the whole string table.
Good Morning all. Is it possible to change a blueprints parent while in-game?

Does anyone knows what causes widgets not to show in standalone mode but they are showing while playing in editor?
I have a blueprint that contains both 1st person & 3rd person. An asset I added has them (1st & 3rd person) in separate blueprints which can be used as parents. If I could could switch parents on the fly then they could get the correct functions. Otherwise I have to copy all the code of both 1st and 3rd and combine them, which will be a lot of work.
So I have this logic to pic up items and store them into my characters inventory array, The issue is the Destroy actor is called and since the item in the inventory ins a reference once garbage collections comes around the Slot in the Inventory as no reference... Better way to handle this without just Hiding the original item (actor) in the world?
Don't use actors as inventory items. Store items as a struct/asset and spawn an actor to display them when needed
Ive tried that but everything breaks and Idk what im doing with the struc
but that is the long term solution
and the solution
fuc
I very strongly urge you to learn what inheritance is, and how class hierarchies work. That said, you need to create this logic in a single base class.
Well you should sit down and try to figure out structures then.
Itโs not very complicated or hard.
Thanks I know how they work. I was just wondering if it could be done to save time.
There is zero way to change a parent on the fly.
ok thanks
PawnSwapping is pretty common tho
An object cannot change itself. It is itself and it's parents. This is why you create the logic you need in multiple classes in a parent class and then inherit it.
Yes you can simply change the pawn that the player controller is using. That is one way of doing it.
hmm. That sounds like a good idea.
I'm looking into it now. Thanks everyone!
Specify the string table you want in the Text input of FindStringTableIDAndKeyFromText. Doesn't matter which entry you use from the table.
Bahaha, pretty much
Does anyone have an Idea how changing from a "GameModeBase" Class to a "GameMode" Class can cause my UI (UMG Widget) to only appear on the Server and not on the client? As far as I can tell there should be no other difference then the Parent of the GameMode , but somehow it messes it up.
Not sure if this is the issue, but you have to make sure your gamestate inherits from "GameState" instead of one that inherits from "GameStateBase" as well. If nothing else was changed, this would be the first thing I'd think of.
That was it! Didn't know they had to be the same (base/nonbase). Still not sure why that specific thing broke and other stuff continued work but well
If they're different, it can really muck things up - there's events and functions that are expected to fire and return values back and forth between them, and if they don't then the sequence of events that normally starts up the game don't work right.
How would I end up getting the asset from the actor in the world
if thats even possible
im guessing something like this
that isnt quite right bc it returns a array
๐ค
this seems to be the ticket
Those nodes are for communicating with the asset registry. Which is not going to get an asset from an actor. What you want to do is have a variable on the actor that is either a struct or asset, and set that to your item when you spawn it. Then you can read that variable back to get your item
The asset registry is for doing stuff like getting a list of assets that exist in the game files. For instance creating a list of every weapon in the game or something.
hmm
So do you mean use a variable inside the blueprint that is a path of the actor
and use that variable to spawn the item
how to remove 90 degree limits of pitch yaw input?
What I mean is this: seperate inventory data and actors. Actors should have nothing to do with containing your inventory. They should be spawned only to represent another item in your game, like a pickup or something. Your players inventory should be an array/map of UInventoryItems or a Fitemdata struct, etc. Actors should not be involved in storing data that doesn't need physical form. Keep your data in a component or the player state/controller or whatever else works for you.
If you need items to have random stats/dynamic data make a struct. If all items are predefined make a udataasset, or a struct with a data table.
DB + a stream number goes a long way for randomization aswell
Is there a way to see the debug sphere outside of play?
how do I make an editor event?
custom event -> select it -> Check the details panel for "Call in Editor"
Change the duration in debug sphere
unless there is a debug sphere in components maybe hmm
are you talking Draw Debug Sphere ?
cool
is there a way to disable it?
This one removes Print strings and Print Text , FYI
Not at all, you don't know what you don't know until you ask
There is one thing more, is it possible to categorize them within my enums?
then you realize all the shit you dont know that could be known
the bath-tub effect or whatever it was called ๐
Well, the day I don't learn something is the day I get board and loose interest
sorry, Dunning-Kruger*
so I have different use cases for the one BP, and I want the designer to choose what type of thing it is, then based on that show variables related
second time i mistake that one .. shame on me
doesn't seem to be any catagory thing in the menus
like , Enume_0 is red , Enume_1 is Blue debug sphere ?
yeah, so enum 0 shows only variables related to enum 0
Dang
yes , but the y all turn off with Flush persistant lines
There's different targets for the BP
OHHHH , in the Variables details
i think the desired outcome is showing related variables to the targeted actors (?)
Anyway, its a no go
at best advancedDisplay can be used i suppose
but its probably not what you want
Would be nice to categorize the events at the very least
or tool tip
but there is nothing haha
Editor functions? You can categorize those
Ahhwell, this will have to do hah
Not events, but functions
Can you call a function in editor
Yeah
Hey there, can I ask anybody about true or false statements on reference type? I'm trying to separate units from player and enemy so I can setup their attack camera views differently and some others but the true or false like the branch for example is not working so far. I've used the is valid for if the unit is enemy but it didn't work.
oh you can
from the sounds of it, you are trying to identify a specific actor type, not so much that it exists (although that would also help) correct?
hey guys, i have a question. when something overlaps the box, light should turn to defined color. i made this but i can't make when the overlap stops it should turn back to its color, how can i do that
Is there a way i can rotate a lot of objects, but at random values?
I'm attempting a small thing to separate and yes identify a specific actor type and maybe as class due to the fact there is more than one. I've made some attempts but they've all failed.
actors have tags, you can check that way
I just made the events not work unless the type is correct, at least that way the user wont sqrew anything outside of what is intended
I'm not sure what you mean by that, what tags?
in every actor is a section for tags. its an array of names, so you may have your player with the "player" tag while enemies have "enemy" tag - then use the ActorHasTag to check if that tag is present
And how exactly do you do that?
its whatever name you like so you can be as detailed as you want - e.g. "enemy" or "brute", "minion", "grunt", "boss" - whatever you like
that's a question where you should look into this concept
I don't know what that means either.
look it up ๐
you know, internet
"unreal actor tags"
I know internet but it seems I don't know a thing about what I'm doing lately. Nothing I do works lately. So much for a turn based jrpg.
well this turned into something else...
Sorry then...
How can i pass this branch result to another blueprint efficiently?
casting is likely what you'll have to do
what other blueprint? and why?
That's a lever, and i wanna make it so when you click E, it makes another script do something else
Make an Interact event on the Lever. That event should set some internal boolean "bIsActive" then call an update function that does stuff based on bIsActive. An interface would be best if you want to interact with a lot of stuff.
So the flow would go like this
Input -> GetWhateverYou'reInteractingWith -> Call Interact on it
On reciever (Lever in this case)
Event Interact -> Set bIsActive = !bIsActive -> Call Update on self
The good thing about using an interface is you can use the same call from your Character or Pawn or Controller to do different stuff.
Interact with an item = pick it up.
Interact with a downed player = revive.
Interact with a button = push button
Interact with a door = open door
Etc etc
The other good thing is there's less of a performance hit casting to an interface vs a whole actor
The less casting in BP the better your editor experience will be
They're already using a BPI to activate the lever. They want the lever to trigger another actor to do something. The most performance efficient way I can think to do that is to make an actor variable, set to publicly editable and assign it in level to the other actor. otherwise you'll need to find a reference in a bit more round about way.
problem I've never had to solve before:
in a 3d grid of cubes, how to check to see which cubes are not connected to a core cube through the connections of all the other cubes
so if there are 2 sections, and one of the sections becomes disconnected from the home cube, delete all the separated cubes? but instanced meshes are all children of the home block with only their position as differences between them, not sure of what to add to the instances to do this reasonably lean?
This should give you the instance index
right! but none of the instances have any way of knowing how they are connected to the core block
so if a bunch of cubes are split in half, just those removed indexes disappear
or am i not understanding properly
you can line trace and hit neighboring blocks, starting from core
ah right
flood fill from core and once complete just delete any that weren't found
i was thinking opposite, which doesn't actually make sense
I think at scale each object would only be about 3,000 cubes
so separating at the middle would ideally happen instantaneously, so im not sure of the fastest way, floodfill would work but might not without some issues with that many blocks
Hello, I've created this "kill button" that kills the player when they walk over it, and the character ragdolls when they die. The problem I'm having is the character doesn't consistently maintain velocity when it ragdolls. Sometimes it just stop and ragdolls in place. Anyone have any clue what could be going wrong?
anyone able to help with this?
Thanks for the help, I got busy and couldn't say anything till now
If Integer64 == Long
What is Float64 and does it exist?
probably double?
Try DisableInput instead of DisableMovement
is it available in Blueprints?
Thanks, just tried it but that didn't help unfortunately.
The other thing I noticed is you're simulating physics on a multicast. You probably mean to simulate physics on the server and replicate the results to clients with bRepPhysicsToAutonomousProxy
Otherwise the server will error correct the client's physics simulation due to the character movement component
so this is really weird; the material i made only appears when its not in multiplayer but all other ones do no matter what. anyone have an idea as to why this doesnt work?
I'm still learning about replication, so I don't fully understand. However, I can note that the behavior is the same regardless if I test it on the server or client
Hi. I got this frame counter widget here and I want it to stop/freeze counting after X seconds. How can I go about it?
no and the reason is almost certainly to keep it simple. usually if you are hitting the limits of blueprints you would use C++ which will let you use double or some other big number library but dont expect to be able to expose it to blueprints
you need to search through the cubes
I would have an abstract data structure (map of Int Vector to Cube Ref)
Then you can easily get all neightbors of a point
Get all cubes. For each cube, get its neighbors recursively and add to a ConnectedCubeIsland struct or whatever.
i like that way better
Hi. may i ask what are the advantages of using data assets for inventory items? I tried checking on google and it seems that there are pros and cons versus data tables/structs. It seems that data assets are less likely to cause compilation errors compared to structs? Thank you
My impression is that data assets are a bit more fine grained and flexible
does Set members in struct actually modify the input struct? or do i have to re-set it?
quick question
am i able to take functions from my player controller and reference them in the actual character
as long as you get a reference to your owning controller
setMembers in structs lets you specifically change the vales of that struct. Notice that the input for this node wants a reference and not a copy - therefore it is modifying what you've plugged into it (ideally the struct variable)
ah very nice, thank you
as long as you have a reference to the specific class (and it is valid) you can call the functions of the reference, whatever that would be
Check the Project Settings under Input. There's a category about mouse capture behavior you might want to review
Benui has a pretty good pro/con list of using data tables vs. data assets.
https://benui.ca/unreal/data-driven-design/
There's another setting somewhere related to capture, but I can't recall at the moment
if you also search for "data table" "data asset" "DAs" you'll find a nice discussion from yesterday about this (i think it was in this channel too)
So im working on my inventory and I have an array of actors and I was told was a bad Idea to store them like that, 1 because I need to destroy the actor from the world so its out of memory 2 because well it makes no sense long term.
So I made a stuct and made a small database sorta thing for the time being with the 2 weapon I have now as you can see. Im trying to use the same struct in my Character as an array to store the items based on ID or whatever then I can show in my Inventory Ui based on the index of the database (Just getting the string)
So I need to get the overlapping actors on the ground and then translate them somehow using the path name(maybe?) and put that item ID into my players array of weapon struct to save the data
Maybe a better way to do it, but this is how I interpreted what I was told to do. I fell like im on the right track
I apologize for the bone headed questions but Im really new to unreal engine ๐
yeah but getting through this will teach you a lot. you should probably reference a row of that data table on your actor, and then add the item to your inventory by taking the row name from the actor, and looking it up on the table to get the data
i forget what the struct is called, but its something like "DataTableRow"
put one of those on your actor and make it editable
So can I reference the actor on the ground to the blueprint path
then you can set the value whenever you want. pull that variable in your loop
that is the way I see to do this
and use the GetDataTableRow node to get your data
i think you still have something confused since you keep mentioning "paths". you shouldn't need to use any asset paths for this since you are using soft refs or anything
just a data row handle should work
are you following a tutorial? ryan laley?
Nope, experimenting and asking questions in here
Should my data in my data table not be a Class Reference but rather a soft object reference
atm its a class reference and that is just a path to the blueprint
that depends on what its for. it should be a class if it is something that gets spawned. it should be an object if its an asset that gets used for data
hmm
your data table should be an object reference
you can make one by dragging off the input for it on the GetDataTableRow node
be sure to set it to the specific data table that lives in your content browser
GetDataTableRow ouputs a wildcard, so make sure you set your struct variable before hooking it up
So wait
If I make it a object reference in my main item db (spreadsheet)
its only lettine me refer to those that are in the map/world
I feel very dumb but that means im learning
Ok just to make things clear. The first image I posted is the struct I made the the debatable I imported
the 3rd image is the master item Db
that im going to attempt to refernce when I pick up and item to write data to the inventory array
DataTable is the one you want to pull from. OutRow is the struct that you have that data table using.
when you made the dt asset you had to choose a struct, so make sure OutRow is of the same struct then plug it in
alright. in the interest of being clear: your data table should not, at all, try to reference objects in the level. it can reference classes or assets in the content browser if you need to (either to spawn or reference like i said).
do what conrad is saying to retrieve data. the "Row Name" pin is what your pickup actor should likely store.
saying reference was not the right word to use because the literally means something in OOP terms
Let me say it this way
So the item is on the group and when I pick it up I check my data table to get the item ID
oh, you dont really need to do that
other way around you get the item ID first, use that to get the data from the table
when you're picking up the item in the world it should already have all of its needed data
when that item is spawned for the first time you would be pulling the dt info and storing that in a struct which lives in the item
on pickup you can access the struct which pulls all of the defining info about that item
You can't store object references in a data table.
that was my question
You can store object classes.
although i dont, i thought you could and it would reference the UUID
lol nvm, semantics once again
It can be an object class reference rather than an object reference.
So if you ever needed to spawn the object, then you know the class to spawn it from.
although its missing the dt part, i did like this tutorial on inventory https://www.youtube.com/watch?v=yxqSkFNAzE0
its not object or actor, it's instance or class. It's okay though, it's rather confusing in the dropdown. "Object Class Reference" and the like is stupidly named. Basically, the Blue one means it exists in the world (instance) and the Purple one is the class.
yeah, that's where im not fan. I dont dig that im putting a reference to that class's location
you can do it, just a personal croak on my part
I assume ill need this struct data in my parent weapon class
if i move its location (like folder repo cleanup) it can mess up the redirector/pointer crap
sorry, ranting now
check the link i posted up above
that should explain most of the struct-side management
as for dt, well... thats another thing
but yes, you'll want your parent class to hold a struct var. If you go the route im suggesting, you'll be spawning this class (purple) as an actor (blue). So on the return of the spawn actor (blue) you'd be setting the struct var for it.
That means the class which spawns it (like MyLootSpawner) references the DT and pulls the right one (based on odds or whatever) so it can pass that row data to the struct var of the spawned actor.
Because you are setting this var when it spawns, BeginPlay cant be used because it fires right when it spawns so you may get an error. It's better if, after you set the struct var for the spawned actor, to then call some sort of "ReadyToGo" custom event on it, basically acting like a BeginPlay but you have control of when to fire it (maybe you want to set other things for the spawned actor beforehand).
Thank you all alot
as you know learning this stuff for the first time is really hard
its like data structures and oop all over again
will this blueprint still work if I dont connect anything to the inputs of the function?
its coneected to my begin play
1 more thing real quick them, Going from the Overlap that gets a actor object reference to getting the correct row on the data table. to then put into the inventory.
Probably, but whatever is in the inside of that particular node won't work right and may throw errors depending on what you do with those values.
ok I cant even think straight anymore its time to stop for tonight
question
if im having multiple characters someone can chose from should i have multiple controllers or just 1 with multiple characters?
just use the one controller. controller can "possess" a character which means that your controller can switch the character it controls by calline "possess" and "unpossess"
ok then if im trying to make like
a basic attack and i need the player to move into range to attack would i make that through controller or the pawn?
ig its a pwan
the character
does it depend on how i have my movement set up or what
It'll still fire. Whether or not it does anything depends on what that function does
shouldnt matter, just check if your character is in range when they try to use the attack. You can reference the other BP if you need access to both anyways
That's all on you, you decide what happens when buttons are pressed. If you wanna do a distance check then do it.
with this would i do it through a variable or should i try doing a collision sphere or something of the like
nvm that makes sense
Hi, I start to learn BP and I still confuse with some basic stuff : I try to open a door (BP actor with timeline and Open/close event) and the way to open it is to put an object in a triggerbox within the level , at that point the overlapp event of the triggerbox is handled by the levelBP which cast to the 'key' object and if the cast succed, in need to fire the Open event from the Door blueprint, am I right?
It would be helpful if you could show screenshots of the BPs you need help with.
all g
what i was going for is seeing if the attack range is overlapping the player controller
oh. that looks rough. which BP is this in?
my event graph for my character
okay, and you want to make sure that your character is in range of a certain enemy, right?
Sweet. Best way I can think of is to use "Get overlaping actors" from your collision component variable and make sure the class is the one that you use for enemies. If the array has anything in it, then you have enemies in range, if its empty, you have no enemies in range
@glass magnet
wait sorry how do i check the array?
drag off of it and get the length. if the length is at least one, then theres something inside of it, meaning that you got an enemy. Length will return the amount of items in the array.
@violet wagon there is almost nothing yet in the levelBP and the 'key actor' is only a static mesh with a grabbable component, the door is just at its beginning, I'm more looking at the 'theory' to make them communicate
oh. you would get a reference to the door (select it and then get a reference to selected in the level BP). Then you would drag off of that reference and do the open door event. Id try and avoid using level BPs and get more comfortable doing these things in actors, characters, etc since level blueprints are restricted to only work in 1 specific level.
@violet wagon simple as that ?thank you! yes I've heard about avoiding having repetitive mecanics whithin the lvlBP, in this case I've only one lvl to try things and figure out how it work, more a lab than a game ๐ but I keep it in mind. handle this within the pawn still blurry for the moment
ah ok i got it pappa thank you
so i need to check if empty or full, if its empty it moves into range, if its full then it would attack?
Yhea simple as that! Pretty sure everyone started out learning with level BPs, its a nice place to start, but youll discover more powerful BPs later on
yhea if thats what you want to do. But the array will never be "Full" it will either have something in it or nothing.
yeah
ik it just means
full means more than the current
in this sense
ok but what about this which mayb e a problem? if the current actor im trying to move to and attack is out of my range but another actor of the same type is in my range
what would happen in that case
Well if ANY enemy actor is in your range, it will show up in the array of attackable characters, so this shouldnt ever happen
it would still move to the targeted actor?
this is just to check whos attackable
oh. Im not sure what youre trying to say.
im just trying to confirm
sorry
is the overlapping thing only to check whos attackable?
yhea
ah ok ok
and just to clarify before i move on
the length is just to check the overlapping actors
length checks how many items are in the array, but the way you have it set up, it would return the number of attackable enemies in your range.
I have a question about documentation conventions for BP classes. Lately I've been writing instructions into the Blueprint Description field (in a solo project) just to give myself a rundown how to implement, subclass, or otherwise use a BP class, whether actor or component. Is that, like, a normal thing to do? Is there some industry convention for conveying/documenting this kind of thing, or...
You can add @param bSuccess returns true if...
I don't think there are any magic triggers for an actor itself
whoa, TIL. thats pretty cool. i knew you could do that in c++, but didn't think it was possible for bp funcs
do you store your intentions in that intentory
^What is this magic? ue5 only? Never seen it before
Hey guys, might be simple. I'm pretty new, basically I am trying to get a torch to rotate in front of the character in third person. I have a light source attached to the player and im setting its rotation based off of the controller rotation. Essentially I want to clamp the Yaw -60 and +60. which works fine if my character is at 0. but when my characters rotation changes the clamp locks it. I know i need to add the rotation and then plus/minus the angle limit but doesnt seem to work. Sorry if that makes zero sense haha.
What/how/where? ๐
if anyone could provide some advice, I could use it
Pff ๐ well thanks for the hint anyways
It has been revelead to me that this was not unreal documentation magic as i first thought. Its just a custom image explaining the description field. Good to know for the inputs still tho ๐
I know, I'm asking if it's something they may have changed
cuz yeah, I think you need the [out] part for it to show up on outputs. I can't get the comments to show up on out parameters in bp or cpp. Inputs all work fine though without the direction
Hmm. You're right
its return
@return
wrong again...
lol
Its a combinatino it seems ๐
or perhaps thats when there are multiple returns ..
nah it seems it doesnt work without the @return in there
I think the compilation part of it might be a little finicky. If you try to change the comment on a previous param, it didn't actually change until I did a few compiles and added a new variable
Yepp,
i tick pure and untick it again ๐
(reversed but whatever)
so every param after return is a return value
huh well that's interesting
makes sense if they did change it to [in] [out] for ue5 ๐คฃ
haha yeah
any clue on why
I get this?
[EAC Launcher] [Info] Loading the following .json file: 'D:\CyberCardsTest\WindowsNoEditor\EasyAntiCheat\Settings.json'
I did put my ID's fully in the .json and saved
but the params are uniqely named, so why bother with [in/out] in the first palce
this will be because of how it's handled as parameters in cpp, I assume
Even there they are unique tho
yes, but there's nothing explicit in cpp to say if it's an in or out param without using UPARAM
Right,
but does it matter?
in the context of hint text
the hint text itself does nothing differently if its an in our output
in that sense, I can't imagine there is tbh but I assume it's likely because of that
at least it sorta works ๐คฃ
yepp x)
lol
no wonder the engine can crash if i undo too fast
Sorry, only saw this now. I can have a look later.
epic cut is 5% for that alone m8
Hey uh... I'm kinda clueless rn.
so... I have 2 Actors in my level which are buttons. One works the other don't... they are the exact same bp
hey yall
is it possible to multiply the whole vector with a float ? or should i split it to float values ?
hi squize
Its just multiply now
UE5 thing?
ye
yes its UE5
just use the Multiply, and connect float as secondary
Hello guys, so I have a start position and an EndPosition.. and a Start Direction and an EndDirection. I want to calculate this kind of path to any point. What would be the right way... I've made it work with a deterministic approach base on X and Y but It's not the right way... the right way would be "Remapping the vector" if there is such a thing... If you have anything for me that would be amazing
yes
So 2 vectors shall become 4
make a square you mean?
no
1 vector for start 1 vector for the end
oh yes exactly
my goal is to have an absolute X and Y
then it's easy to calculate
how would you proceed in finding the middle section position
find forward direction * half length of input vectors on that axis
find Right direction * length of vector on that axis
find forward direction * half length of input vectors on that axis
Right vector could be x and y based on where the end is no?
qwq i need some help my actor doesnt wanna get destroyed when colliding with the item box qwq
plus our college the time where we gotta give our project to the teachers is in 14 hours aaaaaaaaaa
if anyone wants to fix some stuff i gladly pay em
i honestly dont have the nerves to do it anymore
sure the thing is well i only have 150 euros on ma bank account rn so i dunno how much they are willing to help me :(
heres the item box blueprint
um yep exactly
ahah Let me show if we did the same mess
if you saw the amount of code I made for this kind of stuff
based on north to south / west to east...
show me ๐ ahah
approximately what I did
or maybe a dirty hack would be to rebase Start and End to always the direction meaning rotating Start By n Degrees and rotate the end with it ... do the math here and then apply it back
(I might have written non sense)
think we can get rid of the branch aswell
I'm thinking Trig Squize..... we have a distance we have the angle so the two other side would be pretty simple to get no?
hey everyone , how do i make a ark survival evolved style gliding system
umm yep I know that's a way of doing things...
It's not elegant dont you think ahah
God of math
are there cases where this doesnt solve it
well this is with opposite facing vectors
btw umm i tried contacting @pearl whale and they got closed dms :(
you're right ! ๐ and It's only one case on my list of case ๐
this is way more than originally asked for tho ^^
well.. ๐ ok
Just conversing ๐
this is more towards pathfinding i guess ^^
This was what i tried to uncover with one of the first questions
well it's always A to B ๐
Yes but its not direcly A to B ๐
you have some turn radius based on some unknown
??
<@&213101288538374145>
:no_entry_sign: archx64#9593 was banned.
Just add the Ark Survival Evolved Style Gliding System component to your BP actor
learning before i start making games again.
off topic question,
you are a lonely man (ingame)
you battle with turn based tiled movement based on how fast you are you can go first or last,
you train your own ai in the battle system,
you can do many tactic journeys,
you control more then 1 Character within the battle system
ai can be obtained by many ways, so i think i need a controlled DT and a not controlled DT
Is this note good then ?
ior many faults to start with
im so confused wdym by that D:
so i could just delete the cast? >.>
well its not an error the game still compiles and runs but if the player gets into it the box just is there
doesnt dissapear or anything
oooooh
Cause you use OverlappedComponent
you're casting the component
Instead of OtherActor
Components and Actors only share UObject as a base. So if you try to cast a Component to an Actor it will tell you that this always fails.
Cause there is no way these can be related
aaah okay :0
alright tried it even the string doesnt load qwq
gosh i hate unreal :(
sadly none of the bp freelancers seem to have time qwq
unreal in this case isn't different than any other game engine
this is fundamental programming
well i mostly work with frameworks like sdl or sfml or write raw assembly :(
i also have experience with unity bu teacher said nah yall gotta use unreal qwq
so you do that but you have trouble understanding why a component can't be cast as an actor?
that doesn't sound right to me
don't branches work within functions? It seems it ignores that the answer is false and it behaves like it's also true. Debugging with print string says the boolean is using the correct value but it still continues to the end of the function
depends what you mean by "work"
well,
the first condition says it's on cooldown, but it still pases the execution further to the end of function and to the next function
I;m assuming it should follow the execution line and if the first branch is TRUE should stop the execution completely, but it goes on
a function doesnt block further execution
it automagically returns if a path has no return
so I have to use the branches between functions?
Yepp
that's just sad
Thanks!
and if you return the input, there's no need to return it at all
you simply return a bool, "DoIMeetConditions"
in a more user friendly way
People have time for anything if you have $$$
Looks like you can also use an AND or OR operator instead of two branches as well
true
or XAND or XOR
well how much you want i currently got like 150 bucks to spare
๐
Your returning false, actually ๐ค
Why would it be sad? Execution order is execution order. I wouldn't expect code to skip a line because of what happened on the previous line.
i know it aint much but i earn shit at my part time job
what do you mean, that's why we have flow control. I expect branch to work anywhere.
to exercise flow control, you must understand how functions work
its essential in this case
yea now I get it
tough life, going mental a few times a day due to issues like this.
you can "block" it outside the function, but essentially that's just a "return" aswelll
I'd just save your money and buckle down to learn the engine for a month or so before trying anything too big. My #1 tip is to NOT follow tutorials, just read up on the framework basics and make something tiny.
well fun fact its my college project and we only got 1 programmer which is me and only had 3 to 4 weeks of time and never had UE4 before and we only have 8 hours for the deadline
I'd say follow tutorials, but know that they will teach you mostly at best questionable setups
so much stuff is fucking broken
new / unfamiliar/ unkonwn != broken
Patch it up and ship it
I get what you're saying, for me it's the first "project" after many courses and tutorials and lost neurons that I'm using all structs, arrays, data tables, functions, macros etc all at once without any guide or documentation. I still have to get a grasp on the workflow and to dos/!to dos
Yeah no worries. Over time it will get better for sure ๐
anyone know how to use panner on 3d way
guys, help please !, I have a lot of actors with a specific tag, i want to add them to a list in a widget (Clickable) automatically without putting them one by one in this widget, where can I start ??
quickndirty: get all actors of class
somewhat better way: have them add themselves to a global list of those actors when they are spawned
use get all actor with tag
Tried finally your bit of code ๐ we have problem on the down left hihi
seems X and Y are messed up
only when X and Y are positive
what kind of time deltaseconds should I get to implement something like the Cooldown Behaviour Tree Decorater?
get game time?
yes but it's C++ and I have RAM issues
๐ฅฒ
oh so it actually lowers the time left every second?
ah no
we might've forgotten ABS
I don't have it's path
can you give me the path of the file?
also good C++ doesn't always translate to good BP that's why I am asking here
thanks
nope ๐
as in not forgotten, or not fixing ? ๐
๐
swapped the multiplyer
So in order for this to work when you face in a different direction you need additional logic
<@&213101288538374145>
:no_entry_sign: xXZelldertXx_้่ฒ(ใปโใป)#0283 was banned.
busy bots today
Them bots getting close to the payday
tehe, yeah probably
Hi all, I am trying to create a system where, when a player interacts with a door, a "Enter Password/Answer" screen is shown. If they get the answer correct, then the door opens.
To do this, I have a DoorBP with a boolean "canOpenDoor" and a "Password" variable:
Here is my blueprint for the doorBP so far:
Here is my password widget BP:
When I interact with the door and enter the answer, I get this error:
Blueprint Runtime Error: "Accessed None trying to read property BedroomDoorBP". Blueprint: BedroomDoorPassword_Widget Function: Execute Ubergraph Bedroom Door Password Widget Graph: EventGraph Node: Branch
Any ideas on where I am going wrong and how to fix it? I am really lost.
on widget BP, make the Bedroom door variable "Expose on spawn"
Sorry, what do you mean? And where?
In the widget, as the error says
The Widget throws you an error when trying to read BedroomDoorBP
because it has not been set to anything
Personally I wouldnt tie it directly to an asset either, but instead take the password as an input instead
Still get this error:
Blueprint Runtime Error: "Accessed None trying to read property BedroomDoorBP". Blueprint: BedroomDoorPassword_Widget Function: Execute Ubergraph Bedroom Door Password Widget Graph: EventGraph Node: Branch
So instead of exposing SomeDoorBP as a variable,
expose the "password" text instead
How would I do that?
create a text variable (password)
On the widget?
yeah
and in the details panel "expose on spawn"
drawback of not tying them together is that you must also expose a delegate somehow ๐
But then, if I want to place the door in multiple places and change the correct answer for each one, would that be doable?
ofcourse
So you need the Text as as exposed input parameter
and a delegate for the return call (if the door should be opened)
as an exposed input parameter
I only see the default value. Where would I set that? I also turned on instance editable as when I compiled, it said to do so
hi, im getting this error, anyone know why?
This is in the doorBP - is that correct? Or can I create another password variable in the Door BP and set that to instance editable so that for each doorBP that I place in the world, I can declare different passwords for each?
The Case one you might put an invalid pin in input
looks like the second error is the same lol
click on the latest link, find invalid pin and put IsValid somewhere to check if the value is valid
try to remove all errors like this because they ruin the performance like nuts
also try to not use too much Case they make start loading time longer
yes
thx
exactly
A very simple setup
Warnings can ruin the performance too, applying force to static object for example, it destroys the performance even worse
^this looks... interesting?
branch condtionA true -> Spawn -> branch condtionA false -> destroy ?.
On my side I'm making a level editor (tile-based-like). I need to spawn and change the actors of each slots according to the UI's slot name. They spawn correctly but I can't destroy them for some reason with this setup...
This looks like a very odd way of destroying them
If the name isn't equal to a given name (literal text), it should be destroyed.
It wont be created in the first place
so there's nothing to destroy ?
And if it were created, it means it passed the first branch (name was correct) thus it will never fail the second branch
Even spawned it's not destroyed when names are not equal.
It wont get spawned if they're not equal
So there's nothing to destroy
If you want to destroy it if it were to change or whatever,
you need to do it on the false part of the first branch
but you should laso check if whatever is in the slot is valid in the firstplace.. (the object)
this should be one branch
not 2..
and the spawned actor should probably be saved somehow
Silly question, if I want to drop an integer or a float in a blueprint graph does it always need to be a variable? I'm used to to the material editor where you can just drop a scalar or whatever. Could I just use a Math Expression with a value entered? I dont plan on ever changing the value.. its fixed.
Thanks, happy friday
Hi, so I had a question in regards to how one would do something in Unreal that was done in unity.
In a game known as "Totally Accurate Battlegrounds", the player controls a first person, self balancing active ragdoll. I'm pretty sure I know how it's done in unity, and that is using a "Configurable Joint" component at it's Pelvis and setting the target rotation to always be facing upright with some spring so it's "wobbly" and not perfectly 90 degrees.
I wanted to ask, how would one go about doing something like this in Unreal? As from my digging "self balancing" ragdolls is something frequently shown in Unity tutorials but rarely if ever in Unreal tutorials. I'm aware of the "Set Target Rotation" function in BP however that's dedicated to the Physics Handle, and some of the angular motor stuff on the constraint of the pelvis i'm not fully aware of how to utilize. I'm relatively new to Unreal and i'm wanting to tackle this as my first project, even if it's difficult.
No, you're not saving the reference ...
I can create variables of actor's references, but what should I do with them ?
Is it possible to make the spline more of a circumference and less of an ellipse? I'm creating the spline dinamically and it only has 2 spline points
Depends on what you need them for.. It is not obvious to me what your system is ment to do
Does it spawn based on some text value? Does it update when text value changes?
Spawning actors at a given location in the world if a name in the UI (level editor UI) corresponds to a given name, and if it's already spawned and the names are not corresponding, destroy the spawned actor.
It's set on a tick.
owww
ugh ....
adjust the tangents i think
Sounds very prone to error
I thought about making a text / string liked to the class, but I don't know how you "convert" a text or string to a class.
can i add camera view to hud widget?
Check Target Textures.
yes RenderTarget sorry.
ty!
Why is something like this running on tick ?
Does it need to be updated every single frame?
Arent there events for text commits and whatnot(not a question)
Uh... I'm not sure.
dynamic map is made by render target as well i assume?
It's not an editable text.
What is it then?
Just a text that changes when a given button is pressed (corresponding to a given tile).
Hello. I have a program with saving in structure in another structure.
So i have a structure for programs and in every structure is a motions structure with rotations and some indexes. I set array element on motion structure but it is not added to array (at the end for the length i get 0 back. Here is the blueprint.
https://blueprintue.com/blueprint/8rwml8ht/
well when you're setting that text, you got your event going. This event should trigger the spawn/Destroy
Yeah, but when the name changes, it doesn't destroy an actor that has already spawned.
Does anyone know why my timer isn't perfect please ? Like My Starting_Night_Timer variable is at 23 (11PM) and Starting_Day_Timer is at 6 (6AM) and Day Duration variable is at 10 (IRL minutes) and Night Duration variable is at 5 (IRL min) and I used a timer in Windows to check if my timer is correct and it's not, like 10 min on the windows timer my game timer reached 22:50 (10:50 PM) instead of 23:00 (11 PM) so it's off by 10 sec in game somehow.
maybe the tickrate of the timer event isn't perfect ?
Any way to solve this and make it perfectly be at 11PM after 10 min ?
Here's my Code : https://blueprintue.com/blueprint/s0-g7rd9/
I can't change the index number according to the names being equal... :/
I did it, but when the index changes one of the piece doesn't go away...
Spawning doesn't switch.
๐ซ
Sorry for the late reply. I set the tangents so the sphere would start and end at 90 degrees, I thought this would mean the spline would take the trajectory of a circumference. Maybe it's not possible with just 2 spline points, but I would really like to do it with just 2.
Is the tangents size 1?
what math node do i use to check if float/int is within a specific range?
found it nvm
how can i set this.
when i press on of them they do the animation but i only want to play animation when both are pressed
No idea to be honest, I just took the vector of the first and last points of the spline and used its perpendicular vector as the tangent
hey so, i need help with something. i need to make it so that when a button's pressed (ik how to do that part), a list of 10 selections pop up. but i need them to show one at a time and, when scrolled through, changes the selection. like a list that goes 1, 2, 3, 4 ect ect but goes up by one on a button press.
any help would be much appreciated :)
preferably as a widget i can paste onto a model
Made this for you.)
thx man
Does this work?
My eyes say no
You need two variables ..
Hey, can I change the temperature of a CG layer using a slider or smth?
Or you can swap the set around a little
If bool = true then both are pressed. If false, set bool true
On release set bool false
if false set bool true?
Ye
If the branch condition is false, set the bool to true
So next time branch is checked, it will return true
Unless the initial button was released, then it will go false ^^
Guess it wont work if its the other button being held
Bad idea
Toss it
Finally... ๐
I just added a child component at Begin Play and Set child actor class through a tick with the Select thing and the name correspondance.
Riip
Hello, I know that in UE4 you cant make Array of Array which really sucks for me, so I would like to ask you what are workarounds, I know that you can make Array of Structs and have array inside that struct but its meh solution
Array of uobject with arrays ๐คทโโ๏ธ
Hi , has anyone had a bug where event tick doesnโt work in the parent of one child , but does in another child ?
Not calling parent tick?
Iโve got the parent spamming hello on the screen but itโs only working in one of the children. The tick settings are identical for both children. Is there something else Iโm missing. ?
Are you calling parent tick in both children?
Thanks , that was it. Youโre a genius. I had no idea that event tick was overridden by the child , Ty. ๐
Thats how you can choose to either extend existing logic, or override it completely
I had it up to test values and disconnected it but didnโt delete it. ๐คฆโโ๏ธ
a global variable
pretty much yeah
or in an ini file if you want it super persistent
but I'm not sure how well BP can communicate with INI files
so its same as structs ๐
can I ask a very easy question, so I created a default actor blueprint, added a static mesh to it, box hitbox and than in the event graph added press E event connected with destroy actor its like the most simple as it can get and it doesn't work I missed something?
is there any particular reason which i cant enable physics on a pawn ? Its because if the root of the BP ?
you have to enable input on blueprint actors
in Class Defaults
oh thanks m8
In my level editor setup I need to copy the level in which the editing is done and rename it. How do I do that ?
Now I'm trying with 3 spline points, but for some reason the actor slows down when it's going to reach point n2 and then accelerates again. Is it normal behaviour for an actor to slow down on spline points?
Depends on the spline setup and their lengths and the method for following it
I'm trying to see if it's actually slowing down with "get velocity" but I'm getting velocity 0, I must be forgetting something. Does get velocity work with non character actors?
'Sup, guys , how can i change the value of the collisions , but in game?
there are nodes for this. search for collision
@odd ember Could you check my problem in #multiplayer please ?
no and don't ping me please
the docs just show , turn off collisions on editor mesh , need just set block to ignore but in event
have you done a search inside the editor? there should be something called set collision response
or something along those lines
ohh got it , thx
Hi so I have done blueprint witch when I pick up collectibles it shows 1/4 collectibles and it works but the text isn't showing up, Ive went threw tutorial 2 times now and haven't found anything that might help me
Hi, how can I get DeltaX = X_t(i) - X_t(i-1) each tick? Where X_t(i) is the value of X at the current tick i, while X_t(i-1) is the value of X at the previous tick
Just like delta position each tick
position delta? is actor's velocity something you looking for?
Save the value to a variable every Event Tick that you can use on the next tick. If you want your delta calculation to be framerate independent, remember to factor in the frametime (World Dela Seconds).
the output of the event Tick returns delta seconds - that would be the time between last and next frame
Is there a way i can get all components of a blueprint?
I want to rotate 3 components at random speeds
Tysm!
Hmm I'm trying to get these three objects from my blueprint actor, that node doesn't seem to be doing the trick either
just drag the SlotPivot1 into your graph
Make sure you change the "Component Class" to static mesh and that node should work.
Like so?
that only gets one component. you want get components by class
Ahh
Thank you guys so much btw, I'm very new and def wouldn't be able to get around much without this server
How can I change the parent class of a blueprint?
among the buttons at the top of the event graph there should be one called something like "blueprint settings"
it's in there
when I pick up collectible it should say 1/4 collectibles but widget doesn't spawn but everything else works, why?
try it without playing animations
you might have 1 animation key not set and scale/opacity or something is set to always 0
make sure your default values in widget are what you want, after you are done with animations and none are selected
so i removed all animations set all animations opacity to well 1.0 and it still didn't work
I was also doing this with tutorial witch I redid again
https://www.screencast.com/t/mbQDtE5Ny3 make sure your values are set without animation selected
thats what gets me %90 of the time
I checked it again seems that wasn't the case, couldn't it be like I missed some box that allows widget to be visible?
Hello, still learning Unreal and was wondering if there was a good resource like a book that went into more detail about what nodes do and what kinds of situations to use them in and best application of them. I have plenty of tutorials that use these nodes, but I feel like I am just following along and not really understanding fully why to use the nodes I am using
this is my go-to for learning about what each node does
This channel is dedicated to exploring Unreal Engine 4 and the Blueprint programming language that it uses. You can think of it as a companion to the API documentation as I try to cover the how and why for what things are used for when using the Blueprint system.
The master project for these tutorials can be found at https://github.com/MWadste...
he explains what each pin does and shows examples
Oh wow. That's a lot of info. Thank you!
and the thumbnail for his videos are usual similar, making google search easy to find his videos
Hi guys. How could i make it so flying pawn will follow mouse location (pitch, yaw) and have crosshair over that spot. Currently my crosshair is dependant on pawn direction (exactly where the pawn is pointing)
So say you're flying and turn the mouse right, you want your view to turn right and have the pawn smoothly follow?
Drive the camera component rotation by view rotation
RInterp the pawn rotation towards ViewRotation
Yes, like EA Battlefront 2
Hey, I am looking for a way to ignite my torches using a lit torch in my hand for example. Is there any tutorial for this? Cannot find any on the subject
Basically, pick torch and ignite other torches when the torch is in range for example
You really just want a tutorial covering overlaps and triggers
A door tutorial would cover all the same concepts
I was thinking of making state where torch is off/on and then on overlap just turn on the others, its little fuzzy in my mind tho ๐
That's it, you're on the right track!
Always try and break the problem down as much as you can before you start building it
I'll give it a shot! Thanks
Pay special attention to the collision profile on the overlap shapes
It's not stupid, looks totally reasonable
its like 0(n)^2 + a bit
but its gonna be a data table of less then a few hundred items
so
Should be fine computers are fast
Computers can handle it !
What do you mean by view rotation?
is there a way to detect if a camera component is clipping through a wall? or colliding with it.
i know what you're think but i'm not trying to prevent it from happening, i just want to detect it!
ah, okay, thank you i shall look into it!
for some reason my grid meshes bottom faces are doing this, the top faces look normal
this is how triangles are setup
how can I fix this?
is your material double sided?
this has nothing to do with materials
The normal is facing away so it won't draw anything unless it's double sided
i dont have a material applied to it, the problem happens when creating the mesh
though i dont know how to fix it
anyone know like a video for a simple scoring system? sorta like a sports game where if one team scores they get points.
what does the top look like, you say "normal"
I would think the math is wrong
yes though im not sure where
Sorry control rotation. Use control rotation for the camera, and interpolate towards control rotation for the actual Pawn rotation
Hello everyone, I've been wracking my brain over this and after viewing different youtube videos (CodeLikeMe, etc) and trying out different plug-ins (Directional Gravity & Dynamic Gravity Character). I'm not really sure how to proceed or even if the approach I'm taking is the best one. What I'm trying to accomplish is creating a player character that can walk on various surfaces (Floor to Wall, Wall to ceiling, etc) seamlessly. I thought maybe changing the walking mode to flying like in the CodeLikeMe videos would work but I wasn't getting the results I was hoping for. Then I tried changing the gravity vector through a plugin (Directional Gravity) with some success but ultimately I'm still not satisfied. My ideal result would behave something like the movement from Alien Vs Predator Classic 2000. Like this: https://youtube.com/clip/UgkxhUJMh8xZyoePQPQDM9Qzu30y8MrN4-Ar . I want to use movement like this for a third person multiplayer game where you play as insects that can cling to different surfaces in different orientations. If anyone has any suggestions as to how I can accomplish this I would appreciate it. Thanks in advance!
15 seconds ยท Clipped by Alvin Pollard ยท Original video "Aliens vs Predator Classic 2000 Walkthrough Alien Episode 1 Temple" by hankmanGTA
@crystal crown Could be mistaken, but that doesn't look like the rotation is interpolated much. If it is, it's completely visual with a slight mesh yaw offset that quickly returns to zero.
currently i'm using static meshes for the walls in my game. would it be a bad idea to use those meshes to instead create actors of those walls and use the actors as the walls instead? so i can use blueprints with the walls?
Hi. I don't know where to ask this question. The Cube mesh shows None in PlaceActors panel. How do I restore it.
Hi i added a menu in my project. I want to change the save data in the menu and the one in my own project. Would we be helping me in this regard ?
Sorry what are you talking about?
This
I'm doing something very wrong here lol. sorry i'm a little newbie. The yaw works
What if you rotate the world instead of the player
You mentioned it being like BF2. looked it up. I don't think the whole character is interpolated, I think that remains exactly on control rotation. The mesh is just visually interpolated at points when turning fast.
this is my data save
You shouldn't have to be doing any of that. Start with this.
First, make sure that the camera rotation is using control rotation.
Second, make sure that the pawn is NOT using control rotation.
Then, on tick, R interp the pawn rotation towards control rotation
Same with the flight controls. The mesh is sort of interpolated, but the controls are just locked to a speed
this is menu project
This will end up with a pawn that rotates smoothly towards the control rotation.
I want to change my own database with the database in the menu. Because there is an enavnter in my data save.
saves normal character. When I load, the inventory equipment does not register.
Is possible to have Custom Events in Game Instance BP?
you're asking this.. but have you tried it?
This is still wrong. The pawnBP boxes are unchecked. The camera is on spring arm. The camera box is checked. The camera moves but stays looking at one direction. Sorry for the hassle
it's a bit hard to explain without showing
What do you mean by "the camera moves but stays looking at one direction"
Could i pm you? I need to make short video. This is pretty complex. Also how do i get the crosshairBP at the control location
Sure. I'm on a phone but I can take a look
not yet
heya
anyone know how to do HTTP GET request in BP without plugins?
been days Ive been searching for solution
Hey, I have small problem or lack of info how to do something. How do I change this tutorial to have things in array of 10 x 10 for example instead of going in line?
Learn how to create simple or complex audio visualizer in this unreal engine tutorial.
Music visualizer in UE4.
Audio reactive in unreal engine4.
00:00 Intro
00:14 Preparing the project
01:00 Simple audio visualizer
05:56 Adding emissive material
07:34 Audio visualizer with multiple elements
11:49 Audio waveform visualizer
16:22 Outro
Instag...
how can i remove moviment from player when playing a animation, exemple i have a animation that shoot something but when velocity=0 but when im in animation i can walk and its weird!
Typically a montage with an AnimNotify on 2 frames to indicate disable and enable input
how do i set up ?
and how do i set up when i look for somewhere my character need to look that way to
like if its 180 degrees he will turn
seems like you probably need to look up some foundational knowledge about AnimNotify
i know how to use, i thought it was other thing, already solved
ah, sorry - im conflating your problems with mine, then ๐
no problem mate, do you know how do i set up
this
It's not exposed by default. You'll either need to use a plugin, or code your own C++ to expose it to blueprints.
Technically in C++ you can do anything, endless opportunities, then you just have to expose it to BP.
so, speaking of foundational knowledge...
Does anyone here happen to have a favorite course in the learn.unrealengine curriculum they can recommend about advanced or intermediate topics in blueprinting? or in general a favorite blueprint course that you've taken? Any class that has stood out as highly valuable?
I'm a white belt in Unreal coming from Unity, but I don't want to suffer through a million slow building tutorials talking about the basics of the editor, I want to get into advanced topics and work my way backward.
first one on my list is this:
https://www.unrealengine.com/en-US/onlinelearning-courses/converting-blueprints-to-c
yeah alright fair. Ill find my own courses.
Shots in the dark
@rigid storm screw tutorials, just jump in.
If you can make a capsule move around in Unity you can just dive in and go.
yeah that's a fair answer
When you get stuck, just Google the node and click the Mathew Wadstein video
oooh, nice proper noun
In the start its hard to know what nodes are avaliable ๐
Just right click and type/browse. Also applies to Rider when you're in c++ land.
Never touched unity so cant compare, but the returns from the search list is massive if you dont know what you're after
Personally. I had no background knowldedge besides XML/HTML and a small bit of lua about three years ago when I started using the engine. If you're looking to learn actual programming, I would advise against tutorials and courses. One of the most important aspects you're ever going to learn as a developer is to look up information. You will not remember it all. You will forget half of the things you learn and end up finding it again. Courses don't really teach this skill very well as they're too busy skimming what you need to know by giving you 'cool' things to do. Not to mention they're usually old and out of date.
If you're dragging off a node it'll filter by what applies to that node
yeah no worries there. I've been a professional software dev for like a decade now haha
When I started we didn't have videos lol. I started on day one.
Well day one of it being public anyway
I started on ue4.6 or smth
With a bunch of horrible tutorials
Doing everything on tick
Good times
End of 4.23 for me. I vaguely remember 4.24 being released. ๐ Just over three years go.
We await the physics-based pixel art Blockchain MMORTS roguelike with bated breath.
Forgot 300p battleroyal.
Looks at my physics based prototype, MMORTS prototype, and Roguelike prototype with shifty eyes.
yeah, the skills don't completely translate. its mostly things that are very engine specific im interested in learning. like how to build editor only components that collect offsets from positions I specify in the editor and pass them to construction methods in a blueprint, or how to best build debug visualization like wireframes or rays only visible in the editor, or how to compose C++ with blueprints
I'd spend a month in BP land, get really comfy with it, then fire up the c++
i mean outside of the blueprint world the same thing applies to questions like "when to use lumen instead of classic lighting approaches", etc
Is in Game Instance some event which is called when Game Instance is created? Because I have some "bind to event" functions in Game Instance, and they need Exec Input, but I don't know what do pass into that Exec Input, because there is no Begin Play or Construct
BP land will teach you how the engine ticks
Hey everyone, I'm trying to have a large room that is lit only from lights that are set up inside of the room but if I'm far away from one of the walls it bleeds in all of the light from outside. Is there something I can turn off to prevent this from happening?
Second this.
Game instance is the daddy of the other classes
It's the god object in a way. The other stuff wouldn't exist when game instance is created
I wasted 4++ years not starting with c++
Hmm
And C++ is not that bad :(
Idk if game instance begins play but when it's constructed it's super early
Its not bad at all ime
@rigid storm Also, going to save you a massive headache. If you understand basic OOP hierarchy stuff, don't be afraid of casting. Youtube and Reddit have a massive nasty habit of needing to point out the terrors of casting and to interface with everything in your project. This is largely because they're too dense to figure out how Unreal's garbage collection works and don't handle their assets correctly.
I know but I cannot find any event for it ๐
Atleast it has treated me nice so far :p
how do i check where player is looking? (To put the character always looking in right direction)
Raycast?
idk what is that ahaha
very excited to start hitting problems with this GC everyone always talks about in Unreal ๐
It's like laser beam from point A (for example camera) to point B (vector where you are looking) then you can check
I think
i will search thx
In Unity I was mostly doing Burst, which is a C# subset for vectorized code and the GC was pretty straightforward there if you know how pointers and arrays work
But I don't know if it is right solution for you ๐
You have to cast like always ๐
From what I understood
To be sure that some ref is really ref of that object
ohh really? theres like, dereferencing concerns?
oh boy, that will be fun. but, I guess Im way off topic for blueprints
@mint lava I don't think I would be able to because other players would be affected, I'm hoping to make a multiplayer game.
As an aside, are you able to make editor components with blueprints or does that have to be C++?
Short version is that Unreal instantiates a CDO(Class Default Object) for anything that needs to be used. This gets used for assets, copies of this are made when spawning new actors or creating actor components, widgets, etc.
So when ClassA casts to ClassB or even just has a hard pointer to ClassB, whenever you load up ClassA CDO then ClassB CDO will be loaded as well. This is largely not a concern for gameplay classes as they're tiny little classes that really take up no room in memory, can literally have thousands of code only classes loaded at a time without blinking.
The real issue is assets. Assets are usually StaticMeshes, SkeletalMeshes, Materials, Textures, Sounds, Particles, etc. However there are also what you can call "Asset Actors" which have all of these defined by default in their components. Having assets loaded that you don't use takes of massive amounts of memory in larger projects, so it's good to manage that by not casting to classes with predefined assets unless the caster always uses the other asset or the casted class is basically always loaded anyhow like a player character.
got it
To get around this issue, you store your assets in SoftObject or SoftClass Pointers instead of HardPointers.
๐ฎ
What is soft pointer?
Usually best use case for this I like to bring out is for Textures in UI. Stuff like Inventory Item's Icons. If you have a massive Datatable of inventory items, you store the icons as softpointers to Textures instead of normal pointers to textures. You still select the asset same way in the editor, and mostly set it the same way in code as well.
pretty sure that's a kind of 'unsafe' pointer, right? like the GC acts on them naively without ownership
There aren't really any sort of unsafe pointers. There's Soft, Weak, and Hard mostly. Weak doesn't stop collection of the CDO. In fact a soft pointer is literally an FNam path on disk, and a WeakPtr to the object.
Anyone know if its possible to make a var instance editable based on a conditional? I have an ai with two enumerators. One specifys the type of ai: roaming, rotating and patrolling. The other specifies the type of patrol the ai will do. I want for the patrol enum var to only be shown if you select the patrol from the AI type.
If you nullcheck them with IsValid, or if (PointerPropertyName) {} you'll be fine.
Do you mean this? https://docs.unrealengine.com/4.27/en-US/API/Runtime/CoreUObject/UObject/TSoftObjectPtr/
TSoftObjectPtr is templatized wrapper of the generic FSoftObjectPtr, it can be used in UProperties
So only C++?
Ah I see, I always use that first option Object ref
So Soft Object Ref is same but it takes less memory?
Not specifically. It just doesn't force the other class to be loaded when the class containing the pointer is loaded.
And it doesnt count towards gc?
Ah okay, and you have ref to that object by default or you have to do Cast?
SoftPtrs? No. Like I said they're just a FName and TWeakPtr mostly.
So I started a dialogue (plugin) from an actor via an interaction. Now I would like to end the interaction from the dialogue blueprint (when the dialogue is done). But I don't know how to reference/call/access the original actor to actually use the "End Interaction" node. I need a proper "target", any advice on how to get this done? ๐
Yes exactly! (mb reading to fast so didnt catch you mention that) ๐
Here is a slightly better example. If I have this property in a Widget. I have not set it into an Image widget or anything. It is nothing but that one property. Note that I have no casts. This 127Grey texture gets loaded the moment anything uses this widget.
A delegate can be usefull
On the other hand, this AICON-Red, is a soft object ptr to another texture. This texture does not ever get loaded even though I have it specified the same way.
i regretted not using gas, scrapped my own implementation
i regretted trying to integrate gas, now im trying to re-do my own implementation
Alright, I'll read up on that, thanks ๐ง
