#blueprint
402296 messages ยท Page 831 of 403
Is this the blueprint of your enemy or is it a child class of it
oh god that's right there's a debug feature lol
it's the blueprint
all i did was an actor for an Npc
and an AI controller
I used to have it linked up to a BT
@onyx token How did you enable that debug menu please ?
But at this point i've pointed it down to the AI perception being somehow buggy
^ key
wait
no for you it's different
french ?
Have you set detection by affiliation?
I think it the apostrophe?
this " ?
Yeah but just '
i added an AIPerception component to my Controller
And added the Controller to my enemy actor
Then i added an AIPerceptionStimuliSource to my Player character
GET EM DEAN

Thank you
Sorry at this point I'm just spectating, I tried and failed
idk what "affiliation" means in this case
you mean registering to be noticed by the AI perception?
I did that
added this to my AI controller
added this to my player
yup
Did you read the documentation
I did, and the tutorial said it, and in my first controller i did do it, but i recreated the controller
@cold pecan your initial screenshot literally has those ena you monster
It happens
it has, that was my first controller
that one is bugged somehow
no idea what's wrong there
so i recreated it
Does anyone know how to contact the dev for unreal engine. I don't know what else to do.
iโm so confused
Welp, reacreated is as good as fixed then
hahahaha my b
u saved me
Premium support costs money
ohhh haha no worries
Why you have to contact dev?
i cant log in 
are we not good enough for you @vital aspen
All I did was enable you to continue learning BTs, you should not thank me
You guys have all ready tried and I'm having too many issues that no one know how to fix.
like what?
I mean there should be no reason you should have to contact a unreal dev.
well there is now
until you get to the enterprise level, it would most likely just be a waste of there time
You should be able todo anything you want with the engine
and you can fix everything yourself
i'm fairly sure that some random unreal engine developer is probably not gonna wanna help you at a sunday evening in their free time

just a guess
what feature are you having a problem with?
that's why I need to contact the devs for UE4.
humor us ice, we're interested in helping
@trim matrix If you want too. you can scroll up and look, Lots of message on it. and screen shots too.
well good luck. Just know that there is most definitely no reason you should ever have to contact a unreal dev.
I agree
well then you 2 haven't read what I and a few others were chatting about. You just don't know until you read and find out
uh
you're having problems with making your inventory 
that's not a case of "i need to get a personal teaching session from an unreal engine dev"
ok, for those of you want to listen in. I'll be in Unreal hangout
Sometimes when asked to restate what you've had problems with it's not because we don't want to go up and read, it's because sometimes restating the problem can lead to additional info that wasn't present before.
for both parties
I know I've often talked about problems and had the solution come to me as I re-look at the situation.
Simply explaining can help you sort it out in your head.
I'm having trouble possessing this actor after spawning it, am I misunderstanding something?
are you calling the respawn from inside the character bp?
Yep, is that not possible?
depends, how far do you get into it?
anyone remember why media like a mp4 won't play when it's packaged? editor it works, is it a packaging config thing?
The actor respawns just fine, can't figure out why I can't possess it though
and you've unpossesed the current pawn?
i dont know if that's even a valid question tbh
I possess through GameMode with AIs
so just kinda prodding
quick question - is there a way to make this more neat? Like an enum selector? 
because otherwise i'll have to do this 
!stream
switch! That was it, thank you!
there's proabbly already a enum for that byte selector
if not you can make an enum set
Yeah, un possess seems to work fine. I was just trying to be lazy and put everything in BP_Character to quickly test something. I guess I can't be lazy in this case.
once you unpossess it might not see the controller you're trying to assign, don't know what your logic flow is
woops, and now I've crashed Unreal lmao guess I'll take a break for the night
lol
I tried putting the respawn logic in Event Destroyed and it didn't like that
since noone is asking stuff right now-
How do i play a widget animation above a characters head?
I have added a widget component and filled it with my widget - and the widget has an animation, and has a custom Event that plays the animation
Does it show up? Widget components are very fickle.
yea it shows up
But the animation doesn't play?
If you want to play it from the character, then you need to get your animation component, get the widget from that, cast to your widget class, and call to play the animation.
can i cast to it? 
because it doesn't show up...
like i can make an object reference
but that doesn't work...
Eg.
oooh i gotta do a "get widget" first
Oh, you have to have a widget component
not just a variable of a widget.
Nvm.. I'm misreading what I'm seeing...
I was looking at that.
I see you have a component.
ok thank you now it works! 
that way i can keep the animation logic inside my widget blueprint
and it's all neat and orderly
yis

I still don't understand why there is not a default UComponentUserWidget that could be used in components, that could be given a ComponentOwner property from it's owning actor component. Widget could directly call GetOwningComponent. Which could call GetOwner on that to get the actor. Seriously hate actors referencing widgets directly.
Has anyone come across any tutorials/guides on creating glass that shatters when you walk on it? I've tried using a few settings with the apex plugin to make a destructible glass mesh, which works for shooting with projectiles, but trigger the mesh to destruct by walking on it just causes a big mess.
Line trace down and break it while moving.
Do you have access to a Struct key name?
What do you mean?
I have a struct of name, quantity. They are all text. I want to get the key names such name and quantity. Not only its values. I have a map with the same key names and i want to fetch values from that map using the struct key names.
You mean you want the property's name?
Sure if that's what it called
Like in this struct. Distance is a property name.
You can't really do that. Property names are just for programmer coordination.
What about data-table's text property? Data table has header titles based on a struct
I doubt it. That's not really the way you're meant to use structs.
What is this map? What are you trying to accomplish exactly?
I have a map with the same key names and i want to fetch values from that map using the struct key names. (edited)
The map has name and integer. If I pass in Name or Rarity, it will pass me the integer. I can manually do that of each but wondering if there's better way
Hello, I know I am new and all, but I seriously need some help. I've been tirelessly looking around for a tutorial for a save system using widgets. The closest video I found is this one (https://www.youtube.com/watch?v=C8FNZ6B7bU8&ab_channel=PendingKill), but instead of showing the steps, he just shows the work and only explains about half of the stuff. Plus, his video also feels like it is all over the place. I seriously want to learn how to make a save system almost like the one in the video. If someone has a idea or an answer, please send a DM to me on where to go. Thank you
Welcome to a tutorial series for making a game in UE4 blueprints. The goal is to have all the basic elements in place, which you can then expand on. Today we're looking at how to create a main menu system with saving to/loading from slot. We cover creating a basic main menu with UMG and Widget Blueprints, the save game functions, and using the G...
First off, I'd strongly recommend not converting Text to Name. FText is meant for player facing localized display text. Pretty much it's an end use variable that shouldn't be converted back to others. What is this datatable of? Usually you would use something more like two different maps and get your data using the same row FName you used to look up the datatable row.
What do you mean with this?
Basically a UUserWidget that can get the UWidgetComponent that is displaying it. Going to do this myself exactly like I explained. But I'm surprised it's not an engine default. The current setup requires you pass the widget stuff by referencing the widget from the actor. It's terrible design.
Is that different from using a Widget Component?
UWidgetComponent is a Widget Component.
What would be the advantage over just referencing the component?
UI is meant to display and input. The actor it's a part of shouldn't know or care if it exists. And that's just a programatical point. Also the widget component could softclass the widget class. Which would lower it's memory loading footprint.
Imagine the widget just being able to call GetOwningComponent->GetOwner->CastToWhateverItsSupposedToUse
Zero need to send the actor to the widget on the actor's Beginplay.
i have a ring of procedural grids, and I am trying to normalize the vertices to create a part of a sphere
but there is one problem
each grid is normalized on its own, while I want the group of grids to be normalized together, so It can appear to be spherical
basically I want to treat the entire set of grids as one face of a cube, and then normalize that
how can I do that?
ah I see makes sense
I wouldn't think that's possible through blueprint
mesh data is exposed only in the renderer, which is #cpp
Procedural Mesh
i am using procedural mesh
in bp
i have a procedural grid function that creates vertices and triangles
i can modify any part of the mesh I want
@odd ember
so why can't you answer your own question then?
i dont know how to modify it to get what I want
I dont know what to do
thats why I asked here
so you want all of your sections to act like one mesh?
kind of, I want them to be normalized in world space, im not sure if thats the right term to use
ah okay thanks
hello hope not interrupting, how can i refer to this delegate on another node graph?
that's not a delegate, it's an event. you need to create an event dispatcher
and then bind that event to said event dispatcher
Hey Guys, I have a capture component in an item blueprint, and it works almost fine...the render target is correctly shown in the widget. It only renders the specific item I want to render. However, I can see the atmosphere in the background, including my world lighting. Is there a way to switch that off, so that I have a complete dark background where the item is shown? I would rather like to use my Spotlight...
i want to initialize a custom tick (for resource regeneration tick)
i want to do it on beginplay but my resource system has its own graph
doesn't the capture component allow for different kinds of rendering options?
what is your resource system?
I have played around with the options, render mode doesnt change anything. Tried the max view distance. Also not helping... ๐ฆ So i am a bit lost in that regards. Which option did you have specifically in mind ?
@odd ember this will prbably do fine
I mean there are some render options that allow you to pick and choose, but to be honest if you're looking for a specific light only, you'll have to turn that on manually
what do I plug into the object slot if I'm trying to cast to my FirstPersonProjectile from level blueprint? Thanks
whatever you're trying to cast
for the first time in my life - i have made non-spaghetti blueprint code and i feel...
pure

I'm trying to cast to a Post Process volume that's in a level after hitting something with a projectile. Trying event dispatchers but the only place I can reference the post process volume is in level blueprint and can't call events from my projectile in there
what would you think would be wrong?
if it works, seems neat to me 
well you need a projectile to cast
it would seem
multiple targets instead of an array with a for each loop
seems weird to me but it does works fine
but I can't cast to my level blueprint
it's fine, BP allows for this
thank you! makes sense
it's really difficult to understand what you're trying to do without you showing code
my code is not really set up yet, it's just the basic first person template. I want to shoot an object and on event hit have it change a setting in the post process I've set up in my level
have you checked that the post process volume actually has collision settings to support this? event hit implies it is solid
I'm trying to hit a different object other than the post process
I want to cast to the PP
I want to shoot a different object other than the PostProcess volume
camera components have post process settings
the basics is, player shoots something they werent supposed to shoot and the screen changes via pp
i agree with the camera post process
you can access its variables from the camera object
i see
i set up a post process volume in the level so was hoping i wouldnt have to recreate it in the player camera
well i guess that works too
the problem is that you have to setup complex logic to make it work for a volume in the level
because the post processing volume has no idea about the logic that is going on between the projectile and whatever it hits
that's why I was thinking an event dispatcher would help
so for every projectile you'd have to bind that projectile to an event dispatcher that then links to an event that changes the post process volume
and when the projectile dies, you'd have to unbind it
it would be much easier and more elegant to do it on the camera component
how can i reference the post process in my projectile bp though?
also future proofs your work
i see
you can't
you're dealing with indirection
the projectile is not supposed to know about anything, including the post process volume
all the projectile is doing is calling the dispatcher when it has hit
but the event dispatcher is useless to me because the projectile can't communicate with the post process volume i've placed in the level?
for this situation
are you saying i should recreate this pp in the character camera and then from the projectile bind an event to cast to the player camera and change the pp there?
anyway you probably need 2 levels of event dispatchers
one for whomever fires the projectile, and then the projectiles themselves
and if you can have more than one projectile at a time it gets hairy
i appreciate the help
going to try to recreate this post process in the player camera and then go from there
Well that was easier than expected. ๐ Made that widget component in a plugin. Used a SoftClass for specifying the widget. Nearly zero memory sizemap for the actor that has the widget component, and the UserWidget class can get the component that spawns it.
Happy with that memory sizemap. ๐
how do you access that
Right click -> Size Map
thanks!
Also make sure to check the differences between Disk and Memory.
maybe i should not have a player hard reference in my hud ๐
Having the player class referenced is fine. It's always loaded.
so i'm trying to make a text block visible from another widget blueprint (via a checkbox), but i'm not sure what object i'm supposed to use in the cast block. can anyone help with this?
these widgets need to know about each other
Blue variables like that are memory pointers. They point to the location that the object resides in your RAM. Casting just changes a pointers type, not the location it points to. You need a pointer that points to that object, not necessarily a cast.
If it's always loaded and present in the world, don't worry about it
in the blueprint which you contstruct these widgets, you can have a reference to the other one and set it for later usage
Example would be a Sky too, it's always there :p
i dont know how i can explain this ๐
so the one that makes that is within a 3rd blueprint
for example like this one
but you'd have a reference to the Game UI widget in your case
you have to declare it as a variable in your checkbox widget first though
If they're present in a common Widget you could always use a dispatcher too
Hey all, super new to Unreal 5. Trying to get my pawn to start a behavior tree. Keep getting this error on compile. Pawn Controller Class set to AIController.
Usually you do things like this through delegates. Whatever has the checkbox should have a delegate on it that gets called when the checkbox changes.
you should plug a reference to the controller to target pin
Thing making the thing with the checkbox can bind to that delegate and use it on the other widget when it's called.
should be the node called something like get pawn controller
i'm kinda lost ngl
First question. Why is the checkbox in another widget if it needs to hide the other one's text?
@warm light i think this should do it
because when the options menu is closed it doesn't show the text box
The Checkbox is an options setting?
Trying now, you're the bomb
yes
basically i'm just trying to have an FPS display that can be enabled/disabled in the settings
Settings should have a reference to that widget somehow
This is normally handled by setting an options setting that you can look up and then calling a delegate from that options object. The other thing that should be affected by it can get that object and bind that delegate and change itself based on that option setting.
Options widget itself should be throw awayable. Should not be relied upon for the state of options.
i've read that you should avoid storing data in widgets generally
data which affects gameplay / systems
well for obvious reasons, they're meant for UI ๐
Widgets display data from other things, and allow input into other things. The only state they should store is their own for things like animations.
i guess the problem i'm having is that the options reference is in the player's blueprint
@gkt Thank you so much for the help, but my pain continues. Any idea where I went wrong? Adding the target didn't stop the original error.
execute the cast first
So I made a UI widget that displays the name of the item when the player stands over it, The issue is every item in the class is displaying the name of the item im standing over. Any clever idea on how to just display over the item im standing over
@warm light should be like that, the execution
cheers!
Here is an image of how im getting the name of the item in the widget, I dont think i need to show this for this issue be a change it helps
Sorry for the picture spam but the context is necessary
probably this is what is happening:
all of your weapon blueprints are listening to the character overlap simultaneously and when you overlap one, all of their graphs check out and display the current overlapped weapon's name
you can add a check on the weapons if the overlapped actor is self
right here should do it
The issue is the binding checking the bool.
i'm still confused by what a delegate is tbh
Event Dispatcher is the blueprint friendly name for it.
who am i to judge, but i think that system is not very optimal ๐
your player should notify the overlapped actors to display their labels
I dont that is it, I was just using a place holder name before I added the logic to get the correct name of the item, Here is what I added but I still get the same results
wait
@GKT No more errors anymore, but for some reason my Get Location blueprint wont finish executing. No compiling errors or missing finish executes. Any ideas?
^
Anything overlaps. They all get set to true.
you can put the overlap bool on the weapons
and the widget will listen to the parent's bool
๐ค
so check if the overlap is happening in the parent sword
with a bool
and only display to that one
Personally, I would ditch the binding, ditch the upkeep. PlayerCharacter's OnOverlap and EndOverlap can just make the things show and hide their widgets.
My embarrassingly simple get movement tree for reference
yeah that's a hell of a binding
It's just a bool check. But it's not necessary.
You could do the same thing in the items too. Make them listen for player overlap. On Begin and On End overlap, set the visibility to whether the local player is overlapping it.
So if the weapon is being overlapped set widget to true
in simple terms
overlapped by a player
yes but the widget should check an instanced variable on the sword
all of your swords are checking if the char is overlapping ANY sword
This is the only part that is in the sword
the rest of it was in the widget
to be clear
No more unnecessary variables. There are already two that handle visibility on the component. Just set it's HiddenInGame true or false.
this is the problem ๐
๐
im learning
im just surprised I make anything that remotely works
atm
It does make more sense for the actor to make its instance of the widget visible lol
- Every sword in the level is checking the "Overlap Weapon Name" in your character
- When an overlap happens, the sword modify the bool in your character
- Other swords check that bool too, so all of them think they're being overlapped and they should show the text
๐ง
Those look like function names to me. ๐
its called the spaghet naming convention
Can Regen health.... Should Regen health....... What about could Regen health......
I don't really use variables that much. Functions are easier to maintain. They return the current state of things at certain times. Variables require upkeep and babysitting. Should only be used when explicitly necessary.
how would you go about converting this to function based instead of state based
this is a mess
i guess this is the babysitting you were talking about
Well at that point you could create an enum and a structure where for the type of stat you want, you update the structure max value based on a function.
Although that gets more complex I guess
There's no need to have those. Let the regen function run as much as it wants. Doesn't matter if it keeps setting health to 100%
the proper way is probably using GAS but thats too advanced for me right now, a lot of boilerplate needed in unknown territory for me
how am i gonna clamp them?
With a clamp.
๐ฎ
omegalul 2 iq
great refactoring ๐
i think i can ditch some bools too now
I'd recommend some setters for your resources. Just call those whenever your add or lose health.
I meant for setting them. Health for instance. Sets and clamps at the same time and allows room to check for death. Simply happens any time you modify health through that function.
oh so i should move the checks into setters
should i make them events for ease of future multiplayer replication
Probably no need on the events. Health would be a replicated state. Clients can do things when that replicates to them.
i just realized i already have getter and setter but they're generalized
the problem is for example add stamina with a negative value should probably have a callback if its failing
ugh i need sleep ๐
you also touched a good point here, i should use the actor's tick and multiply with dT so i can have consistent regen rates with unit per second.....
may be a stupid question but is it possible to get raw data from a site with default engine blueprints
No
dang thx tho
wow, much better but theres still room to improve
can I ask for help with the console command HighResShot here?
I can't seem to get this damn command to do anything lol
Is there a way to stop Play World Camera Shake that is already playing halfway? or atleast to exclude certain camera to not affect by it?
Bit of a design/preference question. I'm working on a drivetrain plugin. Would you expect a positive rotation rate on a tire to be clockwise or forward? That is, would you expect both left and right tires to have positive rotation rates when a vehicle is moving forwards or right side positive, left side negative?
It's just a sign convention, the math works out either way. Just curious what you guys would expect or prefer.
Omfg when I try to do the Vinterp thing for a bullet I can either get it to stay in place from where it shot from or teleport to the position I want it to go, any help??? :(((((((((
Show your work
eee, a little embarrassed to show lol
I don't get it
Oh yeah yeah
I was using relative location atm to see if that'd work too
Idek what it does lmao
I'm not sure what it's doing either..
Why are you delaying twice?
And you realize delta time is 0
What is the VInterp (Vector) Node in Unreal Engine 4 .
Source Files: https://github.com/MWadstein/wtf-hdi-files
Also you wanna use world space
Idek what it did haha, but I did try changing it, still didn't do what I hoped for, and, the delay thing was set at 0 so that every tick it'd change the location, I've already used the on tick event in a different graph and I didn't feel like moving all of this stuff there lolll
Thank you btw, I'll check out this video :)
Why are you vinterping a projectile?
Haha.. That seems to be the least of the issues
Dunno, someone told me to
Oh oh and like
I want the projectile to go towards where a ray hits so yeah
What's the difference between the lerp (vector) and the Vinterp to?
Lerp chooses a spot between A and B based on a float.
Interp smoothly moves value A to value B, at the speed you choose.
Lerp and a timeline with a float track will give way more control
thanks
day 10 of wondering how this heap of garbage works :):):):)))))))
is there a node/function/something to draw a copy of an actor?
For example when I select something, I want to attach an "image" of that actor to the cursor. How to draw that image is what i'm unsure how to do.
look into Posable Mesh Component or Copy Pose From Mesh node in ABP Anim Graph
Thanks! I'll start looking into that. Just needed some direction.
is it possible to line trace from center of the camera frustum?
is it possible to move call in editor functions to be under a category?
and not the default one
Yeah you just give it a category
It should be in the function details rollout
@pastel rivet
@elfin inlet can't you just get a reference to the camera and then Get Forward Vector?
And with the camera location & forward vector you should be able to make the start & end points for a trace
my camera is attached to the character's head socket
Whatever BP is doing the trace needs a reference to the camera, or otherwise some way to get the camera's location/rotation
the problem is camera's object in the world is jiggling around
the forward vector is not aiming at the center of the frustum
maybe i can use the controller's forward vector
I don't follow. Like how could the camera frustum not be wholly represented by the camera. But sure you can get a location and forward vector for any actor or scene component in the world and make start & end points for a trace
You know better than me what you have in mind
Start of trace = location
End of trace = location + (forward vector ร desired length)
@tight schooner
Where
Hello guys i need help with my spawn system ehm i want the system to use an random actor but i cant find a solution for it. How can i add more actors and let the spawnpoint choose a random one for spwaning?
make an array of classes
right click class pin and promote to variable
then change it into an array
should i do the same with the ai controller class?
then add the possible classes to spawn
are these controllers for different behaviour
yeah
then pull a random one with get + random integer in range node
i get an error
then add the possible classes here
well everything worked but i didnt understand that with the ai controller
is it working
i try to make it work :/
Hello, I need to be able to move the players camera while the game is paused. If I pause the game, the camera doesn't move and if I use time dilation instead the camera moves but there's a weird warping effect to the characters and everything is very blurry. Any solutions?
yes its working ๐ and how can i do that with the ai controller?
add the same to the ai controller ๐
make another array for the controller classes
the rest is same
hiiiii
I'm trying to create orbs that float around a position
discovered SpringArms - but not sure how to get them to work.
is the orb not supposed to be a parent of the springarm?
afaik spring arms are made for camera stuff, you should probably just use an empty mesh or scene component or something and parent your orb to it - and rotate the empty.
Question:
So i have made a chest, with an inventory that i can use.
But now i'm making enemies, and i feel like enemies could use an inventory too...
How can i convert a bunch of code into a reusable component? 
Can i just read the documentation on it? Are there neat tutorials on custom components?
Just make the component.
but i already have the code
InventoryComponent is a very good project
i didn't plan ahead 
move the code into an InventoryComponent
oh lol
InventoryComponent would have variables representing what it's storing and functions and events to get its contents, give an item, drop an item, swap items to another inventory component etc
If you're totally new to components maybe try making a HealthComponent first but InventoryComponent is a very good project.
You should make the component in such a way that the player character, chests, shops, enemies, anything else would use the same component
yeah i'm slowly beginning to understand why stuff is the way it is 
that's the whole point of components. Put all the inventory stuff in it then just slap it on an actor to give them an inventory
There are tutorials around but I'd just try to do it yourself. It's not that hard and you'll learn a lot.
yea i made an inventory on my player that does work, and then i made another one for a chest
but now with enemies? I feel like it's getting silly 
that's why you generally want to create one inventory that fits everything
yeeah that does indeed sound like a reasonable thing to do now lol
one of the main principles of code is "don't repeat yourself"
Hello. How can I track that my EQS system did not output a single successful optioั?
try function and not event
You can get a count of how many it returned
probably better asked in #ue4-general. sounds like some sort of migration issue
maybe #source-control can help too if you use that
Thanks, have cross-posted to both channels, hope that's not too frowned upon here
it is. you're generally expected to delete before reposting
Ok, my bad, thank you
Will try #source-control first in case it's a git or git-lfs issue. Suspect the crowd there may be more familiar with migration issues in general too ๐
um why is it
when i shoot a line trace at a character actor
and i try to print the name
it comes empty? 
the line trace doesn't hit?
it does hit, but the string is empty
then it doesn't hit
but when i shoot another string every like second it gets pushed down instantly
i did it with a brand new actor just created - same result
yeah so you're not hitting anything but you're running the trace on tick or some such
not hitting collisions? you can put a branch to only print if it hits anything
hmmmm
that could actually be it, hang on
oh that was it, ur a genius! 
thank you so much! @odd ember
anyone know why this is happening? ball bouncing off platform most of the time, it works as intended on the first try, then when i make it to the 2nd platform (same bp actor) it applies extreme force
Hi, everyone! Does anybody here know about a good tutorial that goes over the creation of character controllers from scratch using blueprints? It seems like every single tutorial starts off with that template. I don't want that. I want to try to build it from scratch so I can control it the way I want. I have no idea how daunting a task that will be, but I want to try, but I need somewhere to start. Some tutorial or series that goes through all the essential components of a third person character controller.
most of the movement is handled by the character movement component anyways
so player controllers can get away being pretty simple
what's your experience level with game engines?
hi all, trying to build floating orbs that rotate around other actors.
not sure how do i get the SpringArm to behave correctly
am i supposed to set the location of the spring arm to be away from the orb at the start?
the springarm doesn't do what you think it does
shouldn't be necessary to change the world location
Hello All, I am making a game for a university project and wanted to ask if anyone has a suggestion on how to implement this mechanic. What the idea basically is, is that the player is a Stone Sentry that collects gems that improve their attacks. These gems are scattered throughout the world, and when the player collects them they begin to o...
the rotation should work, tho
just make a pivot point to rotate around and have it be the parent of both spheres
done
springarms have nice collision behaviours
the spring arm does that, tho
@odd ember Not particularly high. I'm pretty comfortable with blueprinting to some extent in Unreal, and I'd like to learn more. I work with animation, so that's where I have the most experience.
and also has the ability to move to the place with Lag
are the orbs supposed to be own entities, or are they child actors on the character?
the interestign thing is - if i apply a relative transform to the springarm in the blueprint editor, it seems to work
own entities - i hope to make them pick-upable
I'd stick with the templates then ๐
wanting to submit a level for my uni module where
i haev a box with a npc running around - if he walks into an orb it starts to orbit around him without colliding with other orbs
@odd ember But can you modify that into anything you want, or do you just end up working around the limits of the template?
if you attach the orbs to the character you get around updating their world location each tick
however, i'm not sure why your orb won't rotate, it should
how do i attach the orb to the character if the orb can be picked up?
yeah thats the thing ๐ฆ it works fine in the blueprint editor
you can modify it however you want. the template is just a start. nothing is removed
in your orb BP the orb isn't on 0,0,0 but the root of the spring arm is, right?
AttachActorToActor or AttachActorToComponent
they are all 0,0,0 location and transform
do custom collision objects work?
cus i'm missing one hidden checkbox or they dont work for me
oh wow thats a lot more efficient than updating on tick
pretty much the same cpu load i guess, but it's the cleaner solution imho
if thats the case do i still need a root scene object? or can the spring arm be the root itself
spring arm can be root
if spring arm is root, then it remains at 0,0,0 or
yes, but the orb shouldn't be at 0,0,0
it needs some offset, so that you notice any rotation
do you mean the orb instance?
the orb sphere/light
is there a socket setting somewhere?
@odd ember I see. Might be worth giving it a chance, at least as a starting point ๐
yes, but what socket is in the details of the sphere?
oh this setting on the blueprint editor > sphere?
it was none - changed it to springendpoint
still doesnt rotate though.
the spring arm has a length defined?
changing it to AddActorWorldRotation (since spring arm is now root) also doesnt work
neither does AddActorLocalRotation
try with unchecked "inherit yaw/pitch/roll"
doesnt work either
Can i see the component list/hierarchy? I've had problems with transforms before when there's not a simple scene component as a root.
idk why that happens but there's a chance I might be able to help you here
do you mean this?
yea valid point, removing the scene may also removed the rotation from the transform
ye
I'd try making a scene component and parenting the springarm to it
when i changed location rule to keep relative - the orb moves to right location
edit: doesn't seem to be keepign to 300 away
but its not rotating.
hmm, ill try creating a new blueprint from scratch
maybe some old settings mightve affected
Don't delete your current version though in case that doesn't work
I've made that mistake before lol
complete default settings
hmm. i must be misunderstanding something
if i use a RotatingMovement instead
it behaves a lot better
is AddActorWorldRotation the incorrect method?
ah yes it is
lol - the sprignarm was attached to the anchor already so local is correct
not world
depends, 10 degree is just pretty large
anyway - it seems to work now.
maybe some lingering settigns was messing with it
trick was to just create a new one ๐
btw - what exactly does the movement components here move
does it move the entire actor?
are there component-movement components we can attach?
is there a way to attach the orb to the actor such that it will gradually move there - or do i need to create a timer that gradually transforms its local offset to the parent until it hits a threshold, then removes the timer?
probably later, i'm not aware of any build in function of that
gradually how?
but simple anyway
maybe attach it to the actor and keep the world location, and in the same process start to move it towards 0,0,0
because you're straddling a use case between implementing AI movement or using projectile movement at the moment
wait
can i use AI movement to handle this?
make the orbs smart in wanting to rotate around its parent
probably overkill if they are just supposed to rotate
but seeing as you're using spring arms, there are some tickboxes for "lag" you could try
aside: is there a way to create timers that reference functions that dont take a string? e.g. a list of funcs to call
feels weird to call funcs by strings - but unsure if this is a common thing in C++
You can do create timer by event where you can link a custom event
it's called reflection, you usually want to avoid it
Using function name is a possibility, but it's slower than a direct delegate binding.
create timer by function and then use the CreateEvent node is the best way
avoids any use of strings, but retains same functionality
gotcha.
is there a way to hook into EventTick from a function
without having to call the func from event tick?
e.g. a NotificationCenter i can listen to
Why?
i might be mistaken - but timers are not necessarily accurate since the tick between frames depends on the load
so if the movement of other objects are dependent on event tick - then the speed via Set Timer > AddLocalOffset might be different.
(over engineering in blueprints, lol but curious)
Timers are just a timer manager that runs on tick itself.
EventTick exposes delta seconds but if i want to access that i have to call a func
Doing things at near tick rate with timers is not a good idea.
is there an "Apply force" function?
e.g. - instead of manually setting add local offset, i tell it to move
eg via velocity
For simulating physics objects.
For other things you'd probably use a projectile movement component. Not sure if it has force functions, but it shouldn't be too difficult to math the velocity change.
timers run independently from tick, but will always sync with tick for updates
Why a timer though?
use case:
Orb gets picked up, then moves above target and orbits around.
attach to anchor merely registers it as a child component but doesnt have a way to gradually move to ideal offset
But you're using a timer for moving the object, or?
thats the plan
i mean ideally i would rely on SpringArm's length to do it but
not sure why SpringArm doesnt move it into position
it just keeps its origin
I still strongly recommend not using a timer for this. Timers are not meant to be used for near tick rates.
a nasty side effect of relying on EventTick in this scenario would be that it has to constantly check if it should move towards the ideal local offset
this just seems massively overengineered
even if it has already moved
lol yes it is, but this thought process is enjoyable so why not ๐
because it teaches you bad habits
hence why i was asking if there was a way i can access EventTick from a notification service instead
Like. I'm lazy. I'd just stick some scene component on the end of the spring arm, and put a projectile movement component with a homing target if I just needed something quick. Realistically this is Niagara territory if you're looking for performance though.
ideally for a moving orb you can use something like a timeline that loops. you keep the XY location of your character as the pivot for your orb... and that's it
that's all you need
oh wow i didn't know that was a possibility haha
i havent gone beyond playing with geometry yet
what would you use instead?
of the component - assuming we are staying in code / blueprints
Just make the thing tick itself. Give it a target owner. If has not reached target owner, interpolate towards target owner. If has reached target owner, start rotating around a local point on target owner.
might that be more inefficient since it has to run an if check every tick?
whereas if we used a timer - we can deregister the callback after its done
But it's never done.
It still has to rotate around the owner. Doesn't matter if it's the owner rotating spring arms, or the object itself rotating around the owner. Something is ticking and moving components somewhere.
actually that's true
The reason why timers are bad at near tick rates, is because sometimes you're running the same code twice in a frame. It's a pointless upkeep that at best has no discernable performance gain. At worst, causes you to run code twice in a frame sometimes.
A case example is that if you set a timer to run 0.0166 seconds, which is 60FPS, but your user is running at 30 FPS. They're running that timer two times every frame.
so its the safest path to just rely on event tick instead
If it needs to move smoothly each frame, and it's constant and never stops, sure.
gotcha, thank you so much for entertaining me
learnt a lot here ๐
lol yeah this is important too i have 2 hours left welp
thanks for pointing out again that someone else still has to check regardless ๐
General note. Don't be afraid of tick. Or casting. Once you know how to use them, they're not nearly the monsters that guides and youtube will have you believe.
is there a "is null" check?
like i have an "IsValid?"
But if the variable doesn't exist
i get an error
sure, but if the LastViewedObject is null, wouldn't it mean the component is null too?
Yeah, but you're still accessing the pointer of LastViewedObject to try to get the component.
you mean setting a timer for "get world delta seconds" is a bad thing? 
derp question
why does this not work >_< - trying to move the orbs to the location
trying out VInterp To instead of manually calculating the diff
subtracting the vectors and using AddRelativeLocation works.
Is it possible to shoot down a linetrace at an object that has a texture, and get the color of the texture. For example where the dot is, I can get exactly what color that is. Is this possible?
hmm - it works well if i use SetActorLocation
why is that?
(the orbs were initially unattached, then became attached, so its relative position was not at the ideal initially)
attach to anchor was set to keep relative
Interp is over time
so you would need a constant delta time input for it to work
yup - that part works
the strange thing is, why do i use SetActorLocation instead of SetActorRelativeLocation?
relative is relative to parent space
while the rest of your calculations are in world space
oh im a derp
yeah
whoops
Also a problem for travel in seamless. Timers can still run from the persistent world in an object like a widget if it's been removed from screen. Widget Tick doesn't. ๐
It's as simple as an AI Move To, but on it's own, the AI would still look braindead.
i dont get it
Most AI behave braindead ๐
Literally a node called AI Move To
and connect the location to where?
At least developers putting more effort on stuff like sorting priorities can make the AI more palatable to play with/against.
Except turn based RPG where all the AI would do is roll a dice.
Where you want your AI go to.
I dunno, maybe trying to go into his home, or go to his office in shortest path possible.
lol
Is there a pagination function to help load a large data table? If not what are my options ?
make your own
What is a large datatable in this context?
a smol one^
heh even using a homing projectile the floating orbs arent that easy to build
_<
i must be doing something incorrect though
the SpringArm isn't behaving the way how it should
@maiden wadi #cpp message
or at least i must be misunderstanding something.
if we set its length to be X - it should try to maintain that length, but, if you have an actor that is a spring arm that is later attached to another actor - it doesnt seem to do that?
I remember that conversation. ๐ That was ridiculous.
so i guess you also thought about it when reading that question ๐
Actually I was wondering why you'd need to care about it. You don't really load datatables often. You kinda just let them chill in memory as static data. They shouldn't be that huge.
guess most of the loading problems come from hard referencing objects
so what are you doing @true valve
Priceless 32gb
Sounds like something that should exist elsewere and queried when needed
Then you can go as big as you like i guess
like a database that was designed for that amount of data ๐
Yeah, but they were using it for storing basically predefined linetraces. Like.. While you're at it, just compute the reason for the universe. ๐คทโโ๏ธ
Static linetraces
Yo everyone, I would like to know how we do so that when I press a button that displays a widget and then I press another button that displays a widget and well that the displayed widget deletes it to be able to leave the other appear. Excuse me if it's not very clear
What help are they..?
something for spawning stuff iirc
Use an input event for that button, create widget and add to player screen.
they aren't of any help as a computed line trace would be faster than a query on 32gb data
I'm away from my computer so someone might able to visualise the BP
Exactly :p
Also, why trace at all? Isnt it faster/smaller dataset to access the raw data instead. ...
they had no idea what they where doing, otherwise the question about the 32GB data table would have never raised up
What even 32GB of DT consist of lol
AWS Cloud now with LineTrace lookups :>
Yes but will this be able to delete the previous widget that was displayed on the screen?
Lidar clouds are way smaller
Even if it's just spawn point vectors, it should not be that big, unless it's 32+ million spawn points
you save a reference of the widget that you add, and call remove from parent on that reference before you add a new one
may have been the whole HitResult ๐คท
i don't even know how they got that data into the table in the first place
I can't even comprehend how an Excel spreadsheet would take 32 GB
bet those exist
Ive had logs at 100mb or so
I'm sure nuclear launch codes are smaller in size than that
They feel litterally endless
2,863,311,530 spawn points to be exact. ๐
https://forums.tomshardware.com/threads/what-would-be-the-best-pc-i-can-build-for-excel-spreadsheets.3239373/ funny that those questions even exist ๐
Rand vector trace downwards from maxZ
will try to send you a picture when I get home
The issues are that it came from a person that doesn't really understand the need to prioritize memory availability over cpu use. Processing is dirt cheap. Memory is expensive and precious.
well, it's a tradeoff
I felt like I lost few braincells reading his reasoning behind 32 GB data table fiesta
i do a lot of precomputing in my project to save cpu time on the long run
They'll come back. They just went to get drunk to not remember what you saw.
Yeah im gonna need to precompute some things as well i think
Not quite sure how yet
help, loading visual studio just brings me to this page and not code
But i do need some static lookups for my pathing
Are you going to make BP in Visual Studio? ๐ค
(still not sure why Visual Studio don't really have visual scripting, if visual is in the name)
idk im new i was just trying to look at some code of the nodes
Oh.
If you're on vanilla launcher build, it's useless.
Huh?
"Reading C++ symbols" of a BP node always work with source builds, where the source code is still exposed and pretty much editable
uh so how do i see some code and maybe even edit a node?
ok hear me out, make a data table and just store every trace in it...
i saw the read c++ symbols and then it said loading visual studio and i got here
If it's a node built in the engine, you can't edit it.
You can look at the engine source if you have engine source + symbols installed
Doubleclicking a node usually works but not always - in that case you can search by name in the source
then i just want to look at the c++ of some of the node
i have the symbols thing turned on
also i would step away from the idea to modify engine code, rather try to rebuild it in your own module
i just installed it
Do you install the source code part?
Oh, this sounds interesting ! Give me more
Also I'm sure it only works with C++ projects.
Can i just store it in the ram?
prerender everything, store it in an sqlite DB and port your game to renpy
uh lemme chec
this it?
People managed to put Crysis in VRAM, in its entirety, so why not :P
Yes, engine source. Already installed.
Is your project a BP only project?
it's a bp i dont know about only bp
when i made it i pressed blueprint
Then it is BP only, which makes "Reading C++ Symbols" on a BP node won't work.
You can add a c++ class to it tho
oh
For starters, making custom BP node in C++ for the project.
Yeah you can just add a new c++ class to it which will effectively enable the C++ functionality
how do I make a new bp node from c++, like how do I open the editor with it. Do I just write code in visual studio and then drag it into the bp?
Have you mastered Blueprints and want to take the next step into C++ to leverage more from the engine? It's easier than you think! In this tutorial, you'll learn the basics of exposing C++ to Blueprints, migrating Blueprints, and more.
tanks
is there an easy way to get child actors of an actor?
context:
Actor A attaches to Actor B.
Actor B has many Actor As.
GEtAllChildActors doesn't work because it wasn't spawned by B.
Is the only way to add a tag to A's component, then get Actor of A's component?
registering them with their parent
but it does beg the question of why you have many actors attached
floating collectable and discardable orbs
is there an event that the parent can observe?
Create an event dispatcher if you want an actor to listen to another actor
why wouldn't you just have an array of actor references?
if i have a component added to an actor - and that component has an array - can i make that array public in the editor so i can add stuff to it? 
did you mean in the details panel?
expose it as normal, then in the details panel of your actor, click on the component and it'll show up
what's the quickest way to create a blueprint at my location, possess it then destroy the old blueprint?
i need to make a "transformation" between blueprints
Spawn the new one, then destroy the old one
i know that. i mean what's the cleanest way in terms of blueprints
spawn the new one, then destroy the old one
yeah I think you might want to spawn the new one, then destroy the old one
haha no, just write it out as you think it should be done and post here and if there are any optimisations someone will let you know
you're onto us ๐
i would but im still pretty new to blueprinting
i don't know what nodes to use, where to put it
just some pointers would help
Spawn actor at location, possess the output, then destroy the current actor
very fast
im planning on it being in a vr game (but im masking the transformation with a flash)
probably near instant right?
oh yeah it'll
yeah it'll def be a lot faster than that
hmmm
oh no i mispoke sorry
would i put that in my player BP or my player controller?
your controller
alright
this is fun
how do i call an event from my player controller in my character BP?
Get Player Controller -> Cast to [your PCon class] -> call the event.
Of course this goes without saying it works best in single player game.
You can just do Get Controller which is a method on the character
it will get the currently possessing controller
(or rather, I think it's on Pawn, but Character is a Pawn)
this is probably wrong but
this is my code to spawn, possess then destroy, am i missing something?
You are possessing with Self and then destroying Self
That seems somewhat counterproductive
i see
Idk how your set up is, but you can probbaly connect the output of the spawn to possess
I've never done this tho
what would i need to change to fix this?
I don't really know what the goal there is
Are you spawning this from your controller, and then want to possess it and destroy the previous pawn?
yeah
Right - so you need to actually connect the previous pawn into the Target pin for Destroy
otherwise you are destroying Self - that is, your controller
yeah i figured that might be it lmao
so i need to get a reference for my current pawn?
the one before transformation
Yeah
aight. and how would i do that
Before you call Possess, you can do Get Pawn and save it into a variable
i also need to get my current pawns transform so i can plug that into the transform of the created actor
get pawn?
is that a node? i can't find it by searching
oh wait nvm
"get player pawn"
do you run that code in the controller or the character?
controller
then get controlled pawn iirc
aight
and you may have to cast it to your character class depending on what you want to do with it
are you telling me those do different things
both popped up but controlled spawn sounds more efficient
yes
the 2nd one uses the controller which you feed it to (or the controller you run it on)
the first one is the brute force way
Yeah Get Controlled Pawn is the way to go in this case :)
It's always better to use the ones which give you the specific one, instead of by Player Index if possible
are you destroying hte player controller?
im
hang on
im creating a new pawn at my position
possessing it
destroying the old one
i have get controlled pawn and get actor transform (of the old pawn)
i plugged the transform into the created pawn so it'll spawn at the same place, is that correct
sorry if answering this is annoying
i've just been itching to make something like this and i figure hey why not give it a go
ah
Is there a way to stop actors appearing in the debug filter in blueprint? I've got lots of actors in my world and the debug filter is getting quite the bit full.
and hook it in before you possess the new pawn
What's debug filter? ๐ค
Blueprint Runtime Error: "Accessed None trying to read property Old". Blueprint: ben10 Function: Execute Ubergraph Ben 10 Graph: EventGraph Node: SpawnActor Heatblast
Ohh of course
Yeah not sure if you can filter it, but I've noticed if you select the actor you want to debug, it at least sometimes defaults that dropdown to the selected one
Yeah just looking to save some time, seeing if I can mark actors to not appear in the filter
I want to rotate every object in this array, but i want them to stop once they equal any of these rotations in this float array.. i'm having trouble figuring out how. Any help?
You're not setting the variable for 'old'
When you spawn the old pawn, set the variable there ๐
i see
Dont do this, this will literally delete the pawn you just spawned
Hey! so i have an item class with scene component as it's root component and a static mesh child of the root component. the static mesh have physics enabled. whenever i tried to attach the item object via "Attach Actor To Component" with location rule "snap to target", it doesn't update the location of the static mesh. (i'm disabling the physic of the static mesh before calling attach actor to component) i've read the unreal doc and it seems like that the "Attach Actor To Component" only attaches the root component (which is scene component) is there a way for me to attach the item without having to have static mesh as it's root component?
Tl;dr: is there a way to make the "Attach Actor To Component" work with scene component as root, and have static mesh with physics enabled?
There's AttachActorToActor too
ok i'll try and see if that works, thanks!
Reposting here:
Anyone know a way to hide actors from the debug filter here?
nope it didn't worked




