#blueprint
1 messages · Page 213 of 1
What is the parent class of BP_Objective?
You don't Construct actors. You Spawn them.
Spawn Actors
Create Widgets
Cosntruct anything else.
yeah i don't want it to spawn, it just holds information in there
How are you planning on getting the info from an object that doesn't exist? What are you expecting Cosntruct to do that Spawn wouldn't?
i store it in a variable
On an actor class with no existing instances to pull that variables data from.
i just set it as "actor" because i didn't know what to set it to, what i want is a blueprint class that can hold information, that won't be spawned into the world and that i can store into an array of that object
Hey everyone, is that possible to have a datable or structure that everytime an other item of the same kind from the struct is on the map it hads 1 to the name so each item has an unique name even if it's the same ?
it's just to pass information to the widget, the name would be the text to set, and there are more variables that define other things in the widget
I would generally consider either a datatable, which you'll make out of structs. Or a new class of PrimaryDataAsset, which you can create instances of that class in your content browser to set data in.
alright thank you
Yes i'm using a datatable i made out of a struct but the thing is i would like to add a feature that had 1 to the name each time it replicates, is that possible ?
yes, best way I can think of is to have a manager that keeps track of the items it spawns, and increment a new integer somewhere for each unqiue item type
We lost Kezzy. Now I'll never know if he got it working 😦
Thanks for the lead, i guess i'm too newbie to now what a manager is but i'll dig it out !
know*
A manager is a class that is in charge of things, nothing special
Sorry raiden I was afk lol
I will try it now
Sure
Lookin it up on youtube 🙂
you just spawn an actor into the world, (usually at 0,0,0) coordinates, and let it be in charge of everything related to whatever you need it to manage. Like BP_ItemSpawningManager or something
@empty marten I think I've lost you now xD
Nope. I'm here lol
Sweet
Meet you in Pivot Point
Hello. I am making a gameplaycue that allows an arbitrary static mesh to "Dissolve In". Based on the demo I got from the asset store, this involves replacing its existing textures with dynamic instances so they can be animated. Is that all there is to it? Do I need to worry about garbage collection or are material instances cheap?
The instances will cost a very small amount extra to render, but it's not really worth worrying about until you get into the many thousands of instances usually.
As far as collection, they will stay around until their user releases them, usually when the mesh that the instance was made for is destroyed. Or shortly after that to be more correct.
I'll be using this for certain projectiles with a lifecycle in the 1-2 second range. Sounds like I'll be nowhere near the limit.
Sadly, I've just discovered that the pack I purchased requires you to use special pre-made materials and it doesnt seem possible to just add the dissolve feature to an existing material.
That's kind of odd.
Maybe I'm misinterpreting. Have you done dissolves before?
Not specifically, but the concept isn't hard to understand. Some form of opacity masking, maybe with some vertex animating.
And how can I allow myself to dissolve an arbitrary object in the world?
That is a slightly more involved topic. The general point is that anything that needs to dissolve should have your dissolve as a function/layer in it's material.
There is a video floating around somewhere about how Fortnite did this with it's AI spawns and special effects.
Damn, dissolves are difficult.
It seems that my knowledge of dynamically changing images and UI widgets in general is lacking. I've got this setup with a custom cursor that uses an Image widget where I can set the texture of the image but not the material. When I use SetBrushFromTexture, I can set a new cursor texture just fine, but when I use SetBrushFromMaterial, the image is no longer showing. I want to set the color and texture, so I need the material for the color part.
Is the MI_Custom_Cro... material Material Domain set to User Interface?
Does anyone know if it's possible to get to variables/functions from a custom game instance without casting?
Get game instance seems to only get the default game instance (even if the custom GI has been set in the project settings), and I'm trying to cut back on casting as my size maps/references are getting out of control. 🥲
I have not been able to find a solution online, and AI gets confused about it.
well, the Game instance will always be loaded, so whatever is hard refed in the GI will also be loaded , always
so casting to Game Instance shouldn't be a big deal
you can just get and cast once on Actor's begin play and save the Ref
Hi!
Guys, I was trying to simulate a multipass post processing effect by using the "Draw Material to Render Target" node, but I can't get the "CustomStencil" texture contents from the materials I'm passing to this method (the stencil texture value is empty). Maybe it has been cleared before calling this method. Is there a better way to do a "multipass" texture processing, or a better way to call the "Draw Material to Render Target" where I could get the "CustomStencil" contents?
Thanks, so im guessing the game instance isnt the best place to store references then?
I'm pretty new and only just learning about the memory side of things, trying to cut out that most of my BPs all have 'get actor of class /store as ref ' at least a few times on their beginplays, and realized its connected everything in a bad way.
So i thought using interfaces to 'get&set' variables/references in the game instance would be a better solution, but by the sounds of it i'm not actually doing anything productive >..<
that's exactly what I do and it hasn't bitten me yet
I keep any 'Global' variables there also
cool, i'll give it a go, thanks heaps 🤝
How do you add spheres to every point of a spline? I'm trying to get a runtime node edit system going with some draggable spheres
Nope, I hope that is the reason then
Yep it does work now, also didn't help that I wasn't setting the image size. The thing was as small as a pixel just hidding in plain sight
@versed sun Thanks a bunch!
can anyone help the character would go back to the original position for some reason
switch A and B for your Lerp, looks they are connected incorrectly
i did that and it just goes outside the map
hmm, where's your target location?
the default value is 0,0,0
how can i set it to the enemy
you would need another actor in the area
then you'd have to get that actor's location
ok thx
just to test, you could also set the target distance to some location in front of your character
yeah if i set it to 80, 80, 80 it does not go outside the map
Hey @spark scaffold , try setting this on the animation...
How would I get the "time of day" based on the direction light's rotation using blueprints?
wouldn't it be smarter to do it the other way around and set the light rotation based on time of day?
anyways, the formula is the same, you just have to solve it for timeofday
Yeah but I am trying to get "the time of day" inside a system I don't really want communicating with other things. And are there nodes to set the time of day?
That's got nothing to do with your lerp, infact you are not even lerping.. you have the node on finished.
Interpolation is something you do every frame, so place it in Updated.
As for the reason why you get rubber band, your animation animate the root, but you don't have root motion enabled. So when the animation finished, it got rubber band to the capsule location.
You live in Australia too 0o?
Anyway I agree with Ben, the rotation should be dictated by the time of the day, not the other way around.
Well I just want to show a time based on the rotation of the direction light, so I can just use GetActorOfClass and not have to communicate with anything.
And yeah 😎
Too many of us are programmers/devs
Search "tokyospliff" if you want to witness peak Aussie programming insanity
for time of day you have to implement your own timesystem afaik (at least that's what i did)
Yeah but couldn't you just do the math with the rotation?
Math is not my strong point lol if I knew what 0 degrees was maybe I could - but it's not 12am like I assumed
It's like early morning
The time of day based on the position of the sun lol
Aka directional light
hmm, right, i forgot that you want to solve backwards 😄
well, find the formula for it and solve it for TimeOfDay
i guess it takes some long/lat value for your position and time to calculate the rotation
It's the Y value of the rotation, I think - but I guess it can go in both directions (X)
I think I might just leave it, it's a prototype now I have other things I need to finish in a future build.
It would require a massive equation but I just realized I don't even have time of day yet so I can just leave it at 12PM lol
You rotate the sun to time of day, not the other way around
If I wanted to create a global event dispatcher manager object in the GameInstance, what is the best class type to use? Object? Actor? Something else?
ty
(so can object ofcourse)
I'll use object and see how it goes. Thanks so much!
by using component you avoid binding yourself to that game instance
since you can search its components from its base type
Hmm.. you think that would be betteR?
So i'd go with component, personally
Interesting, I'll start there then. Thanks again!
the other way around should also work tho
Wait.. can a component get instantiated before actors?
sure, it can. It's just a tad backwards since the sun system is setup to be adjusted by datetime ?
or is my memory failing me again ?
there's a sun system in UE by default?
yes
SunSky
or smth
An overview of the setup and usage of the SunSky Actor with the SkyAtmosphere component.
interface
which then got this
Is the game state valid during BeginPlay for level actors?
Develop some simple functions using blueprints, using mapping types, but later found a conflict between the mapped types and the requirements, so the type of the mapping was forcibly modified, then saved, and then the blueprint class could not be opened through compilation, with the error message:
UE5 Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0xffffffffffffffff
try to duplicate said blueprint, if you are lucky it will ask you to remove the broken thing
if this works, fix the copy, delete the original and chose to replace references with your working copy
it's not work
seems like you are screwed then
you can check in your Project directory Saved/AutoSaves if there's still a recent version
otherwise i hope you got backups/version control
I have saved it , thanks.I need someone help me to kill this problem.
I'm pretty sure stuff like that isn't guaranteed.
It's best to just not assume things will be valid on beginplay
A lot of the time it will be, until you package the game and one in every 50 times it's suddenly not valid
Honestly I just never assume anything will be valid ever
oh god.A new problem:
Assertion failed: Tag.Size == Loaded [File:D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\Class.cpp] [Line: 1697] Size mismatch in Affected_M of PlayerBP_C of type MapProperty(ObjectProperty,BoolProperty). Loaded 48 bytes but expected 53. Package: FObjectReader
hi im having a problem where my pawns that use floating pawn movement component keep sinking down even though I disabled gravity. How can I fix this?
Revert in your source control if you don't have one setup, you are most likely screwed. Take it as a lesson and setup version control system
Or the next time it happend, you deserve losing all the work you did
It's kinda hard to crash in blueprint, when you do. It's probably corrupt and no saving it
That’s for @slate dust I imagine
Is "Get all actors with interface" an acceptable practice to implement BPI if not on tick?
Acceptable practice is more down to what you're actually trying to do with it. Do you actually need to get all the actors with a specific interface or are you only wanting a handful?
Anyone ever facing different behaviour from Engine and Packaged Project?
In Engine I did set text in a widget in Pre Construct Event and it work when played
But when packaged the text are not set as expected
yes, getting actors with specific interface
You didn't actually answer my question.
I could use some help with a problem I'm having,
I have a diablo sort of game the characters have like 10 skills all with unique ids that are pulled from a data table
I'm having trouble tracking independent cooldowns, I wanted to store them using a name array but I can't pass a name with a settimer and can only have one active with a delay, anyone have any ideas?
You should have something stateful to represent the spell when available
Then that thing can store a cool down float and all cool downs can get updated on tick.
so a name/float map and the tick updates the float on tick and when it exceeds the set cooldown set by the data sourced from the id it's removed?
that could work
The obvious answer is GAS
maybe not on the tick but on a setimer
Or I think the ability it self should be at minimum an instance
Having all the properties that it need, cool down , effect etc
yeah I was just looking at GAS, it came out right after I started my project and I never felt like adding it
I don't know about the float name Map approach
I was just riffing on what adriel said, it seems like it'd work
if only we could pass inputs via settimers it'd make things so much easier
Which location should i get so that the vector distance between possessed character or anything from a particular bp can be calculated
I am using character location for now but when i get in car or any other vehicle it will not work
Some things may work for the time being and you don't always need complex system for a simple game.
So imo it really boils down to how big the game correlate to how much effort you should make a scalable system.
I free styled my old project and didn't spend enough time architecturing the system.
In the end I end up with giant spaghetti monster and things that I need to repeat
GAS is cool but I worry about implementing that into what is a largely complete game that's already had everything built
There is a get distance node that you can pass two actors into.
Sure there would be a point where it's not worth it to implement a system to a complete game
I'll give my map idea a shot doesn't seem too hard and should work
Well if you are working on cool down I would say the project has just begun 
Might regret not using a well adopted system
it's more like I'm changing how that works, i used to use the skill slot ui for handling it but I've been moving everything out of widgets
Yea dont have anything in widget, widget just read
I want only the cosmetic stuff handle in widgets
the widgets at least worked previously because they're instanced so I had to come up with an answer to that
Of course, I have backups, thank everyone for their concern, but the original error still cannot be solved, I don't know why.with the error message:
UE5 Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0xffffffffffffffff Assertion failed: Tag.Size == Loaded [File:D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\Class.cpp] [Line: 1697] Size mismatch in Affected_M of PlayerBP_C of type MapProperty(ObjectProperty,BoolProperty). Loaded 48 bytes but expected 53. Package: FObjectReader
Source control is not back up, if your backup corrupted you are fked and that backup might depend on other file that doesn't get changed.
So setup version control system now to prevent further damage.
This is the best help you can get
Or suffer losing your project in the future
@slate dust do you crash when you open your player bp?
IMO, if you're not willing to pull the trigger and change to GAS. I would at the very least, construct some simple UObjects that represent your skills that you can store your data on. These can also have their own individual timers in the timer manager for their cooldown callbacks.
I'm making specific BPIs for specific number of BPs inside a level, so "Get all actors with interface" simplifies getting the "actor" pin.
yeah that's probably a good idea
Cannot compile blueprints, cannot open player bp
Yeah it's corrupted. Only source control can save this
But you didn't set it up
So that's that. Learn from mistake and setup source control today.
you could probably narrow down the problem file and remove it, via explorer and then relaunch and recreate a fresh version
The former, "actually need to get all the actors with a specific interface"
It's the player bp
Source control
but is there not anyway to get the possessed character location?
Why expand using bandages when you have the tool foe the job
thanks everyone.I got it and will rebuild it.
Wishing you good luck.
Get the controlled pawn from the desired controller?
I pray you setup source control, for your next build.
@slate dust What is the class Affected_M ?
Affected_M is not a specific class, but rather a variable name that represents an array. This variable name is typically used to represent an array containing multiple numerical values, where the type of these values can be integers, floats, etc. In UE, arrays are commonly used to store multiple numerical values so that they can be accessed and manipulated during calculations.
I'm not following. What is Affected_M's type then? A struct?
If yes. Does that struct have and purple or blue ref types to instances or their class types?
I am used as a Montage reference class for being hit, and frankly, I don't understand it either; I just followed the pattern.
The problem I encountered was caused by repeatedly modifying the type of the mapping class. Since it was a followup modification, there were still some references in some places. I remember I disconnected all the lines, but it seems like there are still some associations.
I could be way off, but my initial assumption to things like this are circular dependency linkers. A needs B. B needs A. Which do you load first? Either way one of them can end up breaking.
Who knows? In my life, I've never experienced a project crashing due to modifying variable types before. It's my first time encountering this issue.Who knows? In my life, I've never experienced a project crashing due to modifying variable types before. It's my first time encountering this issue.
How do I make a controller input count as a mouse click? im trying to make it so when I click trigger it does mouse click
C++
Damn
you could try and have an event that is triggered by 2 ways mouse click and the controller input and if you still need the mouse input location without clicking the input you could then get the location of the mouse from 2d and convert it to a real world location
nice the name/float map idea worked perfectly
When I use the Add Level to World node, with either LevelStreamingLevelInstance or LevelStreamingLevelInstanceEditor classes, I get a crash. Does anyone know why or have a workaround?
EDIT- Fixed- had to use a .(asset_name) extension rather than a .umap extension.
I'm trying to use a blueprint to add a level instance to my world. I have the path to the level.
What is the way to round this normal impulse(from impact hit) to range between 0 to 100\
Clamp, or remap?
No clamp can't do this as it will just make every value 100
Then you need a remap. With an upper value you expect.
normalise in range is good but sometimes it gives wrong result
I never used that though. are you talking about this
out of these normalize to range is working around correct
but not perfect
no
you want clamped remap value range
how can i get my level sequence into the bp like in the picture?
When spawning an actor (A level instance), it doesn't seem to load initially until I move it in the editor. Is there a way to make a blueprint force this update?
that's most likely a level blueprint
for an actor bp you would make a level sequence variable and make it instance editable
then it should be possible to select the sequence when the actor is in a level
ok thanks i go for it
ok i try it out but the problem is that i cant connect the variable with sequence player to get current time of it
1.) i haven't said to add it to the level blueprint to begin with
2.) this is a Sequence player?! not a level sequence?! which might be different
3.) more context would be helpful, what are you trying to achieve?
its a level sequence that i use in my level bp
i try to say: "ok at the last frame jump to the next level"
ok then level BP might be fine
tho, i wouldn't compare the frame but use an event in the sequence
i have the solution but i dont know how to get the sequnce like in that picture
well delete the variable that you made before, there's probably a solution to get that node
but i haven't used Level BP enough to tell you
also the solution sucks
where did you get it from? some weirdo YT tutorial?
ask your coach
not
reachable
for the next time
Hello guys,
I’m super confused in this cooking error
I declare a function in my thirdpesoncharater.h file
And make it exposed to the blueprint,
I can call it on the blueprint and connect pins to it, compile it and play it properly on the editor, but when I do cook it, I get the error
Could not find a function named “function name”
hello
I need to round Float to a number, either -1, 0 or 1 how can I do this, is there any node?
if it is -0.4 it will be -1, and if it is -1.4 it will also be -1
Why would -0.4 be -1?
is there a delegate i can bind to from a utility widget that gets called when clicking PIE.
nevermind
search for the sign node
but i think 0 may need special treatment
it might return 1 for 0
and since epic now also broke 4.27 google results...
their doc is unsearchable for normal human beings
i wanne make this kind of ferris wheel thingy. i need the long stretched cube attached to it to work as a cart. so not having the same rotation as the wheel its parented too. how can i do this. locking rotation doesnt seam to work.
Hi there,
I have a small bug in here.
What I'm trying to do is to interpolate the spring arm position to a new location when the ground on which the character stands changes. Basically, the camera is not allowed to jump up and down with the character when he stands on the same floor/ground height and should only move if the character moves to a higher/lower platforms.
Now theres a small problem.
Whenever a character jumps and lands again, its original Z location is not the same as the previous one. Depending on the ground, even if you use a plane floor, the Z location changes just a little bit e.g. from 70.15 to 70.144449
This could be an inconsistency in the engine or cause by animations resulting in the Z value change.
To ignore these little changes, I tried to a tolerance range with the "In Range" node leading into a "branch" node. I only want the interpolation to happen if the Actor Z location has significantly changed from the ground height.
Now this all happens in the Tick event.. Therefore when the character lands on a new ground height, the "true" part fires and ground height and the actor Z location is set as the new ground height and interpolation starts on the first frame. But on the next frame this "in range" comparison happens again and this time the "false" part starts to fire and the interpolation stops because now ground height and actor Z location are the same.
My question: Is there a way for me to finish the interpolation first and setting "ground height" after it has finised playing? Or another way to set groudn height perhaps?
Whenever a character jumps and lands again, its original Z location is not the same as the previous one. Depending on the ground, even if you use a plane floor, the Z location changes just a little bit e.g. from 70.15 to 70.144449
That's a variable distance to floor, inside the CMC, C++ level. Something between 1.8 and 2.4 units.
But the 70.15 to 70.144449 is just normal floating point stuff. That's the reason you shouldn't == check floats.
To answer the main question(s):
- There is an OnLanded event, which means you don't really need to handle the comparisong on Tick. It should be enough to compare the new location to the old one in that event
- If your condition for the transition results in TRUE, you want to START the Transition, via setting a boolean to true, and then on Tick update the Camera while the boolean is true. Once the Target and Current Location are NEARLY EQUAL, you can set the boolean to false again
- If the player in the meantime lands on a new spot, you can update the Target if the boolean is already true so the camera interpolates to the new target.
Hey all, I'm making a Wdiget blueprint, but this node here is causing some issues.. Looks like Filter By Class actually LOADS the level i'm selecting internally before I even open it.. Makes it cumbersome becasue I need to selecte hundreds of levels at once.. Is there another way of doing this?
In other words, how can I check if the Seleted Asset is a LEVEL, without loading it?
Is there a way to find all the potential errors before hand (may run a script or something) in runtime or builds?
Because some BP errors happen only some times making it hard to know whether you were able to fix it or not.
No, but you can automate testing. You can learn about it here: https://www.ixiegaming.com/blog/comprehensive-review-game-test-automation-tools/
hey i have weird issue, when my actor is controlled the camera that i want to use is not used , instead it creates a camera and does this how would i go on on fixing this? to be honest i dont know what even happends
On a scale from 1-to-10, how heretical is this for storing data instead of using a data asset / data table?
134,235,346,822,653,824,754,465,386,452,435,435,882,236,745,174
Sounds about right. 😂
To put it simply. I'm a UI Engineer mostly. And I don't want to load a bunch of 2k-8k textures, sounds, particles, etc. All just so I can get the amount of damage a weapon is supposed to do to show that in a widget.
Makes sense - I suppose Get Defaults loads it all into memory even if you don't use it? 😱
Anyway, I'm safe - I'm using Data Assets, but I was in a conversation (+ I have lots of Unity experience where you could use Prefabs for data as well if you so chose) and could not articulate anything practical aside from clean separation of data and reduction of clutter. Your argument is very tangible, thank you!
Hi,
thanks for your help.
I dont know if I understood you correct.
- Which comparision do you exactly mean. The "isFalling" part?
Another issue I have is that when the player jumps while the camera is still interpolating, it snaps to the new target because of the "false" part of both branches since there doesnt happen an interpolation. The reason I dont interpolate there is because this part keeps the camera fixed when doing single jumps. If I were to interpolate here as well, the camera would be moving constantly.
I thought about fixing this through a boolean which checks wether the camera is currently interpolating or not.
When the camera is interpolating, it should also interpolate to the new locationg,
When the camera is at a fixed position already, it should not interpolate here and stay fixed.
But how would I even track wether the interpolation has finished or not?
I commented the part I meant
I mean, I already told you what I would just repeat now
You need to actively keep track of a Transition being in Progress or not via Boolean
Could someone look over my thread?
https://forums.unrealengine.com/t/problem-between-casting-blueprints-image-wont-be-valid-anymore/1975940
Hey, I want to hide an image in my Interface Widget. My problem is that the Casting Node messes up the commands for some reason. When I use the Events in my Interface Blueprint it works fine, but not in my Thierd Person Character Blueprint. Does anyone one know a solution or a other way to handle this?
Don't use this coach
show how you're setting Refernce
If this is all you're doing to set the value in "Reference Widget" then this is why you're having trouble. Normally object reference need to be set at run time, otherwise you're setting the value to the asset of the widget, not the actual instance of the widget.
am i supposed to run async tick bps on async tick
or can i connect them to on tick
hello everybody i want to disable aim while i am in first person camera
in game animation sample pack
What?
for example
any one can help me waiting 20 mins
What is async tick?
You need to be more specific with your issue. What the heck is “disable aim”
ATP add force here is an async tick function
Oh it’s some physics thing
The new node “Event Async Physics Tick” runs on its own separate thread, which improves physical determinism & predictability. For Unity users (like me), it’s the equivalent of (FixedUpdate), i.e. Fixed Time Step/Delta Time.
so i've been running Async tick functions on tick like a retar
lol
Well this just makes it tick on a different thread from what I can gather
So you should just use that if that’s what you need
Shouldn’t, it’s just some form of bp multithreading, which I didn’t think existed
I haven’t tried this game animation sample pack thing but if you aim by right clicking for example, you can either remove the mapping context altogether or just have a bool on that InputAction that checks if it’s in FPS before running the logic
idk how to do that
You should start with basic bp stuff like execution path, booleans, etc. then, try “your first hour in Unreal” on the Epic portal.
i knwon i can create tings like makking fpp to tpp like that stuff i kown how script using bluerrit
Well you just said you don’t know how to use a bool/branch on an InputAction event
for some reason its not going past the first branch. Can anyone help?
Well a branch has 2 possible outcomes
So if it doesn’t go past one outcome, it’s probably the other one?
i tired to switch it it just would not work
What does that mean
Did you use print string or breakpoints to debug and see what’s failing ?
Is it the recommended Epic Games convention to name custom events with an "On ..." prefix? I've seen that used a lot, but I'm not sure how strongly to feel about it.
no
Anyone know of guides with a spline placement tool during runtime? Having a bit of difficulty trying to figure the logic out
Name them whatever you want as long as its short, concise, not similar wording as the engine's built-in events, and it makes sense @high iris
Sounds good, thank you. The "On.." convention make sense for things that react to events, but a lot of the times for me that custom event is treated as just a function into the object that something else can invoke. Not to get too philosophical about what is an event handler vs just a function.
i watched a couple introductory videos and then just jumped right in. Im by no means an expert or anything. I just found that the best way to learn something like bp was by doing
"Best way to learn blueprints to make a game like slime rancher" is a very big question that no one would be able to answer. Instead, break it into smaller problems - figure out what features you want to take from Slime Rancher and try to find information on how to make them. If you're still having trouble with one feature, break it down even smaller and figure out each of those smaller bits. Eventually, you piece all of this together and you could have a game like Slime Rancher.
There is no surefire way to learn. It's just a mix of reading, watching videos, and attempting stuff yourself.
It's worth noting that Slime Rancher is a fairly complex game, just like any game. It is one of the easier ones on the high end scale, but there are a lot of systems involved and it's not all just about blueprinting. Shaders, animations and UI, etc.
Slime rancher also has a lot of moving parts, which means heavy optimization. Which I'm 100% isn't scalable in BP alone.
The question also merits whether or not you have console plans? As Slime Rancher is large on consoles. You can't do consoles easily without some C++.
There are a lot of game systems to break it down into like Datura said. Attributes and abilities for starts. Inventory, understanding savegame handling, player progress, sublevel handling for optimization and not keeping things loaded that don't need to be, etc, etc.
More profitable?
PC only games are a huge risk. 🤷♂️ But if you're a solo dev it might be worth it. Consoles are where the money is.
🤷♂️ I wouldn't consider releasing a game unless it was international, personally.
True. But you don't have to do that immediately. It's still good to prepare for. And gamepad support is great even without consoles. People like using their gamepads on some PC games, and Steamdeck is gaining a lot of popularity.
You can use CommonUI for your UI stuff these days pretty easy in BP only. Gameplay controls in EnhancedInput are also fairly easy to do.
But yeah. 😄 General note was just that as a precaution, even Slime Rancher is not just a simple game. You have a lot of stuff to consider and learn for it. So as Datura said, try breaking that down quite a bit more as you're learning, and eventually it'll all kinda fall into place.
I'm not sure I understand the question?
That's up to you. Everyone learns at their own pace and based on their prior general knowledge. 🤷♂️
is there no node to get the editor viewport camera location?
I've created an new Project to see if everything is not interrupting the code.
This is the only Code I added to a Thierd Person Project. It doesent work.
Hm, why can i not make a blueprint class with parent of UBoxComponent?
does anybody know how i can change lighting in the blueprint viewport?
I am trying to make a UI that rescales to whatever is the resolution in order to keep same proportions - should be pretty trivial, but setting ScaleBox to "scale to fit" does nothing and no other setting I tried does make the widgets rescale either
when I change resolution
What's the best way to make a basic save system for an arcade racing game?
Assume the save system only needs to save:
Best time of each track
Whether or not the player has completed a track (thus unlocking the next one)
because it's not marked as Blueprintable
Wrong node for creating a widget and you're not actually setting a reference to the widget as that "SET" node's execution path is not connected.
Wich Node should I use? And how can I get the right reference?
"Create Widget" and you need to connect the "SET" node's execution path in order for it to be executed.
any help with my widget problem (UE5) ?
Quick easy question that I cant seem to find the answer to
How do you split the values out of a rotator Variable so that I can just pick one of them?
I just figured it out nevermind, I just Split the struct pin
You are a F*cking Genius. It all worked. I've stuck with this simple Problem for days.
You should get a Role on this Server for activly helping!
W mans
There is somewhere in one of the subsystems. I remember seeing it at one point. Have you found it yet?
no i always search for it then give up
if i do a search with no context i still cant see anything that looks right
Generally, is this seen as the best way to do save games?
I'm using an Editor Utility Widget that I want to use a button to open / close while simulating. I have set "Is Enabled in PiE" so it's able to be clicked on during simulation, but it seems it's not executing the events fully. I'm using a timeline to open / close the doors on a custom event. But it seems the custom event triggers successfully (tested with print string), but the timeline never plays.
It seems to work when I run whatever I want on Construct from the EUW, but not from a button. Is there something special I need to do to trigger it from a button?
I think this is what I was remembering.
Usually, yes. There really is not a good reason not to use USaveGame when saving a game. Though some people do write their own methods. It's very strongly advised not to do that though as USaveGame is entirely platform agnostic.
I'm trying to get one actor (BP of CineCamera class) to follow another Actor (also a BP of CineCamera class), every frame by running "Set Actor Location and Rotation" in the EventTick.
But the "driven" actor is slightly delayed behind the "driver" actor. I need it to be a 1:1 mapping through BP code.
I researched it and came across using a "Pre-requisite Actor" node, or setting the "driven" actor to a later Tick Group. But it doesn't seem to work at all. Anybody else got any experience with doing something like this?
Should be identical.
Follow as in both of them in the same exact place?
What should be identical?
Running logic on Construct and a button's OnClick.
Yeah, it should be, but it's not. Hence my confusion lol
Button doesn't seem to trigger while simulating
Ah, Get All Level Actors doesn't work
Is there a way of getting a reference of an object in a level inside an EUW?
You're using this?
For one of my simpler tests, yeah. I need the "driven" camera to fully follow the "driver" camera exactly 1:1 via BP code, can't use a parenting system.
Once i have the delay issue figured out, I'll be able to implement it into my "main" setup, which figures out where ActorA is in relation to another actor in the world, then it sets the Relative Transforms of a component in ActorB. It's a little confusing 😅
So far the code all works fine, there's just a delay when the "dirven" follows the "driver" and I can't seem to solve it with Tick Group / PrerequisiteActor nodes. I know I'm likely doing something wrong, but not sure what yet.
do you have to be in a specific blueprint to access the unreal editor subsystem node? cant find it
I noticed that every object in a running game seems to have a URI associated with it, that's a combination of the game folder, the map that's currently loaded, and some object hierarchy. Is there anywhere I can read more about this? Curious what keywords to even search for?
No cause it works fine on Construct, just not on button press. This is when simulating.
Editor Utility
thanks
Dunno then. May be an issue with simulating, as generally editor utilities are meant for affecting a non running world.
Why can't you just attach one to the other?
I know, I have a specific usecase so wanted to see if anyone is familiar with it
hey guys how can I easily stop the sound instanly?
I'm using the audio attenuation
Are you talking about the thing such as WorldName.ActorName32.SubObjectName34?
thanks
Yeah, the address of an object that you see when you are debugging in BPs and you mouse over a UObject or AActor
I'm not sure how much information you'll find about it in BP. But what you're looking for is the object pathname. It's an appended string of the object's name and it's outers.
For my end goal, it wouldn't work
E.g in this example, the Driver camera is an Actor in worldspace, not attached to anything.
The Driven is a component of another BP volume.
My current logic will get the transforms of the Driver relative to the blue hologram volume next to it, and then map the transforms to the Driven camera component in the capture volume BP, which is surrounding the character.
So it's mapping transforms across from one actor, to a component relative to another space.
But this has some delay, so I thought I'd do a much simpler test (just for learning to get the Tick stuff correct) where I just 1:1 map 2x actors in worldspace. But even that has delay and I can't get the Tick Group/Prerequisite nodes to actually fix the delay.
I'm still failing to see why attachment won't work. You can attach a component from one actor to another. And attachment does exactly what you're trying to do. When the root moves, it updates all children immediately.
You need a reference to the actual sound object that is playing. You can get one by using "Spawn Sound Attached" instead which then gives you a component reference you can use to stop it.
does this look healthy?
Hey guys hope u all doing great
Didnt know where to ask but bear with me
So in my game which is set at night time the shadows are really impacting my preformance so the thing is when i set the quality of shadows to either epic high medium i dont really get any difference maybe only 2 to 4 fps but if i set them to low all the shadows disappear and i get a massive boost
Im using the engine scalability settings
I made it but I have this error with the Stop
Seems like you're probably doing it on tick or something without checking if it's valid before attempting to call stop on it.
Yes is in the event tick
Do you know how can I solve it?
Stop when you actually need to stop it, and check if the component is valid before attempting to call stop on it.
In conditin:
- true= play
- false= stop
This is the easy condition
but it doesnt wrk
I tried with a custom event but nothing, same issue
I don't understand the difference
Target is different
thx
How can I stop a Spawn sound at location ?
With a source attenuation?
Try #audio
how thx
You can't. Spawning a sound at a location doesn't give you a reference to the sound.
If you spawn sound attached, that gives you a reference.
If you're getting a whole bunch of "Accessed None" errors, that means you're trying to do something with a reference that isn't set yet and you shouldn't be doing that unless it is set first.
If you're doing both the spawning and trying to stop it on tick, then you're going about it the wrong way as that means you'll either be continually spawning the sound or continually trying to stop it.
Oh, I prly should’ve read up, missed that convo 😅
So maybe trying on " event begin play" should solve the issue?
Start the sound when you need it to start and set your reference. Stop the sound using that reference, but only if that reference is valid and do it only when you need to stop it.
So using spawn sound attached? not using location?
Trying to get the pawn of the player controller and its unknown? Im in a BPC so idk if that is related.
Hi, I made a grab object function. Any ideas on how to make the object not teleport instantly to the physics handle, but rather keep dragging it from the place it was? (For now, the object instantly teleports to physichandle whenever I press the left trigger, but I want it to stay in place until I move my mouse
put a Get Variable in the graph
Right click the node > Convert to Validate Get
It doesnt work
Why does this not work 😃
Yeah I don't know why it says that
I have a scene capture 2d in the same transform and perspective/fov as my player camera, but the view it has isn't the same as the player camera. The one on the left is in-game with player camera. When the black square on the left is at the edge of the viewport, the black square on the right, that's the render target using the scene capture, is not at the same spot. The render target size is using the GetViewportSize X and Y, so same size as viewport. Any possible reason for the inconsistency?
I get that but I don't know what that means
-
UObject
-
AActor
-
AHUD
-
UObject
-
UWidget
-
UUserWidget
-
UPlayerInGameHUD
cant you just use the object's location, or make an offset?
What 😭
It's inheritance of those classes.
What is the parent class of PlayerInGameHUD?
How do I know it's parent class
?
Open it's BP and look at the top right.
Right. GetHUD from PlayerController returns an AHUD.
Your widget does not inherit in any way from AHUD. So the node is just warning you that no matter what, this cast trying to cast a pointer that will contain a AHUD to a Widget class will fail. It can never succeed because those pointers can never contain the same type of thing.
Okay but how do I know what my widget does inherit from so I can know what to plug into the cast node?
It inherits from user widget, as mentioned
You looked at the parent class
Thats what it inherits from
It doesn't let me "get user widget" though
So I need to know where to get that from
You created this widget somewhere.
The CreateWidget node returns a pointer. You store that somewhere you want to use to manage that widget.
I have this in game hud blueprint that creates the hug widget
I should just put this code into the thirdperson blueprint
Why does this blueprint even exist
AHUD is a UI manager of sorts.
Uh oh
It's a multiplayer thing mostly. That said, I recommend not putting a UIHUD in the player character. Characters are kind of throw away in a lot of games. If you kill off your character, you kill off your UI manager. Even if you don't do that for your specific game, it's better to get into good habits incase you ever do.
Is this a school project or something?
You're insanely unfamiliar with a basic project.
Thanks
It was either that, or a blindly followed youtube tutorial. 🤷♂️
Oh yeah I followed a tutorial on creating a hud yesterday but then it didn't work so I removed most of the stuff but I kept some of it
And now Im really confused by the mess it left behind
The tutorial was ass though to be fair
Most are, unfortunately.
if anyone could help with this that'd be awesome, for some reason my set relative location node only works the 2nd-10th time its run, i checked and the print string is being run each time, its just the set location node that's not working
Is there a way to get all data assets of a certain primary data asset?
@maiden wadi Thanks for clearing things out in a somewhat confusing way
My specialty. 😄
Get... PrimaryAssetList? I think is the function.
Editor not open atm. But there's that. And you can do Async Load Asset List or similar. The GetPrimaryAssetList or whatever it's called populates from your project's AssetManager settings.
New to ue5, so is this a proper way for inventory based equipment stats, to apply onto a character [ex: armor value]?
**To recalculate player armor values [cause: equipped/unequipped] **
Have an array of "equipped gear" object references, send an interface event to each one, they each report back [to player character] with another interface event containing armor values, which then gets added to player character's armor value. The player character's armor value is used when attacked, instead of recalculating.
If the print is running, the set location is for sure working. Nothing really stops component movement calls really. May need more context for the problem though.
I thought creating a reference to the Hud widget blueprint would fix this
😭
If the bp is the same as the image you posted, you never hooked up that set node
I'm just trying to change an image texture
OMG YOU'RE A GENIUS
That fixed everything
Thanks
Np
IMO you don't need an interface for anything like this, but this isn't a trivial question.
Inventory
Equipment
Attributes
Inventory is a generic idea of having items. Equipment is the idea of equipping said items. Attributes come from equipped items and other sources.
This is a simple task with something like GAS. Each item simply applies a GameplayEffect when you equip it, and removes the GameplayEffect on unequip. GAS is designed to refactor the attributes based on the applied GameplayEffects.
I found one called Get Primary Asset Id List, but it needs a Primary Asset Type Name and outputs an array of Primary Asset Id structures.
Is that the right one, and if so how do I use the Primary Asset Id to get the Data Asset.
I am trying to add mod support to my game and figured that it would be easier to have the mods just have a data asset that contains the various structures that I would load into the game.
If there is a better way to load the content from the user content I will try to add it that way
I can finally change this image by pressing 1 on the keyboard
TOOK ME 6 FREAKIN HOURS TO GET THIS SIMPLE FEATURE DONE 💀 💀 💀
Welcome to game dev. That doesn't really ever change, you always run into things that should be simple, and eat your entire day.
Are these BP classes, or did you define the data asset class in C++?
Asking cause I need to check something.
They are just BP classes:
I mean their class. The class is the blue one on the right, this has no C++ parent other than PrimaryDataAsset, right?
Correct
Fr I've spent well over 100 hours on this project and all I've got is a basic enemy and health system and some basic UI and a player character with no animations or mechanics besides movement
Just the primary data asset as the parent
I have a blend space that takes care of 8way walk, 8 way run and 3 way sprint (f, fl, fr). I want to add sync markers and a sync group for all of the animation in the blend space. Will the blend space automatically sync all of the animations, or is there something I need to do in the ABP?
@surreal bridge Right, I had to check up some stuff to remember how to do the BP only correctly. So... I made a BP class like yours from PrimaryDataAsset. Made two instances of it. Class name was B_TestDataAsset.
In your Asset Manager settings, you need an entry like this. The main key is that you use the same name as your PDA_Upgrades. And add _C to it. So PDA_Upgrades_C for the type. Select the class, specify the folder(s).
I get a 2 print here for example.
After that you can do stuff like this to load all of them up easy.
For anyone in the future, issue causing the scene capture component 2d inconsistency was that it has no way to change the aspect ratio like regular camera component and is either at 1 or is x/y of render target if there is one. No way to change it in blueprints so prob need to make a subclass of it in c++
Alright, I did something similar. However mine prints out 0 and doesn't list the names:
Missing the _C
Select something else on the Get node, and then change it back and try it again.
Oh, wait. That could be it.
Just looked back at the node and it still had PDA_Set instead of the PDA_Set_C
It works now, many thanks
Enjoy a wonderful life of having data assets. 😄
XD
They are extremely useful, that's for sure
I have been using them for the upgrades and dialog in my game thus far, but this opens up the possibilities
I greatly appreciate it
Let me know how the modding goes. 😄 I still need to dive into that myself.
Well, after months of work on my game, I saw someone playing a game nearly identical to my own.
So I figured that I needed to make my game different than theirs, to try and make it unique enough for people to still want to play.
So I am adding this feature to allow people to add their own sets of cards to the game, and if I can manage it, add custom functionality to their cards to be played in certain ways.
My goal is to have it set up so if someone is dedicated enough, they could add various sets of MTG cards and have them function like the cards do.
But for now, just allowing new sets to be added and sold in the shop.
Is there a way to get a pawn owner from an actor?
So, just ran into another issue.
I am wanting to have it scan through all the directories in the Plugins folder
When I had selected the folder manually it had set the path to: /MyFirstMod but when I remove the name and just have / or /Plugins it doesn't work for the files in the plugin.
Is there a way to do this?
hey guys so if i have a actor with a trigger box that brings up a widget is it bad practice if i create it and add it to the viewport in the blueprint?
There is no such thing as a "Pawn owner".
Actors can have owners, which are stored as actors. A Pawn is a type of actor that can also have an owner, which in terms of a player controlled pawn, the owner is normally the player controller.
Hey, setting up FootPlacement. I noticed earlier today that my mannequin is floating off the ground a little bit, and while setting this up it became a problem because the feet are never actually registering as on the ground. All of my animations are from GASP, but I'm using the ue5 mannequin. Any ideas on how to get my guy on the ground?
Hey guys, if any one can help me with this issue I am running into or if they can help with a better method. I have a power up that in theory is suppose to double bullets from 1 to 3 to 5, which does work if I add a multigate node. however when the power time ends and I get another power up it will either start back up with 5 projectile then it change it back to 3 projectiles. and in some cases it will not work. so ideally I would like it to stack ontop of existing one. but only if i get twice in a row, if i only get one power up i would like it end event then start back at 1 projectile
You'll probably want to use a timer instead of delays here and use an enumerator if these states are mutually exclusive.
😆 thanks for replying! I would have not thought of doing it at a timer event. Will try it asap!
Is there any reason why an Ability Tag wouln't be picked up? I set an input to try to activate an ability by tag, the ability has the same tag, but it's not triggering (both the input and ability work otherwise if I just brute force them, so the issue seems to be with the tags)
Hm, actually nvm, it doesn't seem to be a tag issue as "Try activate ability by class" with the selected class also doesn't work
so I think there is an issue with activating abilities in my GAS setup?
Hey, just wondering if there is an equivalent of "OwnerNoSee" and "OwnerOnlySee" for lights?
Alternatively, the ability to tie them to the same behaviour on whatever they're attached to, if that component has OwnerNoSee?
If this doesn't work, are you certain that you actually granted the ability to the ASC?
that is what I'm trying to figure out, how could I see this?
How do you get your node connections like that
It's a paid plugin called Electronic Nodes
Thank you
I don't think there's anything exposed in blueprints that lets you check what abilities you have granted to an ASC. If you review how your abilities are being granted and verify that other abilities are working, then you should be able to determine from there if you have granted it. Otherwise it's C++ territory and use
something like FindAllAbilitiesWithTags().
hm ok, this is my first time using GAS so I don't have any other abilities to test, I will try that out in cpp though
Ok so it actually turns out it's not picking up any abilities, would you know how to assign abilities to the ASC then?
GiveAbility
If you're trying to do it multiplayer, this has to be done on the server
just single player, thanks I will try that
hey guys, im having a wierd issue where my gamepad nav keeps getting stuck on the initial\primary widget and won't transfer focus to a sub menu.
I'm using a widget switcher and loading the secondary like this
Mouse works and menu appears fine, but the gamepad is stuck in the background on the intial main menu
Try #umg
Ok thx
is there was professional blueprint programmers dm me i wanna knnown something
Hey guys i'm trying to validate this variable but without success
How can I validate it?
Please help
have you tried the Is Valid node?
like this?
No, you do what you did in the first screenshot, but place the is valid node after you set the audio component
now you can do something if your audio component is not valid
Yes I made it yesterday but it doesnt runb the variable
because is still not validate
Here doesn't run because is like stil not validate in the event tick
Have you tried to set a breakpoint on the is valid node and see if the variable is set?
send a screenshot of your entire blueprint, begin play and tick included
the false doesn't work because the variable is not validate
I don't have unreal open rn, but does the audio component get destroyed after the sound is done playing? Could you try to validate it right after you spawn the sound, see if it does exist
No its not destroyed how? How can I validate it?
Just to test, right click the setter for your audio component, set brake point, and start your game.
I thought was validate in the begin play yet
shouldnt these just have overlapping boxes, instead of a tick setup like this ?
I can try
Does the breakpoint not trigger?
what do you mean?
oh ok no not trigger
ok I fix it
maybe
I change this Auto destroy
I change this
But the sound doesn't stop 🥲
in game anim sample i want set player will never aim while in crouch
Can you change/set variables in a class from an editor blueprint?
default
ok thanks!
I was trying to speed up adding variables into arrays, is there a better way than to manually add array components one by one? 😦
Make array node?
Then just connect the ones you want as inputs.
And then set it on an array variable.
so im trying to make a force based player controller. however. the player can now accelerate to unlimited speeds. I obviously want to prevent it. I tried adding a vector clamp. but I implimented it wrong i believe. anyone know how to do this. I have been stuck on this for 3 hours now
Hey, I am using the default thirdperson template and was wondering how much different is the default one (i dont know where to find it to change stuff) compared to if i make one
would I have to redo a lot of stuff?
hey all! Is there anyone using Oceanology with Ghislain Girardot's Boat Splash System? I'm having problems with that implementation
get the velocity, clamp the vector to the max speed, then set the velocity.
You might look into changing the tick mode (Before physics vs during or after physics)
Guys anyone know is there any ingame gameplay recording system in unreal engine?
Overview of the Replay system for recording and playback of gameplay
can builds for mobile devices can also connect to a local network using the eos?
but i dont think we can export this as video format
any way to achieve this?
like exporting recorded gameplay in runtime
This would probably be better answered in #online-subsystems or #multiplayer
Or even #mobile
I think, by default, without any Marketplace Plugins (if any exist) you can either Record and Play Gameplay via the Replay System, or Record and Export Videos with the Movie Render Queue (which you can find tutorials on via Google). I'm not sure there is a way to export Gameplay Videos directly.
0ok thanks will reasearch on it
Add force based on Desired velocity - actual velocity
How do I do this?
Heyop!
Running into a wonky thing with a plugin and looking for some guidance. I'm adding an ActorComponent from a plugin to a blueprint and it all works fine including running inPIE. But when I reload the project, it says "class not set for the component" and it removes it, breaking all the references.
Any idea what I could be missing here? I wasn't able to find a solution to this online.
I added the plugin in editor, maybe that's somehow related? 
(Desired - Actual).Length -> map range -> multiply by maxforce
so like this?
Just think really deeply about walking. When you walk, you don't output a force like a rocket. You output a force based on your desired velocity and current velocity. That's why you can't run at infinite speed, your force output drops off as you approach your walking speed limit
You need to measure your current velocity
so like this?
Subtract the vectors
so subtract the right vector and the component velocity vector?
First, turn your inputs into a desired movement vector
The vector describing the velocity you wish to have
A simpler and more robust setup:
Force = ClampVectorSize((Desired - Actual) x SomeFloat)
how to
something like this?
ooooow
i see
do i get the vector lenght of the desired velocity?
sorry im a big old unreal engine noob so i really appreciate the help!
Hi guys is there a way to run a condition every frame, BUT ONLY when an actor is overlapping a specific box collision?
Something like an event tick that runs only "on begin overlap"
This will run only when something begins overlapping with the component
Yes but it runs only one
i got this now. what do i put in the min and max?
make a bool that you turn true when the begin is toggled, and false when the endoverlap is ran
I'd like to check a condition every frame only when is Begin overlap and stop it in end overlap
ok thx 🙂
how can i get a single boolean out of the array to plug in here? example of either index 1 or 2
use the GET node
blesses
sorry one mroe thing you know how i can get this too? D:
The FPS counter tends to exceed the maximum allowed value, how can I resolve this issue?
is it not called set tags? @raven gyro
drag out from the actor you want to place the tags on
np
to show FPS in a development build, just adding an execute command line "stat fps" on begin play?
Any idea on why this text isn't starting a new line and staying in the vertical box?
tell it to auto wrap text
Thank you very much
Any guess on this?
nevermind, solved 🙂
my vertical box wasn't on fill
where type of bp should i use to store game data which can be accessed by any user/update them, and will replicate the update to all other players?
You don't want any user to update it.
You want the user to ask the server to update it
But generally for game information that's replicated, you have things like the game state
Hello everyone, I need inventory for the character and NPCs in the trade project. What is the best way to implement this so that I can then use it in another similar project? I only have an idea to do it as a component.
Put the vector x float before the clamp
Max is the max force you want to be able to use. 1000 is good if you're ignoring mass
hi, is it possible to know the collision point between 2 collision box?
Good morning folks. Out of curiosity, does anyone know the reason that Blueprint Interface functions can't be pure?
so like this if i want it to move left and right?
How can I get all the enemies?
and also. what kind of values do i put in to the desired vector? because idk how it works when you have 3 values
you don't get "all" overlapping enemies. You get each enemy when it begins to overlap.
you're just going to need to learn the basic math of what a vector is
no problem with asking questions in a questions forum
you need to call the get all overlaping actor
to retrieve all overlapping actor
otherewise the even is called when an actor/component start overlaping your collision box
Like this?
What are you trying to accomplish
no, and what are you trying to accomplish 🙂
if you want to retrieve all the actors when someone, something start to overlapp your collision box
Better to keep track of a list though
if you want to retrieve all actors, in the world... even those which are not inside the collision box, then the get all actor of class is ok
but the get all actor of class is a costly function
this
you are trying to do a kind of switch 🙂
because all of them perform the same action you should do it with an event dispatcher intead of a get all actor of class
I have two Sphere colliders in the same BP actor:
- when the other actor(enemies) enter the first one, it start a sound.
- when they enter on the second one, the first is deactivate, stopping the audio
- then if I exit the second restart the audio, deactivate the second sphere
_ lastly when I go out from the first, the audio stop again
It's like an egg
i'm scared 😄
Yes but that is what I'm trying to do
so why do you need all actor of class?
the cast is enough for that. you don't need to retrieve all actors of that class.
the Event will be triggered each time an actor or a component will start to overlap
because you said the actor that you want is an enemyyy then all other actors will be ignored (false part of the cast)
so you don't need to retrieve all actor of that class
Sooooo I only have to cast?
yes one by one
each time one enter to the collision box the event will be triggered
Without for each loop so
yes, for each is there if you want to put an action on all actors when 1 of them overlapp the box
imagine you have 100 enemyy
1 enter the box, you make a loop of 100 occurances
if 2 enter the box, you will make 2 times a loop of 100 occurences
that's it not maybe what you are trying to achieve... you want to activate a song when 1 of them enter the box
anyone of them.
but you will have nightmare with that because, you will have to manage multiple end overlap, begin overlap with multiple actors.
Where did you set the FPS limit?
SaveGame but I found Thx
Also this is not a good measure of framerates. Some ticks can be wrong based on certain optimizations.
Thx a lot man really
I'm learning so thx for the patience
All works, but when the enemy go out from the last sphere collision, the sound still run, even if I tel it to stop 🙂
Ok maybe I fix it
I set the Audio component for both cases
It seems to work
Managed to get a video of the issue I was having. Pretty much everything else works except for the mouse drift issue here
The mouse position on the item renderer border in the menu is being gathered here.
Inside the inventory widget
The orthographic view is set to 720x
The draw size of the widget is set to the same.
To remove stretching, the size of the render texture is set to 482x344; the same dimensions as the widget box inside the inventory.
i got player state and a widget bp, i m updating my player state var when button clicked on thw widget, so will call an even marked as "Run on server" and change it from server and the variable is replicated. But still the var is not replicated on the server or so. Do you know the reason why?
Can you show the code of your button click that shows the run on server event?
Getting any errors in your log?
no
And you're certain that "Success" is being called from the create session node?
is there a more optimal way to do it so that when the player reaches x amount of speed, it turns on the particles, when they are less than x speed it disables?
This is a bit of a strange setup. Normally when you're creating a session that'll be before you're connected to a server, so usually there's no real need to use RPCs. In your screenshot where you're showing the print string there, it's indicating that it's not connected to a server as it would actually say "Server: Hello" or "Client 0: Hello" and so RPCs and replication are kind of irrelevant if you're not connected to a server.
Rather than using Text variables, use String for player-input variables. Text is mostly used for static text that supports localization and is typically larger than strings, especially if the string are short.
The "Player User Name" variable isn't marked as replicated, so it wouldn't be replicated out to clients.
it is marked as replicated though
Well, there's usually a mark on the top right corner of the set node if it is marked as replicated... It may have been cut off. Either way, if you're not connected to a server, trying to replicate something is moot anyway.
oh it does
it was not visible on the prev ss
Hey guys! Was wondering how to fix this issue:
When I try to get the index of an item from my array it returns the index of the item it finds first and This isn't the behavior i want. I want it to return the index of the newest item it finds. Any ideas?
Not sure if that makes sense
That's what find does. You can build your own search function in which it reverse loops through the array and compares and returns the first found index starting from the end of the array.
could i use this?
Yep
thanks
Hi all! I'm a bit stuck and need some help. I'm creating pong using this https://www.youtube.com/watch?v=Vi4tBmv1Mhg tutorial and I'm going off-script a bit to enhance my version. When player 1 scores, I want the ball to start heading in their direction. And when player 2 scores, I want the ball to head in the AI's direction. The player who last scored is held in a variable owned by my Scoreboard Widget W_Scoreboard called Player1ScoredLast?.
When my ball spawns, it determines its direction of movement using the blueprint below. However it's returning an error that the reference to the scoreboard doesn't exist. I know why but I don't know how to fix it. When the ball spawns in, it needs to set its reference to the W_Scoreboard Widget Class, but if I understand correctly how this works, it's the Scoreboard that needs to set the reference, not the ball. You can see an example of the reverse in the highlighted portion of the blueprint below. When the ball spawns in, it sets itself as a reference for the AIPaddle so the paddle can track the ball's location.
I don't understand the best practice though for accessing the scoreboard's variable values when the ball spawns. I thought the answer might be to CastToWidget or CastToWidgetClass but the former requires the ball to have a reference to the widget. And the latter doesn't seem to let me invoke a function within W_Scoreboard. Could someone advise please?
bump
is there a way to snap to the current node being executed in the debugger?
I think you mean putting a breakpoint on it? Select the node you want to break on and press F9.
You probably should store that player who last scored in the game state. Widgets shouldn't be used to store anything relating to gameplay beyond taking player inputs and routing them to actual gameplay classes.
No i mean the debugger automaticaly snapping to wats being executed. My problem is i dont know what I want to put the breakpoint on 😅 trying to figure out a marketplace asset with no documentation
I had a feeling that might be the case. Thanks!
When you say "Game State" is that a Blueprint object in Unreal Engine? I'm not quite sure I understand where these values should be stored.
anyone know why a collision may work fine in editor but not when packaged?
Specifically it doesn't work on the first overlap on the packaged version, then it works normally
Yes, GameState is one of the base gameplay classes that are loaed by the GameMode. If you create one, you probably want to use "GameStateBase" as the parent class, and make sure you define in your gamemode to use your custom gamestate.
Got it. Just now I added these values to GameMode directly, but it sounds like using GameState would be better? Sounds like that would be best-practice?
GameState should be used to hold things that are relevant to the state of the game, but not necessarily the state of any other specific actor.
Who scored last is one such variable that sounds like it belongs in the GameState.
Great, thank you!
Has anyone ran into Timelines getting cut short in packaged builds?
don't store it in the scoreboard
PlayerWhoLastScored should be a variable on GameState or somewhere else central like that
whoops someone beat me to it
is there a way to get a reference to the current level?
Hey guys!! I'm using simulate physics to do a ragdoll on my character but need ideas on how I can keep the capsule component following the mesh.
I was thinking about using tick but not sure if thats a good idea. 🙂
Why doe the capsule need to follow the mesh?
when i set simulate physics back on it pretty much just teleports the character
So set the capsule before you stop simulating physics. No need to keep moving it in the meantime.
i tried that before but i cant get the capsule exactly on the ground
it'll end up in the middle of the floor
Do a trace, find the ground, get the capsule half height, set the capsule at TraceLocation + (0,0,CapsuleHalfHeight+5.0).
did you set it in your project settings?
oh
thanks 😅
is there a more optimal way to do it so that when the player reaches x amount of speed, it turns on the particles, when they are less than x speed it disables?
get max walk speed from movement, less than x = false greater than = true
I wouldn't worry too much about optimisation for something that simple
If I have a widget (say a menu) that binds to some events on a Character, is it important to Unbind those events when the widget is destroyed?
I'm not sure if faililng to do so is leaky or has other consequences....but it seems very difficult to manage consistently too
thank you
makes sense lol
How do you handle camera collision in tight spaces?
I have trouble say in a corridor, the camera gets really close to the player, or it collides a bunch of times and looks bad. I was wondering what approach you guys are using.
as an example
I feel like I have done this stupidly wrong xD
If, else
if it's not one, it's the other
you can also use select, or switch. Those logic nodes are useful
the true and false stay the same. All you're changing is the is moving on ground? node
I think the common thing to do these days is use "feelers". You have to code it yourself, but you basically interpolate the camera as best as you can while not allowing it to collide. An immediate fix would be to enable camera lag on your spring arm, but it can still end up blending through a wall sometimes with that. Past that it's best to use the camera manager class and override it's Update event to do some complex checking and offsets to avoid falling into walls.
check if the player velocity is equal to or greater than the maximum walk speed and if the player is moving on the ground.
I already have camera lag. So yeah I think i’m gonna have to setup custom colliders and do what I can there?
I will try this now as this currently doesnt work
Camera lag before or after that video? I didn't see any there. Your camera snaps immediately the moment the arm collides.
Is there a way to visualize the probe collider in editor?
That’s exactly the problem in that one case
It is also plugged into the tick
Or cases like that, which is what I’m trying to fix.
How do I choose which Capsule collision I want to use in bp_thirdpersoncharacter for my event actorbeginoverlap in separate blueprint? I want it to only activate when that specific Capsule collision overlaps the Box Collision in the other blueprint
this didn't work either
max walk speed is the max walk speed not the current speed
max walk speed probably isnt changing
yeah I'm trying to do it on velocity now but still no lucky
putting it on the tick seem right, right?
tick is fine
velocity x would be just one dimension
which is odd if they're moving in 3d
Get the length of the vector if you want it's speed
Are you trying to make it play only when on the ground and fast enough?
I'm trying to make it so that when the player reaches the max speed (or greater than), it turns on this niagra particle
But I'm wondering if it's not working because I'm using the ue5 parkour motion matching character
maybe it doesn't use character movement idk
I've recently switched it over
what might work is if you plug this into your branch condition (edit the number in >= to match your running speed)
crap idk how I got the velocity variable
might be custom
I tried it but still no luck, I even set the float to 1 to see if it even prints string and it doesn't
Just to confirm, having the check on event tick is correct?
ok so I dont think your problem has to do with character speed anymore
if you want to trigger this event, you can place it on the input move, which will check if only the player is moving
I'm actually blind
should enhancedinput action be plugged into add movement input
test if it works
great!
you could delete this now right ?
yeah
ok
both of we recommended will work the same, the different is how you implement it
yeah
try adding a play once before the string
do once
try do once
my fault do once
I havent used it before*
ah perfect, works great guys
you can add "And boolean" and check if is moving on the ground if you want
Unless Kezzy doesnt mind it playing while in the air
Yeah I kinda wanted it to play in air too
k that works then
I thought using the nodes we just made would work on this too but it's not changing the speed
Anyone know the node name I need instead of set walk speeds?
ohh, would I need set velocity?
quick question, should your momentum boost be plugged into the delay and then delay to branch?
sorted it, the delay is so the player has to be running for x amount of seconds before the boost kicks in but just to make testing go quicker I unplugged it
ok
ah, I added the delay now it doesn't work
Is that because it's on the tick?
imma be honest, I dont think I can help, I am fairly new to this too sorry
I just so happened to be able to help with the velocity because I had it in my blueprint and I learned that
Ahh fair enough lol
my best advice is to explain it out loud to your self on how it is working/ should be working as you follow the whole sequence from start to finish
yeah, it all works apart from when I add the delay and that has to be because it's on the event tick
did you try "set timer by function name or by event" node
I was just looking into this, I'm not sure what to do with it
Hello
I'm new to Unreal Engine and still learning the basics. I would like to know if someone could give me some way to transport variable information between different Blueprints. And would be cool if someone could help
Am I cooking?
the event will go to the event you want to trigger and the timer will trigger the event after an amount of time and the loop is you want it loop without trigger it again
I'm ngl this got me so confused
Then try to think in another way to make it. Sometimes you can make things in another way. There is not a right way to make things, that's my opinion.
my new health pickup code without casting
is it bad that Im referencing self (player) 4 times?
no
Any ideas on why the timer isn't working?
Hi, I'm trying to make drag objects blueprint i've done everything but I have one issue that when i step on dragable object i can use it as a flying plane, how can i avoid it
thanks, sorry for noobish questions like these
Because you called it multiple times, that means you reset the timer again
I think it’s weird how the set timer nodes are stateful personally
They should not be
Welcome to Unreal. This is probably what you're after.
Announce Post: https://forums.unrealengine.com/showthread.php?101051
This Training Stream takes a look at Blueprint Communication. We find that Unreal Developers of all levels can sometimes struggle through the concepts behind moving data between objects. So in this video we'll take a look at the different ways to make Blueprints talk to one an...
Guys when it comes to something like this sort of node - what happens if by the time complete is executed, the given object doesn't exist anymore because it was destroyed? Is that an issue/could things crash or give me an error, or will it just not do anything?
is there a way to acces skeletal mesh in the outlineer into blueprint?
It won’t do anything
I believe the latent action manager will cancel the event.
^^^
Yeah it's because of the tick
but I'm not sure the work around
what do you mean specifically? you want to find its asset? right click and top two options give you the options to browse to and edit
no i wnat to access them in blueprint liek this
i have to turn them into BP actor first? 😦
If you’re firing it on tick and not resetting then you’re going to be queuing up a boost of 4m/s every tick. That doesn’t sound like it’s what you want.
what do you want to do with them? use on a character?
How would I reset?
it resets by default. what are you actually trying to do.
cool, thanks guys.
Could I ask for a bit more in-depth explanation of why that happens/what code I should look at? Pretty much a beginner as far as my understanding of how blueprint nodes get compiled etc. Looking at the code for the node, it seems like internally it's making an event node or something...
So I suppose there's some sort of scheduling system/event loop like in various frameworks (e.g. node.js for web programmers). So what happens next - at some point, the event of "OnComplete" is run, and what's next? The event is like an unreal delegate, keeping a weak-reference to the UObject, and simply checks if it's still valid?
to edit specific paramenter on each of them, like material/blendshape
are you building some weird custom bone system? and querying actors and filtering by tags doesn't work?
but even if it worked, at the very least I would wrap all of this in a BP for ease of use. no need to query all actors from the level
Basically, when the player has been running at max speed for x amount of time, I want to give the player a speed boost
One time though right
Every time
when they lose their speed, it resets
all the bp works without the timer
Promote your timer to a variable. Before calling the node that sets the timer, check if the timer variable is valid. Only do it if the timer is not active
You don’t want to start the timer if it’s already running
along the lines of this?
Can someone help me figure out how to get this AI Perception for hearing working?
I have added the component and configured it to have both Sight and Hearing, the sight is working fine but can't get hearing to be triggered.
I already added the StimuliSource component to the actor that I want to be detected.
When I try debugging in PIE, i can see the debug visuals for sight but not for hearing. Hearing also doesn't show under the Perception category but shows in PerceptionSystem category.
Thanks it is
Is there a way to access an Enum's Enumerator's Description in BP? or c++?
Right now I am having to selecting text based on the enum, but I would love to use the built in Description
The description if an individual enum entry?
Or of the whole enum?
If it's a c++ enum you can use StaticEnum<EThing>() to get the UEnum object and query that. For a bp enum... You'd have to get that UEnum from the BP asset somehow.
wasn't there a method to create a actor component from a class? nvm, it just doesn't show up in the construction script -_-
they meant to promote Return Value of Set Timer node to a variable and use that. but boolean should work just fine. though not necessarily as you have it right now, judging by a quick glance, as you will set it to true, but on the next check back to false, so on the third one you will potentially reset the timer. not digging deep into your use case, but maybe the "set to false" should be in a timer's callback?
Is there a way to create a reference to a widget blueprint without having to use the "create widget" node?
create widget doesn't just create a reference. it creates a new object to which it returns a reference
I always get this error "Accessed None trying to read property Inventory TEST REF" when I create a variable reference
If I use the create widget node, it will always create the widget and I dont want that
cause that variable can just hold a reference. it doesn't create an object
Ok I see
for that you use Create Widget node
Ok thanks
No. Promote the timer handle to a variable. The blue output on set timer by event. This has a function you can call to see if it refers to an active valid timer
I think you’re asking about switching on the enum, not selecting
Not sure if this is the right channel, but did not find anything more fitting: I am currently trying to make a video I rendered out of the game with the movie renderer my main menu background. I tried it with a media player and a texture with the video that i put on an image in the menu widget. The problem it is barely playing. Like it jumps to the next frame every ten seconds or something and is frozen most of the time. Anyone got a clue how to fix that? The video is currently a HD video with 60 fps as an avi
are you using time dilation in your menu perhaps? could movieplayer be using time dilation?
as far as I know not, atleast I never actively set something like that
you say its an AVI? ahmm you could try bink i guess
yeah it was the only video source I could choose in the movie render dialog
oh interesting
well, try taking that AVI and binking it
UE_5.4\Engine\Binaries\ThirdParty\Bink open Bink2ForUnreal and use it to convert your AVI, then put it in your project, swap it out and see if its better
it really shouldnt be but
i dunno
only takes a few minutes
by the way its humorous how little bink is integrated into unreal
Epic owns Bink. To be fair theyve been busy with other things but
It's a little silly.
its actually the only format you can use for startup movies i believe
should I convert it to mp4 or what would be best? Also I saw in my plugins that the bink media player is not installed. Might that be a problem?
you would need to enable the bink media player yes. The bink tool I mentions creates .bnk videos
oh im stupid i always pressed on convert video didnt check that bink it was a button aswell 😄
yes it worked 😄
thanks for the help @sudden nimbus would have probably given up on it if it didnt spent the last 10 hours on that 😄
I'm trying to make a function to add a scene component to this blueprint so I can place the blueprint in the level, click a button to call this function and spawn a scene component, add it to the EnemyBattlePositions, and then in the level I can move the scene component around to the location I want. Currently, the button seems to work in the editor, but the scene component doesn't seem to be there in the level? I think I may be missing something where i need to attach the scene component to the root, but I'm not sure how to do that? Any ideas?
anyway bnk files are probably a fair bit smaller than AVIs too
Anyone know how to make a begin overlap event in blueprint only detect when specific capsule in bp_thirdpersoncharacter is overlapping it and nothing else?
I want it to be able to plug into here and replace Event ActorBeginOverlap
From the OnComponentBeginOverlap node, drag off the OtherActor pin and do Cast To _BP_ThirdPersonCharacter, then do the rest of your bp off the success pin of that node.
hmmm
Oh sorry maybe I misunderstood. Only when a specific capsule that is attached to the player character?
You need to mess with the collisions response presets on your components I believe. I've done this exact thing, but can't remember precisely how I did it.
no problem
Hey all. I'm just trying to have it so when the player overlaps a triggerBox actor it will switch to a cutscene camera, which will then play a sequence. Then after the sequence is done I want the player to be where the cutscene camera ends, then transition back to the player who can then move around. How should I approach this?
what have you got soo far?
For specific component event, you will need to use one of the following
Select your capsule component then override respective event
hmmm
@frosty heron I used this video as a reference. I made a BP actor called CameraSwitcher, and I was trying to have it so it knows when the player overlaps the trigger, and then fires off the logic. I thought it made sense to use a BP interface so that I can have a message for the function sent from the thirdPersonBP, and then implement that function as an event in the CameraSwitcher. But I'm not sure what event I would even use for thirdPersonBP, and I feel like this is not the way to go about it. https://www.youtube.com/watch?v=jDmOQuoM7eo](https://www.youtube.com/watch?v=jDmOQuoM7eo)
This tutorial shows how to switch between cameras in live game mode with the player character viewable and active. It is based on an older Epic games tutorial but was modified to meet my needs. There are many ways to do this and this is just one way. Plz sub if helpful to you!
If I can have the Camera switcher reading whenever the player overlaps the trigger, then I think I can figure out the rest
I'm not gonna watch the video but your first pic looks pretty bad.
Normally you want the trigger to act on the Player not the other way around
if that's what the tutorial told you do to, that's not really good
also I don't understand the use of interface here
@frosty heron Yeah I already knew this wasn't the way. I'm just trying to have it so the camera switcher is notified when the player overlaps the trigger. The video was showing how to switch to another camera by using an input, so that's not what the video said to do. I'm still learning how blueprints work, my apologies.
where is the sequence stored?
doesn't seems like you have got anything down yet, so perhaps start by playing a Sequence when you overlap with the Trigger box
Create a sequence variable in the trigger box. Drop a trigger box to the world that you want to interact with, Set the Sequence variable to your target sequence.
then in the BP_TriggerBox -> On Overlap -> Cast to your bp Player Character -> On Succsees Play Sequence
@frosty heron I think that makes sense. I'll try that in about 10 minutes. thank you!
i was making it way more complicated than neccessary
@frosty heron would this work instead of creating a sequence variable?
Level Sequence is Level Specific isn't it
well as long the LS have valid reference in the level, I don't see why it wouldn't work
Any thoughts on why my character animation in the viewport is falling but he's totally fine in game and everywhere else?
you edited the ABP? the only lead is probably there
open it and screen shoot the variable that is responsible for falling
should be a boolean
make sure it's ticked as false by default
Didn't edit anything. All i did was duplicate the TopDown character. IsFalling is still false
I found this from 10 years ago, and I did enable AI on my character https://forums.unrealengine.com/t/character-falling-in-blueprint-viewport/330631
After upgrading from 4.8 to 4.9, I’ve noticed my Character appears to be falling in the Blueprint viewport (see the screenshot.) Before the engine update he was using the idle animation where he stands, but now he starts to fall when the viewport tab is opened. The Character Blueprint is based off a C++ class, whose parent class is ACharacter. ...
Does anyone know how to get access to an AI controller's variables in an animation blueprint? I've casted it and it works, but I keep getting an accessed none error.
are you looking at the right function? it says on the transition
look where As Aic enemy AI is used else where
The transition is just a boolean variable I set in the AI controller to true if the AI see's me. I'm not using As AIC Enemy AI anywhere else outside of the animation blueprint, this is the only place I have casted it if that's what you mean