#blueprint
402296 messages ยท Page 603 of 403
Go onto youtube and lookup Ue4 day and night cycles. There are quite a few tutorials I myself followed and actually combined a few methods to make my days and nights how I wanted them, darker nights and prettier days!
Oh, I did-- but most of the ones I could find took about a minute to finish.
(As in for the day and night cycle to finish and start it's cycle again.)
And all you need to do is call AttachToActor and keep world transform
Well, most of the tutorials use this from the old ue4 wikia.
The sun is moving way too fast!
The sun's speed is controlled by the "SunSpeed" variable in the blueprint you set up. Whatever value this is set to is how many degrees the sun will rotate in one second. For instance, if you have this set to 90, it will take 4 seconds to go through one day. Just reduce this value to slow it down.
I found this here, but when I did it, it didn't seem to work.
ig Im not understanding. I just tried that it and it actually deleted the item and make this wierd movment with my pawn
So if you have two objects on the screen and you click near one, what is supposed to happen?
Ohh okay that was my bad from the beginning. Okay so when this level is opened a single object is spawned in the middle of the box collision that you need outlined in the gif I sent. What Im trying to do is take an item that I have selected on my hotbar, which I have working, and have that item attached to the other item I click on with my mouse. I have 6 sockets on each mesh since they are cubed.
Yes.
ok is the spawned thing just going to be a mesh or is going to have logic tied to it?
It will require some logic so it knows whether a socket is occupied or not so it can give the go ahead to attach if unoccupied
Ima save that question for after my first one gets answered lol
i'm talking about the object you're spawning
you probably need logic so
the root of the object you're spawning needs to be at one of the socket locations
spawn the actor at the socket location
then call AttachToActor and specify the socket name and positioning parameters
store an array of 6 booleans, false means available, true means something is attached
every object after the first should have the root socket set to true in the array
Okay. So what Ima do is within each child BP I have for the objects I am going to make logic for the sockets and see if I can get it to work from there.
So I have a construction script in a placed blueprint, and wish to get debug info from it.. print string doesn't work :S What to do..
Hmm to answer my question I could f.ex. make a visible array of strings and add to it..
Have the construction script add a text render component? I do that sometimes
there's a class setting to run construction script each time you compile, could try that
Hi guys! Sorry to bother with something probably simple, but I've been struggling for 5 hours with it now, to no avail.
If I have an object A (person), an object B (cat), and a vector offset that says where the cat should be (like, 2m behind and 1m to the left of the person).
What should I do with that vector offset? so it becomes relative to the direction of the person (always spawns behind the back, no matter where the person is looking).
Something is moving my player up by 19 units, is there some way I could watch anything thats changing my players location and trace it back to the blueprint node, or at least the blueprint actor thats doing it
Something like this?
https://www.youtube.com/watch?v=13YlEPwOfmk
Check out the dev's own Creepy Watson April fools video in the engine for their new game, Sherlock Holmes: Crimes & Punishments: http://youtu.be/Bc5x9tclNh0
I made this in about 2007-08 when I was playing the demo for the new(ish - at the time) game, Sherlock Holmes: Nemesis and I noticed that you never see or hear Dr. Watson move. He just edge...
@paper python just add a scene component to your actor and use that to set the cat's position
I just picked human/cat randomly, it's really about two separate objects in space.
Actually it's about hundred objects moving in relation to one leading object, but let's keep it simple.
are the following objects at a static offset or slight variability?
if static, my previous statement still stands
@paper python Idk if this will actually work, but you could invert the forward vector of the person, and use that to place the actor behind the person. The math will be like this: PersonLocation + (ForwardVector * 100)
100 is the amount of units that the cat will be placed behind the person
Alternatively, just transform it with the main actor's transform.
You would probably want that to be smaller than 100 though
that would place it 100 units in front of the person, not behind
or just subtract it
I think you could probably just rotate it 180degrees
But theres probably a better way to invert it lol
but still the more simple solution is using a scene component to mark your target location and do whatever interpolation to that position
Hmm, not sure? It's a unit formation.
Each unit (small dots) can know its relative offset from the center point. Or it can know its vector from center point. Whichever works, I can calculate it when spawning them, store it for later use, etc.
But I cannot understand how to make them spawn if the Center Point is rotated.
I don't really like to add components that could just be replaced by some simple math
@paper python
the scene components are always relative to the actor's rotation
can make some simple constructor variables to define number of rows, columns, and x/y offset
So.. ForwardVector * offsetVector? Damn I hope that works (I'll also hate myself for a week if it's that simple :D)
The issue with components, is that they need updated every single frame if they're moving. This is fine with a few things or things that move very rarely, but if you use this method on hundreds of things, that gets very expensive to have a bunch of scene components being updated just for local space positioning.
@paper python Make sure to rotate the forward vector so its actually facing behind you
you would still have to do the same thing for the actors themselves when moving
If you don't then the cat will be in front of you
Simple Vector math is a lot cheaper than component movement.
Like I said, not an issue with only a few things, but it's something to keep in mind if you have a lot of scene components on a lot of things in your game. This is why if you can put it in a normal actor component and use vector math relative to the owning actor, it's a lot cheaper.
my point is that the math will have to be done eventually. rather make the components and attach the actors instead of computing the vector math yourself and then moving the actors yourself
Phew. ForwardVector works. I will hate myself for 3.5 days, because I actually tried that just before writing to the channel... but I used the BP node that just gives 0.0.1 instead of Actor's forward vector.
Before that, I tried all sort of things to do with triangles and circles and radius etc.
Bless you, guys, for restoring my sanity ๐
It's not just about the math. You have to factor in all of the calls and updates happening when a component is moved. Each and every component does this when you move an actor.
I have a hierarchical static meshes , is there a way to control instances meshes color say they range in three colors (array)
which whether you have scene components or not, still has to happen to the attached actors
You can see the issue if you profile a project with a few hundred AI moving, with a few extra scene components in them vs not having the components.
We're not talking about AI, we're talking about having actors attached at an offset
Then don't use AI, use simple actors that are simply moving constantly. Same thing.
Whoops sorry replied to the wrong answer. My bad.How would I go about changing the 1 specific boolean related to the socket in the array of "isSocketOccupied?" booleans? Would I simply take the integer from the designated socket and remove it from the index?
you're not removing it, just changing the value
whatever index you assign to that socket, that's the index in the array
but starting at 0 instead of 1
so if something is attached to socket 2, availableSockets[1] = false
you probably don't need the is socket occupied variable
you need a set node off the array, not add
and no for loop, just assigning index 0 to true
then probably a method that says like AttachActorToSocket(AActor* ActorToAttach, int SocketIndex)
check the socket array to make sure it's available, if so attach it and set that index to true since it's now in use
Would you be able to work up a quick example of your text? Im having a hard time understanding
maybe, we'll see if the engine will open
Yeah mines been acting wierd today and a few times froze at 75%
I haven't had the editor open in like a year lol
Oh jeeez lmao
Don't deal with it in my new job ๐ฆ
Luckily for you xD
we should be converting our main product to UE this year tho which was basically the whole reason I was hired lol
Thats always good lol
Definitely was overthinking it lol
๐
Place the master in the scene, only spawn the child and it should go pretty smooth
So when you spawn the child, you would call AttachActorToSocket on the the object in the scene
So what happens if I delete the master item that is initially spawned when the level loads?
You probably want a DetachMethod as well
and to store the attached actors
so you can detach them when the actor is deleted
so you could actually replace the AvailableSockets array with an AttachedActors array
So say if I were to place 15 of them. Go to the first one that is initially spawned and remove it wouldnโt that cause issues with the other actors being a child of that initial object?
Hmm. I dont have all of those Sockets as components for any of my bps
Those are just place holders for how I added the socket locations
But that should give you a decent starting point to manipulate it to suit your needs
Thank you for the help it is much appreciated
Is that two different processes to doing it or one?
Anyone know the best way I can disable a players input for x ammount of hours, even if they close the game? Any way I can use utc time or something?
@neon sorrel What is this for? Like multiplayer punishment, or?
A report system im using that sends reports / bugs to a discord server. Trying to just prevent users from spamming it
I imagine for simple bug reports, you could possibly just utilize local savegame info to see the last time the player reported via UTC and lock it until then. Of course that's easily gotten around by just deleting the savegame which anyone that wants to be annoying will do. The only secure way might be some form of online check that can hold that, rather than someone's local data.
Yeah, I mean I use dyanmodb already for player info and can use that. Just then it increases my traffic through the server and costs. so hmm
Users can now access Control Rig data from Blueprints with the Control Rig Component. This enables users to drive Control Rigs with Gameplay logic in Blueprints, re-initialize Control Rigs to fit differently proportioned characters, and read or write other Control Rig data directly. ***Additionally, users can now attach non-skeletal mesh objects to the Control Rig hierarchy with accessors in the Control Rig Component.***
Anyone know how to do that last bit?
Thinking of doing a "pipe mania" type puzzle for the mini jam over at itch.io. How would I store the game state in blue print? Is this a bad idea? Would C++ be the preferred way of doing it?
A big array would be a start I guess, but then I need to store the orientation of all the pieces, and check to see if the pipes connects between to points, and I can't visualize how to do this in blueprint...
I'm not familiar with the game, but I imagine that the difference between C++ to blueprint would be fairly minimal. Likely comes down to what you prefer. But also depends on how you implement it.
For instance... You can either do a full data method and display that with blocks, by keeping a full array of data of the blocks, a list of which blocks they connect to, etc. Or you can make each block it's own self contained entity that holds it's own data for what it connects to and drive the game that way. But as for saving the state itself during gameplay, it won't be much different between C++ to Blueprint.
Maybe this could help? Change the float in the multiplication node to increase how forward it is.
that's the end location of the trace tho @dawn gazelle
you're looking for what to place in your start of the trace, yes?
and you want that value to be a little bit ahead from the socket?
Thank you for the idea, experimented with it and managed to use UTCNow and savegames to effectivly create a system for it. ๐
Ok, my example is "socket location" + ("actor forward vector (which is only a value that goes between -1, -1, -1 to 1, 1, 1" x "the float defined as a distance"). So it should just give you a small value ahead of where your socket is.
so long as you put a small float number into the multiplication box
You were close in your example it looks like
thank you !
Does anyone know how to make the first person player simulate physics without having him move on his own?
I locked rotation and he shoots across the map in all directions
Is there a way to use select to pick based on a float variable that goes from -.5 to 1 or -1 to 2.
Whats the easiest way to manage bulk data? Like, lets say I have a village sim with like, 300 villagers, each with their own attributes. How much money they have, color of their shirt, where they work. That sort of thing.
Ideally I would love to have them all stored line by line in, like, and excel spreadsheet sort of structure
But I also want to be able to bulk edit them. Lets say they all go to sleep in a barracks building. So the actual villager blueprint people disappear, and they only exist in this spreadsheet now.
But what if I cast some spell that kills every single villager with a red shirt? Or I delete the smithy? How do I search through for these values and either change them to unemployed, or delete the relevant row, respectively
Is this even possible out of the box?
Importantly, this data needs to be able to be rapidly accessed and updated in the game
or is the answer just literally hook a mysql database and be done with it?
Just a tip: For those 2 booleans use an NAND gate then you can check if both are false (if they are you get true with a single compare)
I am have a save game working but getting odd results when going to and from the loading menu (which is a separate level) - does the playerCharacter unload and reload when you do a openLevel? I am thinking it does due to spawn points
Hey how can i storage info ?
I mean, for example i have an integer equal to 1, on the next level, I want to make this integer +1 (2). But when i moving into next level, this information doesn't increase
After second, On the next level, int should be 3, but it is being 2 if i wont storage that info
How can i save my int on whole game ?
@plain flare - you can use the GameInstance to save info between levels (I believe)
idk how to use it, but im gonna look tutorials. Thanks
I made a new Game instance called GI_Sanct and stuck a single string variable in it - then get that data like above.
BUT - I am having weird bugs where my character isnt saving between levels, so shrug - may not work
is there an easy way that I can get the actor that owns a component? Like from inside the component itself
be able to quickly grab the actor its on.
can you not subclass widgets?
@olive sedge @amber marsh You can, but none of the designer widget stuff remains. You can subclass variables and code, the backend/graph part. But the look will be lost.
I do this in C++ for example, because I like to have specific functions I can call on any of my main widgets to pass information into them as I'm adding them to screen or whatever without casting to the specific widget class. So I have UUserWidget and then MyCPPUserWidgetClass, and I create MyInventoryWidget that inherits from MyCPPUserWidgetClass and also UserWidget class.
I have the following Problem:
When spawning my Players in my Multiplayer System only the owner seems to get possessed correctly. Any idea how to fix this?
Where and how are you spawning the pawns that are getting possessed, and how is possession being called?
@maiden wadi yes,I only need common variables but got an error msg.. Anyway, they have a common config szruct now instead of a base class
Hi all, i was wondering if someone could give me a way forward on a problem we am having...
We have a MP game in the making and we need HOST ONLY Menu/Menu items. We are using the Node "Is Sever?" but this does not seem to be working as intended, it all works fine on the first set of rounds(When you create the server from the menu) but then after you have finished and all clients are pushed back to the main server lobby the host has no host menu at all? here is the "Is Sevres?" bit we are using.
is there a way to control the size of the widget for a scene node in the BP editor?
Here's my "doorbell" up close:
And here it is a bit back:
It's annoying my OCD
I'm using scene nodes to group like components in the BP hierarchy:
@gentle flare whats the issue?
Box should be renamed to Box0, all boxes must be in numerical order, and OCD absolutely has to be spelled CDO because it needs to be in alfabetical order! (If you ask me, which you didn't so I should just shut up)
I no wanna see this big yellow sphere where the scene node is
thats just a scene componnet or whatever icon. you wont see it in game
yah, but I don't wanna see it here in the editor
I'm gonna have buttons everywhere
Do I have to play the game everytime I just want to see what it all looks like without them big spheres everywhere?
Tried pressing G how you do in the editor, no luck
@gentle flare search for billboard I think. Something like billboard scale or something. In that component.
no joy
tried opening all the inspector groups and going through every property available ๐ฆ
if you've set g to something else it obviously won't work, but look for game mode under the render settings in the view port
(which by default is G)
Sorry, I didn't mean G in game, I meant in the editor, when you press G for game mode where there no widgets
Doesn't seem to be a thing in the BP editor window
in the BP window you can replace the root with an empty Scene component. I thought you were talking about in the editor viewport, not in the BP viewport
I guess I can just edit it ugly in the BP editor and check it in the main editor window on another monitor in game mode
they're not roots
is it button door 1 and 2?
hey, wait a minute
dammit
It's not the scene node doing it, it's the child actor... where there is a billboard scale prop
isnt that a child actor? is there a root in the child
I knew it was an id10t error
well that's why I pointed it out
so in the child actor class if you replace the root you wont have the issue
like I said
oooh
i dont agree with that
there's always a better option than child actors, but it's not necessarily an easier option
well, my button has functionality in it, using child actors let's me copy paste as many copies as I need and they all got the same func bada bing?
why aren't you just placing the buttons in the world and hooking them up that way? you're strongly coupling buttons with doors as it seems right now
I wanted the ship blueprint to be self contained so I could load it dynamically when required
so every ship will have a button in the exact same place ๐ค you might as well just parent a button to the ship so you can move the button independently in the world while retaining it within the ship
Sorry, instantiate it
theres gonna be a lotta explanation . without seeing the code... cant really say if its right or wrong. theres nothing wrong with child actors.. .. there is some bugginess with the editor sometimes with them but thats with structs as well and many other things
generally child actors skirt architectural rules, they're a pain to debug properly and they are performance hogs
hmm? that seems kinda silly since part of the reason to use an existing engine is things like physics?
plenty of stuff in the engine that you shouldn't be using
all bp actors start with tick on and epic recommends that the first thing you do in a new actor is to go in and turn tick off
and you think child actors and the entirety of physics shoudnt be used?
child actors in my opinion should be deprecated
I'm trying to build some basic interactions for star citizen like gameplay, so the ships aren't really things that just sit there like a level design feature
that I can just heap stuff on top off in the main maps hierarchy
I want to spawn ships as dynamically, so they sort of need to be all packaged up in one thing that gets instanced
I don't know what star citizen (or which part of star citizen) you're trying to make but for ships to work both as a vehicle and as a space you're going to have to make a lot of custom logic work it sounds like. definitely not something I would attempt in BP alone
mmm... I'm most the way there...
the little sleds were from a helicopter tute I did the other day
the flight model is pretty basic but it's mostly what I want
but even so you could make it within a single actor and hook it up with scene components instead of using child actors for instance. or create hook in points where you spawn actors and attach them, completely without the massive overhead that you get from child actors
so... I can put my BP button in a scene node?
a scene component is just a component with a transform. static mesh components all derive from scene components for instance
yah that's what I thought
Hello! Does anyone know how i can make when player holding d and press q then launch player to (d - right, a - left) ?
so you could probably make a derivation from static mesh component and add logic to it as you want for instance
equally you could also spawn the actor attached like I said
so spawning in main map is much better than child actors? why is that?
that'd mean I basically couldn't preview the end result in the editor, I'd have to run the game everytime I wanted to see what it looked like :/
if you have to do it that way whats the point of having an editor?
how do you not do that anyway right now?
like you cant test functionality in the BP editor
or even space use
ah, I just mean the look and design
well...
here I am in the BP editor
I can see where my button is, I can see if I like it's placements size, how everything looks together
but if I do spawning, all I see here is a socket
you can't see how it looks from the player camera
or how its relation is to the ground etc.
or indeed how the environment would affect it
this is enough of what I want here
for that stuff I'm happy to play (and for testing func)
but you dislike of child actors is obviously not coming from nowhere, what has your experience with them been?
just be careful that you're not setting yourself up for unintentional shenanigans because you want to skirt these things
I've given you very good reasoning for not to use them above
I meant specifically, you mentioned being a performance hog, is that 5 times slower, 10, 100 etc
cos I get the feeling I'll be fighting for frames at some point sooner or later
(don't we all)
it's definitely more overhead than spawning an actor in world, but I can't tell you exactly how much. but if you're spawning a ship full of them then you'll notice it for sure
hmmm
Hello! Does anyone know how i can make when player holding d and press q then launch player to (d - right, a - left) ?
if I was a young person I'd be all like nah she'll be right and then regret it later lol
hmmm
@sharp fox google "launch character"
since you're going to be building ships I think you should put some thought into establishing a ship building workflow that is optimized for performance and usability
Yup but i wonna do when player HOLD D and press q then launch player to right
well, that's why I'm being so nosy here now ๐
which may require a little more than just being able to preview a ship with child actors in BP
most painful part so far is placing collision primitives everywhere
no wonder crates fall out of the ships all the time in star citizen
to me a ship would seem more like the concept of a "blueprint", not to be confused with BP. as in, you're establishing where everything is in the ship, let the game build it, and then you inspect it
So anyone know how to do this?
you might need to try and be a little bit more specific natixo, I don't really understand what you're trying to ask
launch: you mean jump?
how i can make when player holding d and press q then launch player to (d - right, a - left) ?
dude
just copy and pasting the same exact thing when I just said I didn't understand what you mean...
lmao
when player hold d and press q launch character to right
ok
and this same on left side
so like a side step
^ ?
yea but launch
OMG Im using Launch Character and i must have launch character
Maybe im stupid or im stupid
You're not stupid
You're just refusing to explain in more detail what you mean by "launch"
How is you "launch" different from a side step?
xD
ok
called something like Get MoveRight
hmm never used arch vis so it might be called something differently there
try to look for get axis and see what comes up
what you're looking for is a node with a float output of axis value
get forward axis?
nope
ok i get it
can you show me your logic so far
i have
show me
Wait i have this
yes
cool
here's what you do
first
instead of using the capsule's rotation etc., just use GetActorForwardVector
and while doing that, also grab GetActorRightVector
wait i have to do q and w - forward, s - backward, d - right and a - left
i use it before and it make first launch is normal and second launch is HYPER SPEED
Moving Forward is my axis
so i use get moving right (as axis)?
ok
ok i got it
you'll need a vector + vector node and a normalize vector node
ok
like this?
just leave them unhooked for now. you still need the GetActorForwardVector and GetActorRightVector
ok so what i unplug
like this?
ok i have it
yea
show me
cool
Good Afternoon, I know my request follows multiple topics - mainly widget, blueprint and material - but I think this is the most appropriate category. I urgently need help on this topic, because its for an artschool application, the deadline is approaching and Im stuck on an issue that worked a week ago. But, thanks to unreal-magic, my character customizer isnt working anymore in the way it should: as you see in pic 1, my thirdPersonCharacter has a groom with a material assigned to. In pic 2 you can see a part of the widget witjh HSV sliders to control the color of the fur. In the WidgetBP Graph you see, that on the event "ValueChanged", the value h,s or v is changed. In the EventGraph of my ThirdPersonCharacter, in pic 4, the widget is created and all its variables are "collected", I then create a Dynamic Material Instance for my groom and its material on every tick. Then I transfer the 3 variables via a vector parameter to my material, as you see in pic 4 and 5. The parameter is taking and trough some nodes, is converted to HSV and being used as the BaseColor. Its important to note, that a week ago, everything worked fine, the hair changed on changing the sliders. But after testing some things and pulling on some nodes, it doesnt work anymore. Can anyone spot a mistake in these screengrabs, or point me towards an area where the mistake could be located?
@sharp fox here's what you do
use one vector * float with GetActorForwardVector * MovingForward and the other with GetActorRightVector * MovingRight
ok wait
ok
show me how you've hooked it up
cool
so now take this set up, and go to your launch logic
and plug it into the vector * float where you add the speed
OMG THANK YOU SO MUCH <3333
Is this located here correctly or is it more useful anywhere else?
I'd put it in the main channel as it has multiple areas tbh. debugging wicked problems isn't great over the internet though so I reckon you are largely on your own
so you mean #ue4-general ?
yes
k ill give it a try, otherwise im really lost haha
good luck
thx
Does anyone know how to offset the trigger frame for a blueprint based explosion effect in Unreal?
I want to use the explosion in the sequencer, but it always one-shot triggers on frame #1. The blueprint occupies the entire timeline, so I can't slide it down the timeline. I can't find any temporal offset for the blueprint.
project crashes at 93% that is some asset error, but the thing is when I take out the broken files and then start it loads, when I put them back in everything works fine. If I want the whole package, there are a lot of errors in the blueprints that have to do with the plugins, but there are no errors in the blueprints themselves, only in the log.
well, just looking at what you gave, i'd make sure your custom Tick events are being linked to a timer so that they are being fired off.
I am really horrible when it comes to drag and drop inventory systems(or inventory systems in general) does anyone know any good tutorial or something that can help me?
This is and updated version for Inventory And Crafting Multiplayer Tutorial series.
There are 40+ videos as of right now and there might be even more as we go.
If you enjoy these types of video, make sure to subscribe so you don't miss out on any uploads.
Join our discord: https://discord.gg/Gr9sPP2
Free assets: https://itsmebro.net
Donate: htt...
that one will walk you through all the various parts of setting up a working inventory, its a good learning source. you can make a fully functional inventory if you follow along and do what he does.
link should take you to the full playlist
Oh ok, yea I was confused at first with a 10 minute only video, but after I clicked on the link it gave me the full playlist, thank you!
np, good luck! ๐
@verbal bobcat he has a discord channel too, so if you get stuck on something you can ask questions there: https://discord.gg/pAaRF6Km
oh nice this might come in handy
hello guys , i am new here. i want to ask you a question . i work with the UE4Duino Plugin but the last upgrade only works on Unreal 4.23 Does anyone of you have a version that works on unreal 4.25 or 4.26
Yeah you right lol. Didnt even consider it
One message removed from a suspended account.
One message removed from a suspended account.
In the open card functions, return those card value strings
One message removed from a suspended account.
Random integer in range chooses from 0 to 2 randomly
What if i want 0 then 1 then 2
As sequence
Use for loop
Not expensive?
If you want to make a different random card pack and don't know how many cards it will be. Then you can make an array and append it every time you open a pack
Nah
So whats the difference between the two Attach Actor to Socket blueprints you showed me besides the obvious of one being boolean and another an actor reference
Only random in range working but i dont want it random i want it to respect the list order
Oh. Use counter
And after each execution, increment the value
An integer starts from 0 and at the end of execution add 1
Cant find a counter node
No, make an integer and set its value to 0
So first time it will get 0th index
Then after add +1 to it
I've been thinking about making a fall damage BP for my character
and I want to avoid event tick
I wanted to use "On Landed" for it
problem is, if I check for Z velocity of my character
when the "On Landed" event fires, will it detect the velocity at which it fell from
Then how would it stop at number 2
or will it detect it as 0
just tested
it does keep the value from how fast I fell before landing
Check if it's not == 2 then add +1 else set it value back to 0
Learn how to implement fall damage into your game with this quick and easy to follow tutorial.
Support me on Patreon and get access to videos early, join our developer community on Discord, get exclusive behind the scenes videos on my projects and much more over at https://www.patreon.com/ryanlaley.
Subscribe now to catch each video as they ar...
Tip:
If you ever need to take a screenshot of your screen when you're on windows
Windows + shift + s
any freeware plugin available for dialgoue trees?
I can afford it, but i'd rather not since money's tight.
So even some youtube tutorial's dialogue would be fine.
cause man, i suck at it
@slate apex honestly, the dialogue plugin is the best thing ever. I have it and it is amazing.
i swear if its like 200 euros
it is frankly amazing - works out of the box, the documentation is solid, and it's like a 10 min yt video on how to use it.
yeah, the ui is super basic but he has documentation on how to modify it
the best part is that conditions and triggers are built in so you don't have to rework it
I've been video editin before, and its basically identical.
WAIT NO WAY
FUCK
Now i wanna buy it
but man.
65 is quite an asking price for a hobby with no guarantees
you can set your own conditions and the dialog will do a check or if you talk to someone and want to open a door, it will open it
hhhnngh
welp, it's about 3h of work so take that into account.
bro i spend days
cheaper than to make it yourself
trying to figure out normal dialogue
yup and this is out of the box
my dialogue and interaction system is a mess
lemme show
it isnt as convoluted as it was then
this is bout 2 months old
but
still represents it

Who thought attaching two objects with sockets would be so stressful lol
I mean if you're not making a tree out of linked list classes, then what are you doing
One message removed from a suspended account.
So you donโt want them in an array but each their own seperate variable?
this sounds like an interesting problem. what is it you are trying to do? as in, in the game
One message removed from a suspended account.
If he made an array and added to it from the string selected from the for loop he would have an array of seperate strings
One message removed from a suspended account.
One message removed from a suspended account.
But it would give you 3 seperate strings
so go through what happens up until that point
You can also use a format node and type in Card{number} in the box and attach a string that way it will be formatted as Card 1,2,3 etc
One message removed from a suspended account.
show me what's before that get
One message removed from a suspended account.
One message removed from a suspended account.
One message removed from a suspended account.
so... why are you using a map here?
One message removed from a suspended account.
One message removed from a suspended account.
you could do that with an array
Could someone help me, i have this in the level blue print, when ive picked up 2 parts of a key and go into the trigger the sequence should play(it does) but then for some reason it resets to its starting posision
an array has an index, if you find something by that index, it's going to return the card that you want
now
because you've set RandomCard as a variable
and you pull a Get from that
it's always going to give you the same card
if you want 3 random values, use the random directly on the get
One message removed from a suspended account.
One message removed from a suspended account.
in that case use the loop as has been suggested before
One message removed from a suspended account.
anything on the right of keys can probably be deleted and you can place your loop there
One message removed from a suspended account.
anyway your BP is kind of a mess so it's a bit hard to read in places. I'd just have the card pack be an array htat you loop over 3 times, picking a random index each time, and add that to a secondary array, kind of like you have done
then
using the secondary array, loop over that to create separate string entries
you'll have to have some container created already in your widget that can display those 3 separate strings
so e.g. a text box or what have you
that should be it
Also instead of getting length and doing -1 to it, you can do Last Index on Arrays which will return the last valid index in the array.
yeah that will be safer as well
And if you're doing a multiplayer game, you may want to avoid using Maps, as they cannot be replicated unfortunately :/
Hey you guys, I am trying to figure out how to make a card in game but not give access to it immediately.
Anyone know how to do this?
can you elaborate?
no one will have access to a card unless you allow them to have it
Creating a shuffled deck of cards (using an enumerator of suits), and a structure of the card suit and value, including the ability to set how many decks you'd want to use.
Example of pulling a card from that deck
are card games hot right now or is this just a coincidence?
I just changed the logic inside the function and was showing you the new version
hrm... i wrote a couple card games in flash... im sure the coding for that wouldn't be hard to convert to blueprints....
Ahh I was confused because some of the nodes I tried to connect wouldnโt and so now I mean it spawns the item, snaps it than deletes the previous object lol
Like the Detach it doesnโt let me connect the parent actor node and for inside the Attach Actor to Socket it doesnโt let me Attach to Socket as the target I canโt change
Ok, let me change the scenario I guess.
So If I want the player to start the game with a certain character and they can unlock more characters laterite choose from. I have a problem where I can just choose to use ANY character I have made.
So how do you make conditions so that those characters are not visable or in the menu?
Can use character? = 0
make a character "inventory" array where you store the names of characters available and hand that to the player
make a array for the player that contains booleans, and if the boolean is true, enable/add the character in the list, if its false, disable/remove it.
don't give them the master roster lol
if your doing like a streetfighter type selection, just disable toe button that lets them select the character if the boolean is false.
Can this be simplified please?
Iโm new and donโt understand what youโre saying.
Also, these characters can have multiples (like a hatchโs game).
how do i disable collisions for specific actors?
Ummm, I am using the CCG toolkit currently but Iโm not sure how it stores cards.
so... can you show off your logic?
I mean that I have a class called player, and it is a multiplayer game, every person playing the game gets his own actor from the player class, but i want to disable collisions for a few of those actors temporarily
#multiplayer is probably better to ask about which things replicate and which things dont
its not multiplayer as of now
i dont need anything related to multiplayer help in this
but if it will be you need to ensure that it works in multiplayer too
which is not a given
i will handle that later ๐
i first need to get the basic game setup...its my first game so...
but i want the collision to not work for only two objects
so... set it on them?
sure
just gimme a second
https://youtu.be/AuZneFxtl10?t=139
@odd ember as you can see in this video at this time, the person is standing on the bomb
I saw this on steam and it was free so I decided to check it out, it is a little laggy unfortunately which with a game like this isn't ideal when you want to be able to instantly input your controls and move away from the rather time specific bombs, a game like this needs you to be able to get precise instant timing and because it lacked this it...
yeah so you place the bomb without collision and just give it collision once they exit
I need to disable the collider while there is a person standing on the bomb
This is basic collision profiles
only for that person
You can manually set object collisions to ignore each other
use a profile per player yeah
Yea
but also I would double check what replicates and doesn't replicate if you plan to do this multiplayer
Is it multiplayer
because multiplayer is not something you "do later"
it's something you need to have in mind from the beginning
i can test around whether i should replicate to server or not
ok ill keep that in mind
go to the multiplayer channel, have a chat with them folks
Testing will take 90% of your time
thanks ๐
and theyll tell you
There is a networking compendium or something
alright
yeah
Search it in google, it will help
but before that i want to get familiar with the engine
and this is my first projec
if you want multiplayer
so now is probably a good time to decide if it's worth it or not
ill do that too parallely then, but first i just need the bomb spawning to work
@edgy halo Although you can learn networking on the go for your first proejct. It's gonna bother you a lot and you're going to keep deleting your half made projects/
You should start single player imo
yea pretty much
can you assist me in implementing what you meant?
No :d
I wouldn't recommend multiplayer until you're years into game dev
Hmm
and even then only when you understand how much work multiplayer truly is
but its a basic game and i just need to choose whether to make the objects to replicate locally or server right?
If you just do it like that its gonna be laggy and buggy
it's not just that
Thats something else, thats basically singleplayer
hmm, so can you just tell me what you meant
it's when you start having multiple instances of the game
so @odd ember i just disable the collider for the components which are overlapping?
How many players do you have in the game, is there a limit?
well you'll still need to do a lot of the same notions, just you dont have to care about server replication as your game mode essentially becomes your server
If there is a limit you can simply create different collision channels for each player
hmm but its limited to 18 right
you're not going to be using 18 collision channels
is it possible to do something like have overlap and block on?
apart from the basic channels you need 1 per player and that's it
Is there a way to see blueprints that inherit from some class? In editor or in gameplay
Find references maybe?
hmm but what exactly is the advan\tage to do that?
It's easy
that you can handle bomb ownership easy
Ohh so the Boolean was old version and actor was the new version
reference viewer
@dusty ibex
hmm but is there no way i can tell unreal engine that
ohh block this object
and ignore this one
during runtime?
you can do that in many ways, but this is the simplest
we're giving you a solution that is easy to work with
for your first game
not sure why you are looking a gift horse in the mouth here
i just wanted to learn more sorry if it seemed like that๐
i did but there's lesser to understand from there related to my issue
Also tutorials on YouTube as well
Help vampires suck
sorry apologies from my end
didn't mean to seem like that
one last question๐
So when I make this card it is a Ali able in the game already.
Should I just make this project from scratch so that Iโm not confused by all the already made systems in this game?
how can I change the collision responses during runtime?
SetCollisionEnabled
A lot of stuff you just gotta watch tutorials semi-related to how you wanna do things than make an attempt to do it than if you canโt figure it out thatโs usually when I come here. Iโve been here a lot recently though because there is little documentation at all for what Iโm trying to do but I have found great help here
I already told you
yep
@shell heath I like studying other projects. When there is stuff I don't understand I usually start creating my own project by learning from the example and adding on top of it.
Itโs all good I got reemed by a mod earlier this week lol
reemed?
put into place
^
oh my bad
yes
The is socket available is just a pure function to see if the socket is occupied
correct
So how is the socket set to occupied for the child bp?
Iโd probably set that after the object is placed and the two sockets are attached
I would do that in the OnAttach method
On your bomb, this would give you the absolute basic ability to place your bomb where your player is, but then you couldn't overlap with your bomb once you step outside of it. The thing is, any other players could also step on to it while your player is still on top of it until someone finally steps off of it, after which it will block everyone.
which is passing the attached actor and the socket it was attached to
so you should be able to interpolate which socket on the child is now in use.
You will probably need an OnDetach method as well
Okay yeah I also realized I donโt have my socket locations even referenced in any of the blueprints
The scene component is to store the socket location
damage causer is self, damaged actor is playercharacter
Yes I had done that, but I want to allow anyone to go through
Is there anyway I can check actor's name, and then choose whether he should collide or overlap?
Looking good, you should consider adding a method called something like "Modify Health" and do this logic inside there and calling it off the Event Any Damage. You can also add a OnHealthModified delegate for use in the UI.
โGet display nameโ
you can but it's going to be buggy
the collision profile solution is less buggy
No but it should then choose whether to collide or overlap? I got the name part
Ohk, but if it is a larger game for example, then how would one approach this problem?
Ah nvm
Collision Profiles is what you want
Im being a help vampire now ig
but its limited to 18 right
Yeah was about to say collision profiles are your best bet
It is unlikely you would ever need that many
yeah but for a larger game for example?
where there's maybe more than 18 people...I was thinking of developing a battle royale from this
well think. Fornite is made in UE4 and doesn't have an issue with 18 profiles
It sounds like you're overthinking how they work
that was exactly what i was thinking
here
is a mega weird thing
when I run the game in a separate window
or when cooked
my UI is fully fine, a long with all its widgets
use the main viewport and
not sure where to exactly put it, probably in UMG?
could be just a general problem
yes, your positioning settings in UMG are a bit off
maybe, you should change your camera's aspect ratio
That's not the issue
yea it can't be
Your health text should be parented to the gray background
the editor's view is longer so it can be
well the camera doesn't affect UI so it can't be.
Nice, would you mind showing how you're updating the health text?
That's what I was afraid of. You don't want to use the bind functions because they are executed every frame. Your goal should be to create what is called an "Event Driven" UI.
So even when your health isn't changing, this code is being executed
You want to only update the text when the health changes
can you toss me a tutorial for it then or an example
I'm not sure how I'd be able to update the text when called
Yes a simple way is using Delegates or Event Dispatchers as they're called in BP
Learn how to optimize your UI elements by driving updates through the use of Events.
Example 3 talks about it here
alright, thank you
Doing this will make your UI really performant and optimized
Simple little change that can go a long way for performance
yee, ty
no problem
I'll add it in rn
cool, feel free to ping me once you get it working or have any questions
That's a variable that was created to store a reference to the player character
yee
Okay, so I tried to watch a video but there are too many options for me to understand what each one is.
So I am starting by making an Inventory. How do I begin to make an inventory tho?
It should be PlayerCharacterGL
Well that depends on what kind of inventory you are making
I did try that but then
mine vs tutorial (docs)
it looks like you created the health dispatch on a different class than your player character class
lemme look into that
oh yea I did
I have two separate player classes, one is deprecated
mb
I am making cards that will be placed on a board. So I assume the โinventoryโ would just be a list of all the available cards in the game?
And then I would create another โinventoryโ for the specific character in which they start the game with?
any inventory will just be a pool of whatever you have. a board state is "inventory" too
just the board's inventory
I would start with making a UMG Widget BP called inventory, and another UMG Widget BP called Inventory Slot
Inventory Slot would be the representation of the card
Inventory would be a Horizontal Scroll Box with a dynamic number of Inventory Slots
Then an Initialize function in the Inventory BP that accepts an array of cards and creates a slot for each card and adds it to the scroll box
Awesome ๐
Anyone have Any idea how i can replicate this wormhole effect? the blueprint that contains this is a spectator pawn with the "wormhole" attached and i want this animation to happen to all players when the host presses start
Might want to ask in one of the content creation channels
@unique harness what channels in specifically?
I'm not sure, I'm a programmer :P. Probably #graphics, #virtual-production, or #visual-fx
So Inventory slot would basically be โview cardโ so you can look at its stats/effects?
its more of a blueprint based thing though the animation is already triggered with a interface and is already setup
Inventory slot would be the visual representation of the card
You might have another widget that when you click on a card, displays a more detailed version of the card with the information
I can show you an example in a second
@shell heath
So this "whole" image would be the inventory widget
each card would be a slot widget
when you click on a card, it displays a larger one
so you can read the text and effects
So I only need the UMG widget BP for the card and then the UMG widget BP for the cards to appear correct?
yes
this is my logic for the wormhole effect when the host presses start game my question is my main menu visuals are driven by a render target thus when removing all widgets itll display the wormhole in theory is there a need to use the possess node if this animation happens automatically
I'm having a problem with this mess
I'm using a print string for debugging
and it wants to deal 98 damage for some reason when I enter the trigger
OH
It's outputting your health - the damage
I just realized why it happens
yeah
I used to set the health to that equation
now I realize the problem
I am terrifyingly dumb
Thanks, Iโll start on figuring this out and Iโll comeback if I get stuck. Appreciate it very much
No problem, good luck
now it works properly
can anyone answer my question if there is a need to use the posses node if A the animation happens automatically and B the wormhole is the default pawn in the main menu
im assuming not as i dont need any input driven to the wormhole itself but i just wanna make sure
possess is meant to transfer a controller to a pawn. if you have a default pawn set, then technically any players that spawn in would get their own wormhole.
ok then that answers my question thank you '
Is this new or did I just not see it before ๐
That's been there for a long time ๐
Welp
Save you a couple of nodes there ๐
Anyone know how i would get a refrence to my default pawn aka my wormhole? for each connected player
GetPlayerController()->GetPawn()
in blueprints
same thing
ok
^
yes
ok
how can i go about removing the main menu once i click on the button to open a new main menu? i cant seem to remove the menu after clicking on button
you probably don't want to remove it, just hide/unhide it
even when starting a game?
yes
so i was doing some debugging and apparently the cast to my portal is failing im assuming its failing because its not the controlled pawn but it is set to my default pawn class
any suggestions?
how will i hide it because i cant seem to get the widgetin game mode
to set the rule for it
What are you casting from? Spook?
from the controller to the get controlled pawn to the cast @dawn gazelle
Typically I add all my main HUD widgets to the HUD class so I can access them from there.
yes i have one main menu with everything as hud class are you meaning interface?
the all player controllers array gets set everytime a new player joins
So I thought that CCG toolkit would help me figure out what a โUMG widget BPโ is but it uses a โdata sheetโ to store cards into.
So what exactly is a โUMG widget BP?โ
The most Iโve done with widgets is create the main menu and move to different places (story, options, exit) with buttons.
no there is an actual HUD class
yes a widget blueprint
heads up display, display
Perhaps portal doesn't inherit from Pawn?
I don't think you're understanding me
lol cranz sorry im new
i'm opening the editor, one second
this only my 3rd small game im making.
@dawn gazelle i would think its because the array only gets set on post login meaning i would have to test on built copy again correct me if im wrong
yes i have that as a created class
is it a child of HUD?
badass metal band name tbh
@dawn gazelle its a spectator pawn so you are correct
children of HUD
lol
i dont know how can i check that
I wanted to make it so that when the player takes damage, the camera basically gets "punched"
how would I be able to do that
lol i just know i made a user widget
i just know i made a widget called main menu
oh
@unique hollow
alright
so i believe it is not a child
So what I'm saying is you can create a HUD class and store your widget references there
as an easy way to access them
i have a hud already for the in game stuff
user interface-> Widget BP
But how do I create a list of cards from the screen?
should i just tie it in to that
ok so get spectator pawn dosent work even though its set to portal
as boxes
that you fill
with images
and text
no, a HUD and the actual HUD class are different
Spectator Pawn still inherits from Pawn, so that's not the issue. A cast on my end works correctly. When you do a print string off of the cast failed does it display on screen?
yes @dawn gazelle
yeah i have that as breakithud
so it has to be a hud subclass then
So every image will represent another card?
How would I explain rarity/stats to the game then?
ok.
well first, you create a widget for the card itself. in there you can prop it up with all its attributes... that you can probably get from a data table
What is the Parent Class of BP_Portal?
@dawn gazelle
๐ค
@unborn maple now you can do this pretty much anywhere
Can you do something like this, and see what the controlled pawn is?
So I need to make a widget for all the cards individually and then create another widget with them all in it?
no that would be insane
@dawn gazelle
you create widget template for your card
Each card is represented by the Inventory Slot widget I was talking about earlier
which accepts your card struct to initialize the image and other relevant data
You have BP_Portal set as your Default Pawn in your game mode?
@dawn gazelle
@shell heath this is the important part. but also, you can format that widget to be setup as a card, or have a child widget do that for you
if you have certain card layouts that you want to have for instance
the cool thing about widgets is
as soon as you make one
you can find it in the layout panel as an option for other widgets
so you can keep nesting widgets
then, each card will be an instance of said template, each with individual data
Okay, so from the beginning.
New Project -> Delete all folders
What should I do first?
I wouldn't delete all folders, although probably epic didn't think about including a board game template
the plebs
Are SceneComponents as actor roots expensive?
Just to make sure... You had it set up something like this, yea?
scene is the cheapest
you can get for an actor
as a root
actor components are cheaper
but not rootable
Right but if I have a skeletal component as a root vs as a child of a scene component root
How bad is that?
probably shouldn't do that. You have a widget, BP_Inventory
yes
is there any actual skeleton enabled for it?
@shell heath in BP_Card you have a Card Variable,
Well when I start a blank I just start with a floor and some camera/light options
@odd ember yes
You must have some logic elsewhere that is making your player possess a different pawn.
@shell heath BP_Inventory has a list of BP_Card widgets
@dawn gazelle are you sure the portal does not need to be reparented
then yes. but keep in mind component cost isn't relevant to e.g. searching. so it's the same cost whether you have it as a root compared to in your component hierarchy
@shell heath BP_Inventory has an initialize function that accepts a list of cards to show and this would be the logic.
thanks dirtsleeper that work
Yep, it's fine to be a spectator pawn as it inherits from pawn.
@unborn maple no problem, glad it did
Is there a way to access objects outside of the blueprint? I want to modify the rotation of an object outside my blueprint but idk how to.
What's happening is your controlled pawn that your getting is not a BP_Portal.
It's a BP_MenuSpawnner
Which obviously cannot be the parent of your BP_Portal as your BP_Portal is parented to SpectatorPawn.
So the cast will fail.
but it needs to be a BP_menuspawnner otherwise my mainmenu will be broken
@shell heath BP_Card initializes image based on card passed in when created.
so a reparent would be needed in this case
would still recommend doing a card layout in widget instead of just parsing an image
No, your player controller is getting possessed into the BP_MenuSpawnner.
as in, as a separate widget
yes, i was just trying to make it as simple as possible
How did BP_Inventory become BP_Card?
it didn't, there are two widgets
Ok
if you're saying your controlled pawn is supposed to be a BP_Portal, (as your screenshots indicate) and that is what you want your player controller to possess, then why is your player controller possessing a BP_MenuSpawnner?
