#blueprint
402296 messages · Page 843 of 403
if it was like a ""plane" you cant change tiling size?
The shape of the mesh doesn't matter for this
Add a texture coordinate into the uv of your texture and mess around with the u and v values untill it's the right ratio
I mean in the material blueprint
Does anyone know of a way to rename assets from the explorer without breaking them?
i want to rename this assets, but by doing so, i broke the reference to the editor and i can't import them later
Can someone help?
You really can't rename assets in explorer.
Anyone know how to save a grid inventory, I have create one and now I like to save or load. But I don't know how to get the items and position of evert grid because isn't like a normal inventor. I had create the inventory sistem of that channel https://youtu.be/4CjpBoKl6s8
Support the channel through donations. Crypto accepted!
PayPal: https://paypal.me/reidschannel?locale.x=en_US
Patreon: https://www.patreon.com/reidschannel
Bitcoin: 1JFwWHr4X6uAeoZadukzqKjzFBj3Qjy7Sk
Ethereum: 0x2B2Bc108F1Cc0fF899959dEF3226637787d8C3dE
Dogecoin: DNQ33YnhpWoTBokBNVkZP5ub8KTLkpyjpv
Join our community discord!
Discord: https://dis...
Hi. You can write your own script in python or blueprints
https://forums.unrealengine.com/t/batch-rename-ue4-assets/446212/3
The UE4’s Scripting the Editor using Python is the Unreal-way of batch renaming UE4 assets as it also rename the references properly. After activating Python plugin, you can modify the following script: Below is the script I used to rename all my animation assets under /Game/DynamicSwordAnimset/ with the ff. search/replace texts: eqip to eq...
Most likely has a construction script setting it's location.
happens for every single actor
and stuff I place in the world spawns directly on my camera, not on the ground
That odd. Can't say I've personally experienced that. O.o
um
Hi everyone! i need to spawn tiny bricks inside a sphere..
in houdini i would make the sphere a volume, and then use a pointFromVolume, and then packAndCopy bricks to the points..
Do you know how to do such a thing in unreal?
random unit vector * sphere radius + origin location
I have a silly beginner question, I have a trigger area and I want it's blueprint to access a boolean inside these cylinders
when the cylinders enter the area
is this possible?
yes, have a look at overlap events
there's like nothing I can find online
wow! trying right now! thanks !
I have that, I just don't know how to get the overlapping object's boolean
guys please tell me if anyone can help me out, not to sound impatient but my head is hurting, its so complex that i cant even explain the problem
take the 'Out Actor' from begin overlap, cast it to your cylinder class and voila you can access the variables
without no problem there is no solution
the thing is, through this the meshes are changing but its stuttering during the change and thats annoying me, im trying to make a smooth animation using like 4 meshes, i just want them to interchange between each other and create a blocky animation kinda thing
im recreating mario, so ive made a voxel mario and im trying to make it walk. To make it walk ive made two meshes of 2 poses of walking and i want them to keep playing back and fourth when mario walks but its just not happening cause setting the visibility using tick is the only way i could find and its still not working. Is there a better way? Im new to this
Its very jittery and glitchy. And i dont know how im supposed to make animations using just 2 meshes
um
like this?
yes
and what now?
you can access the boolean via that pin
that is your reference of your controlled object
- You could always change the mesh instead of changing the visibility for four meshes. 2. You could use a timeline instead for the animation.
how am i supposed to change the mesh, does it not allow you to only change the skeletal mesh?
this isnt a skeletal mesh just to be clear
and how do i use a timeline to switch between meshes?
something like this for example
it's working but i can't get "simulate physics" to be ON in the "Add instance static mesh"
any idea?
THANKS SO MUCH LET ME TRY THIS OUT RIGHT NOW
and does the timeline track have to be even track, float track or vector track??
instanced static mesh don't support physics
in this case I used float track
damn ok; good to know
maybe particles are more what you want
pretty sure yes
but I never really worked with particles (especially not with niagara) so I can't help you there
so im using this now
and nothing is happening apparently
is there something wrong
yeah 1. you need to connect 'BeginPlay' with 'Play' 2. you didn't set a static mesh anywhere
You havne't connected anything to the static mesh pins? Or selected an asset?
OH HAHAHAHAH im so dumb okay
and you also only want to play the walk animation if you're actually walking, that would be another branch
a wait nvm
you changed jumping to walking so you're good there
yeah, i'm building that one but running into some problems to get the right index
its asking me to connect something to target
should i connect the original staying still one
yeah set your player mesh component as target
okay
and then set the static mesh to one you want there
anyone know how to get the location of where the playera camera is looking
THANK YOU SO SO SO SO SO SOS OSNAISHGPIOASEHRGIOU SO MUCH
this is so cool
i love this so much
you're welcome
if i have to enable jumping i just use the same thing right
yeah
basically another branch before walking
use a 'LineTrace'
and then if thats false then i just continue the original code but if its true i set the mesh to jumping
exactly
thats so cool dude is it okay if i send you a friend request?
youve helped me out a lot man and that means a lot
what line trace is it
start would be: camera location; end would be: camera forward vector * 10000 + camera location
I don't really like helping people in DM's, sorry
i wont ask you for any but thats fine either ways, thanks a lot
thank youu
Hey guys, how can i edit a BP's variable in a different BP?
yes
so you can use "cast to (blueprint)"
im not the best to explain it so hol up
Examples of different Casting Nodes and usage cases.
awesome!! checking it out ! thank you!
if you have any questions let me know ill help the best i can
ok so what i uderstood is i need to add a CastToBlueprint2.. all good, the issue is i can't plug the variable to share/edit in it
can you show me what you have so far
i'm not sure what to put in object?
i need to put Pod Switch variable in object
but i can't
so to change the variable you must drag off "as new blueprint1" and type set (your variable)
in theory it should show up, as far as object, that just depends what type of blueprint it is
yes!
did you get it to work?
oh but wait. CastTo… has to be added in the BP2 that will control the variable of BP1 right?
right now it's in BP1 which has the variable i want to cast
awesome!
the only part i don't get is "GET PLAYER CHARACTER"
how do you get that node
are you casting to your character?
thank you!
You need a reference to the object to cast. GetActorOfClass, LineTrace, StoreReferneceSomewhereGlobal, Interfaces, etc. all get references but cast them as Actor class which is what you would have to cast to your BP
get actor of class would probably work best right?
Well. Interfaces don't. They're more or less lazy casting. But point is you need a pointer to the other object first.
Usually you get these based on the relationship between the two objects.
i have to go but can you take over, im just a novice anyway :)\
it gives me an error when i GetActorOfClass a staticObject
What is the relationship between these two objects?
Why does one need to reference the other?
How to drow a dative base on mouse position I got this graph and have no idea where to go next
well i have a loop that says; increment, and once you increment, i connect the loop number to the other blueprint. so each time it increment
in the other blueprint
or maybe should i try to merge the 2 blueprints?
ah well one of them is a UserWidget BP...
and the other one is an actor BP
hmmm
not sure i can merge that
Do you plan to have more than one of the actor class in the level at any one time?
Also is the Widget added to viewport, or is it in a WidgetComponent on the actor?
yeah
i want the BP 1 to be the main conductor.. so i'll have 2 other BP changing stuff too, driven by that main BP
widget component
In your actor's Beginplay, you want to get that component's pointer. Drag off of it, GetUserWidgetObject, Cast that to your widget class. Make a function in the widget that takes in the actor's class. And call that function from the beginplay of the actor and pass self through.
ok! trying that
Actor.
Widget
Basically you're telling the widget what the actor is. Now that widget can use MyActorPointer to access anything it needs from that actor.
hay so im working on a multiplayer fps game and im using UE4's shootergame template as the base and im testing out the multiplayer and I can figure out how to start it does anyone know
Not sure what you mean by start it? You should be able to test it in editor like any other project with the play button.
like im testing the multiplayer in the main menu and im trying to start a game but I cant figure out how to
Hi I have this parabolic jump right here a vector. I want to control the end point location from a parameter. Im new to timelines, how can I make that vector a parameter?
Ah. Not sure, haven't tested Shootergame in multiplayer. Chances are you just need to package it.
IDK I should just be able to start a lobby in the editor
Probably. But sessions won't work in the editor.
there should still be a button
It's probably a map if it exists.
Not sure you can edit timelines like that. Most times people go for stuff like a 1 length float or vector and just multiply it to their dynamic needs.
ah ok ty
https://media.discordapp.net/attachments/225448446956404738/945047504691535902/unknown.png this is my blueprints. I cant seem to connect the set to the calculate direction
https://cdn.discordapp.com/attachments/225448446956404738/945047672337874984/unknown.png this is what its supposed to look like
Connect the two green set nodes. The blue CalculateDirection is an older version. It was made const and pure. Just means it doesn't require execution nodes.
Hi everybody! is there any way to change the sorting used for the items show on the editor?
(content assets)
Right now i have the blueprints set up for when pressed the gun would be equipped and on release of the button it wont be is there a way to have it toggle instead of on release?
Use a boolean variable called "GunEquipped". On your button press, check if the value is true. If true, do whatever to unequip, then set the boolean false. If false, set the boolean true, then do whatever you do to equip your weapon.
thank you i will test this out and update
Hi! this sprites are created from one big texture, is there any way to assign a new texture reference to each one?
Ok ill try again I need to setup the mouse cursor in 2d map I got this graph and It won't show my sprite on the map
Viewport Position != world position. You need to get the local controller and project the mouse location from screen to world, then probably do a LinePlaneIntersaction(Origin&Normal) with the plane being your 2D world's side direction.
ok thx'll try it.
i tried some version of what you said but it didn't work is there anyway you could provide an example i can work off of
OMG THANK YOU i will implement this rn and update
question what is the last node. sorry im REALLY new to this. this is my most ambitious project
I just put those in as place holders.
Whatever you do at that point is whatever code you have currently to equip or unequip your weapon.
Hello guys. What is the best place to create a pause widget? Character or controller or another?
Has anyone used Movie Render Queue from blueprints?
I am getting an error "Cut State: uninitialized"
so im trying to Get MySubsystem in a UObject blueprint but its saying its unsafe and that the Context Object pin needs a connection but there is no context object pin?
Best place to create the actual widget is in the HUD class, but the pause system should be controlled by the player controller.
Eg: You have an event dispatcher in your player controller that can signal when the game is paused. Anything that specifically needs to know when the game is paused (like the HUD) would bind to it on begin play. When you press the pause button on the player controller you can call the event dispatcher. The bound event on the HUD should then create and display the widget. On leaving the pause menu, the HUD can remove the widget.
Context object is a hidden pin, generally used to help the underlying cpp find the World. What is the type of the blueprint parent and what kind of Subsystem is it?
blueprint type is UObject (its actually Outfit which is a UObject but doesnt override any functions), subsystem is a WorldSubsystem
I don't know for sure but you might not be able to get a Subsystem from that context. Your blueprint won't necessarily have a world to reference, which is why is saying it's unsafe
hm. it seems that UObject::GetWorld just does an outer call to GetWorld. in this case i think its the gamemode that creates it? either way. maybe ill switch to AInfo. UObject is giving me quite a few issues
Yeah, an actor or an actor component will definitely make your life easier
Thank you🙏
And if i want create widgets with health, ammo count, and another I must create them in Widget, which i created in HUD?
Well found a very nice gotcha 🤔
You would think this worked... but guess what... nah. It does the same thing as if you used a foreach loop to do this :P
It's not a matter of must - you can create a widget anywhere.
It's just usually best to create in the HUD class - this can help you keep your widgets separate from your game logic, so if there's any major changes to how you want your HUD to behave, or to how you want your other classes (like player controller) to behave, you're not necessarily going to have to completely rebuild the functionality of both.
Thank you😁
When I drag and drop a character into the level the movement works fine but if I spawn an actor into the level it does not move. Under Auto Possess AI I have Placed in World or Spawned so I dont know what the issue could be
Do you have an AI controller class defined in the class you're spawning?
does anyone know why a Get Socket Transform in world space would be returning a transform in the parent bone space instead? The target is a skeletal mesh attached to a bone on my character's mesh. I put together a simple reproducer outside of my project and Get Socket Transform in world space does work as expected, so I think it's something I've toggled off or missed in C++ code.
Hi, im trying to implement a BunnyHopping type of movement into my game and i have a start by following this guide http://adrianb.io/2015/02/14/bunnyhop.html. But i am very new to ue and have hit a roadblock and have no clue how to debug my error
Its written very poorly but this is my 1st attempt at something like this. At the moment it just moves my character up when i press w, down when i press s, and moves me left and right but at astronomical speeds, the speed also never disappears. Literally any help would be appreciated. dm me if needed or @ me
Yes I have an AI controlled class that is running a behavior tree
and the AI is spawning as well when the actor spawns
also sorry Im a noob lol
Do you have a valid nav mesh where that actor is being spawned?
yes it looks like it could it be a collision issue like maybe it's stuck in the ground or something?
Have you used the AI debug screen?
While playing press the apostrophe key
Look at your spawned character
Press 4 to activate the pathfinding view
On your numpad
Probably also works on the regular 4 but I always use the numpad so not sure
You can then see if it has the right controller, is using the move to task, and what it's currently trying to do pathfinding wise
(Look at your ai then press apostrophe)
That is a very useful tool thank you! I found something interesting. When I drag and drop an actor onto the level the movement works fine and it says that the movement mode is walking like you can see below.
But when I spawn the actor the movement mode is set to falling instead like you can see below.
In order to make UObject derived classes be able to use all blueprint nodes that require a world, you need to override GetWorld in c++. since you have a subsystem i assume you are using some c++. Uobjects have some magic that allows them to know if that function has been overridden, and once it is those errors go away. the fun part then becomes providing your get world function with something valid. depending on what your doing it isn't that hard. if your UOutfit contains a pointer to any other object, you can just defer the call to it instead.
virtual UWorld* GetWorld() const override
{
if (!IsValid(SomeOtherPointer)) return nullptr;
return SomeOtherPointer->GetWorld();
}
returning nullptr probably isnt the safest, but it its worked for one of my classes so far at least.
i needed to do some async loading in a uobject class and ran into your same problem
I made "get hit result under cursor for objects" node sensitive to a custom object type but it still gets results from other object types. How can I prevent this?
@dawn gazelle @zealous fog Thank you so so much I just got it to work! You all are lifesavers 🙂
hello, does anybody know how I can use the ease nodes with tick function?
seems like there is always a snap when using them without timeline
So it seems that it gets the result correctly but the problem is that even if there is an another actor with a different object type getting in the way of the cursor, it ignores that object and gets the result from the actor that has the custom object type anyway.
need help.
we cant help if you dont tell us whats wrong
good point
can you use a timeline but only for a component of a blueprint?
r u gonna ask then
I cant implement this one
I just want a single image to render to my chosen directory
Debugging is king
and error ignoring is boring 
trying to make a wide range spell but it only damages one actor at a time
anyway to make it damage any actor in its collision
without the delay it works perfectly
but does way more than 100 damage
is there any way to spawn the subtitles according to the time i set in blueprint
Ok, there's nothing sticking out in your GetClosestPlayer function. I'd recommend trying to break down your ResetAI event into smaller pieces so you can see where it may be going wrong. Like, what happens if you use only the first AIMoveTo and on Success add a call to Reset AI - basically disconnect everything before this branch and then just call Reset AI again.
Okay let me try that now
i am having a weird bug. Would someone be able to help?
ill make a video so you dont have to download anything
You can do a GetOverlappingActors call, set the target to the specific component (R1) then loop through the actor list to apply the damage to all the actors. If you want the total damage split between all actors, then you'd want to divide whatever the total damage is by the Length of the Overlapping Actors array then you'll get the damage per actor which you can then plug into the apply damage node.
it works when i disconnect and add reset ai after
so no issue is there
it still does over the damage i set, i think its repeating
Ok, so what does your Combat? function do
would someone be able to help me I am very confused
I'm starting to think the logic here is all ok. Is there any where else that you're using code that is moving this AI?
Perhaps, something that is working with your strafe enumerator?
thats the strafe function
the ai works perfect when im next to it but when i go away sometimes he still maintains to work but some other time he will just stand still and if nothings happens he will break and endlessly walk backwards but if i was to go near him as he standing still he will reset and continue to work
until he stand still again.....
Is this is an AoE sphere that applies damage every second to those in its overlap, effectively allowing the actor causing the damage to exist for a little while until it expires? Is it a one-time hits everything like an explosion and then the actor causing this damage disappears?
i want to make it a one time hit
Ok, so then whatever is going to trigger your hit (likely your overlap right now) after you apply damage, you'd also want to destroy the actor.
Instead of looping through the actors in the overlap event, instead consider using Apply Radial Damage - this will trigger damage on any actors within the defined radius of the blast.
If you want to go a bit more advanced, you can use Apply Radial Damage With Falloff - this will automatically reduce the damage the further away the actor is from the epicenter of the damage.
thank youuu
Where are these values actually used?
which values bro?
nowhere
they are just called and set in this function
and i am called that function here
Nowhere except that you're using them on tick to drive adding movement input 😛
xD
So in this image, you have a bunch of branches, and the booleans on them are definitely being set true when your AI is detecting the player, but I'm not sure if they're being set false anywhere - and if they're not set false, especially the has target or is strafing, then it's going to continually move in whatever strafing direction it calculates.
My ai is a boss so i want it to continuously to move/strafe around the player
i unlinked all the bools in the event tick so it goes straight to valid node but still bugs out
So I'm guessing you still have the Add Movement Input connected?
That's where the issue lies.
You're constantly feeding an input into the pawn to move. If you never stop it, then it'll just keep on moving.
ur right.....
i unlinked the add movement input node and now its no bugging out
but i want him to constantly strafe so where would i deactivate it
Do you want him to constantly strafe when the player still exists but is nowhere near him?
ie. Are you turning setting the Has Target boolean on and off anywhere?
well im spawning the ai in when i enter the room
and the room closes off so the player cant escape
so yeah i guess constantly strafing as the room is also small
in case anyone hits something similar: I had a loop that was setting the master pose for all child skeletal meshes to that of the parent mesh, I'd forgotten to exclude the mesh that was being attached from the items.
Sorry, this is getting a bit more advanced than what I can really help with - the issue you were having, namely that your AI was randomly moving backwards forever - is what I was trying to help you with which we have discovered with that movement input. I can't really help you program your AI to perform strafing for you.
How i can add a transform to another transform?
you compose transforms by multiplying them
the two operations are compose or make-relative-to
and the order of composition is important
so A * B is not the same as B * A
I think the actual node is "compose" though
The "child" transform should be your first input. E.g. component before actor
hey sorry I am still having that problem can someone help me https://youtu.be/tH3Fo_4MlFU
Hey guys does anyone know how to subtitles according to its associated time?
When I play in editor the build is coming out as a standalone, how can I stop this from happening
Hi, Does anyone have experience with file uploading in playfab? I've been trying to upload a file to the player account. But not sure how to construct PUT HTTP request, that's how far I've got
What I would like to do now is to basically, upload file. E.g. C:/file.zip. But how do I pass it to CALL URL node ? Thanks for any help
btw. using varest plugin for HTTP requests
login entity got from my user login.
Hey, so my camera when I transition it smoothly slides into place but then pops at the end very abrupt. How can I make it smooth into place?
so that it doesn't just pop into place
I have visual studio 2019 installed. But the project browser wont let me start a new C++ project. Why is that?
I get a error telling me "No compiler was found.... Install VS 2013" someone here said they get away with using 2019. So how come its not letting me start a project with 2019 Version?
Could this also be because I'm using UE4.7.6 to fallow a C++ tutorial?
Is there a way to Line trace from the 8 points of a Actors Bounding Box?
Or is there a way to get each of the 8 points from a Bounding Box?
You could calculate it.
How could I do that? I would need the Vector of each of the points
Get the bounding box size
Use that to calculate the 8 points and then apply the actor's transform
Can't remember the nodes off the top of my head, but you could use half of the size as the offset in either direction.
Not sure if this is the right channel, but what is the best way to handle a dodge-roll ability for a character? Most examples I see use an animation but I don't have the ability to make or edit animations. I have a few from Frank's Fighter Pack but they're pretty low range.
Well, you have to use anims, so either you make them yourself or buying a better animset.
Can you recommend any?
You could use "magic power dodge" and just move your character to the side.
Add some sparkly effects
Question would be how I ensure the character moves in the correct direction overtime without going through walls or launching.
I guess I'll have to disable character movement for a time
Or just do a capsule trace sideways and move actor to furthest possible location
Wouldn't want it to be instant
And they would have to roll for the same period of time even if they hit a wall
Can I do a overlap trigger using a cable component? For example if the end of the cable collides with an actor it triggers something?
Is it possible to Load Streaming Level Instances asynchronously?
There is a Create Instance node but it isn't async
There's also a Load Level Instance, but it also isn't async
Are cable overlap collisions possible?
Asset gets loaded async anyways afaik
Level asset
Pretty sure I saw an async call in the cpp file
But he can try ofc
If it makes a difference then screw me ig
Have a weapon that has some particles enabled on it for visual effect, but when in equipment menu and equipping the weapon, the particles dont play in the little character preview I have set up.
Tried enabling tick while paused (since the game is paused while menu open). But no dice! Any suggestions?
Cheers
Solution - Add a point light to the particle as a child of it. No idea why this works, lol.
Well that was a very
thing to read first thing in the morning. 😄
Guys, why in DPI Scale Shortest side is recommended option, but not size to fit. After all, with this option it is evenly distributed
Any reason why I wouldn't have the transform options in my Static Mesh Component?
Is it root?
How can I access the Position of current sub-level from a Blueprint placed in that level?
What is the correct way of getting the SaveGame folder? Is it the GameAgnosticSavedDir node?
I don't know of any BP way to get that. GameAgnosticSavedDir probably refers to /Saved/
Yeah c++ is probably better, any idea there?
I'm not sure that's exposed to BP. if you have level instances you could try through there but the functionality is limited in BP
Yo guys is their a way to generate a GameplayTag from a FName or FString?
https://docs.unrealengine.com/4.26/en-US/ProgrammingAndScripting/Tags/ doesn't look like it in BP
did it in cpp
Anyone got any clue why the right controller and most of left controller prompts don't show up here? I can bind it through the Project settings input menu just fine, but can't call the button directly inside a Bp.
if it's a custom binding you'll find it under InputAction
How to make toon shader but only on one object
Shouldn't I be able to call a single button say "X" or "Y" on the right controller no matter what?
who knows? I don't know VR controllers
Someone in here was my hope
there's #virtual-reality specific for that side of things
Anyone that can help me with a bit of problem solving? Right now i have a turret that can shoot, it has a fire rate, currently i have to fire rate set up like this. The problem is that i want it to be when my turret has a higher stat in the fire rate, i want it to shoot more frequently. But as how ive set up the sytem if i increase the fire rate it puts a bigger delay on the shooting.
well yeah, you've made it inversely proportional
Yeah, but tbh right now my mind has a major brain fart, and i cant figure out how i should redo the system
multiply it with Deltatime instead
and see how that works
you also have to be aware that you cannot reasonably have an update time lower than DeltaTime
timers always update per tick
You thinking like this? Or with an event tick?
so if you have something that is lower than that, you only get more updates per tick, not more ticks
try that
also save your handle so you can stop the timer when you need to
Yes i do, i have a breaker when the turret dosent have a target
It enables fire when it has a target
sure but not clearing the timer is not good
Clearing the timer?
yeah so the timer runs constantly in the background if you don't clear it
ah ok, so use the "Clear and invalidate timer by handle"?
@odd ember This had the opposite effect så when the attackspeed number is bigger it shoots less often
2 things: save your handle to a variable on the same execution thread. don't drag pins to operate on different execution threads than they are meant for
wasn't that the first issue you had with the first instance? how can both cases be the same?
That's actually how it would work though
When attackspeed is bigger, it will pass a bigger value into the 'Time' hence shooting the timer less often
Have it in another function, this is so it was easier to show. I tryed attack speed at 1 and attack speed at 20. When it was at 20 it shoot less ofthen then when it was at 1
Yes exactly ^^ Need to figure out a way to make it the opposite tho
the opposite is the inverse. but you said you had the same issue with the inverse?
1/x means the bigger the x, the lower the value gets.
if it works, what's the issue?
Oh, no i dident mean the opposite that is / meant to opposite of the effect i wanted
so what effect do you want? because right now I understand it as 1/x gives you the same issue as x * DeltaTime?
Yeah, i was just dumb, i had x/1 insteed of 1/x when i tested it again, that gave me the wrong results
in your screenshot you had it correct here
anyway if 1/x solves your issue, I would encourage you to use a max node so you get something like max(1/x, DeltaTime). this will ensure you're never dipping below delta time
You can also have a 'Max Attack Speed' variable and subtract your 'Attack Speed' from that before multiplying it with DeltaTime
That way, when you increase Attack Speed, your firing rate will increase
Yeah should probly do that, also reduces the possibility of breaking the system
I'm really unsure on how to do some things that might seem basic but, then again, i'm not that good at UE5
first, how would one create objects, instances of a bp class, without needing to spawn an actor of said class.
For example, i have a "PlayerAttack" class which has an "Activate" event that does whatever. I can't use the function itself unless i first make an actor and call the event from it...
Does anyone know an alternative way of doing this?
The 'get current montage' node isn't showing for me and I've tried to make my own 'get current montage' but have no idea what input and output to put.
animNotify?
also your animBP shouldn't be referenced in your character or controller
it should only reference them at most
Well, spawning the actor is one way to do it.
@odd ember what do you mean?
I'm doing exactly what the lecturer is doing and for some reason get current montage' isn't available t
In UE5, there's a thing called Modular Gameplay, but I'm still sticking with UE4, so I'm going to assume Spawn Actor is really the way to do it.
i would assume that concept is also ported to ue5. could you tell me more about it?
if you're new to programming and unreal I'd suggest learn.unrealengine.com
Spawn Actor -> Save it as reference
Get the reference -> call some function
@odd ember tried emailing him but he never answers unfortunately
The only issue I have is "get current montage' I have no idea what input and output type to use
I can't help you there. I imagine it might be somethign context sensitive or similar. but the code isn't where it should be and is configured in a way that sets you up for fail
so if the lecturer can make sense of it, ask them
@odd ember in what way, I'm using this to equip and unequip the weapons, the code isn't complete like I'm future lessons, I've just had to go back to see it
The only get current montage comes as a float and has no return value
@remote glacier
got an interesting bug here, when I link my Anim Notify to a node (in this case, Spawn System) it works just fine, but when I link it to one before (LineTrace) it doesn't fire at all, is this some weird bug or me not functioning?
when I put a breakpoint in the LineTrace it doesn't fire the breakpoint as well
very weird
@odd ember I see, just really weird considering it works for him
that's why I'm saying ask them
He's one of those lecturers that provides no support😅 @odd ember
I put a print string after the notify and it does fire that, this is very weird, it's like it refuses to do the line trace?
then I would suggest remaking your code
and follow someone else
If you get penalised for remaking the code even if it works, ask for compaint for the lack of support
@icy dragon it's not like that, it's through Udemy so not deadlines etc.
I'm so close to the end but it's just this stopping me now
Ohhhh Udemy
Now it makes even more sense.
@icy dragon sometimes you get support, other times.
Quite a few of people said Udemy sucks arse, so yeah
@icy dragon it's very good, most of my courses I get a lot of support, just this one is frustrating.
Is your Udemy course using a different version of UE4 ? i have a Get current Montage node, its just a Pure node
and you pluged them in and it dosnt work ?
But I can't use that node because there's no way to attach to the set
There will be no way to attach it to is valid
That's why I'm asking if I can get the same result but a different method😅
and you cant do this ?
@versed sun I'm trying this as soon as I get home
Been stressing 😂
@versed sun get player character is equivalent to get character ref?
i think in this case , yes
Awesome, thanks! Really close to being done with this course 😅
I just used it because I didn't have your Ref
@versed sun what about the Exec option
Should I just directly attach it to the event?
Actually all I need is the return value type and I can create the same function, will have to fiddle when I'm home.
Thanks!@versed sun
Hey all, I've changed (in CPP) the type of a component assigned to a pawn. In the inspector it's details panel is now empty even though the appropriate UPROPERTY values are set. If I create a new blueprint that uses that pawn type, the component's details panel is displayed correctly. Is there a way to re-load the blueprint?
Are you using Hot Reload?
Or compiling C++ code without closing the editor?
Nope and nope
#cpp though
does anyone know how to stop a ProjectileMovement-based actor? the Deactivate() function of the component doesn't seem to do anything
the activate/deactivate functions aren't really working in UE
Will do
Its pure from 4.27, it seems
https://docs.unrealengine.com/4.27/en-US/BlueprintAPI/Animation/GetCurrentMontage/
Get Current Montage
I think i remember running into this issue before with bow and Arrows, i wanted the arrow to stop moving when it hit something. I believe I spawned a separate arrow mesh and destroyed the projectile
this is probably the best way to go about it
everything is smoke and mirrors
i see 🤔
Also, maybe try Stop Simulating, or limit velocity
no
what's wrong with the weapon
How are we supposed to know 😛
Adjust your socket
It does seem to be blocking your camera trace, other than that idk you tell us 😄
what to adjust on it
yeah my problem with the weird camera
oh
In the collision settings on the weapon, set Camera to Ignore
i did but the same issue
Then either your Camera is using a different trace, or you have more than one collision on your weapon
Working on a platformer right now. What's the best way to approach jumping and dashing mechanic in Unreal? I'm already using the chara component with he built in jump funcionality
Dash -> add force?
I'd set location over time. that way you can also maintain velocity at balance the speed towards exact values/distances to cross
'Add Impulse' from the character movement component works perfectly for dashing
thank you so much!
Anyone got a better way of achieving this? Each time I look at the wires it feels like sticking pins in my eyes...
...basically, based on a thing happening, determine which type of thing, then increment the count for that thing... wondered about having one function, but effectively the ++ node is that...
That's remarkably neat. Hi5
A neater solution might be set a list of directions in an array and use the enum as the array key.
or just
a select node
really
Mine? It's black mage from 8bit comics. I believe he's based on some FF character? Idk who.
(Masters of the Universe - Orco - https://www.google.com/search?q=orco+masters+of+the+universe&sxsrf=APq-WBtH1ABLTCyPF-UiGSylxFFGkJnGMA:1645454794571&source=lnms&tbm=isch&sa=X&ved=2ahUKEwiXwpjkhJH2AhWWiVwKHYD-BSMQ_AUoAXoECAEQAw&biw=1920&bih=977&dpr=1 <-- really similar!)
not a weeb reference, unexpected
how to get the +1 increment using that though?
It's actually beautiful to look at 🙂
the same way? reduce all your spaghetti down to 1 execution path
@keen wedge you're the second person to make that link. Sadly not though. 🙂
Like that?
yeah and hook in your struct
(my childhood)
yep
omg... sooooo much nicer!.... thank you! gunna have to get over the fact that one of those two central nodes will be higher than the other in a moment... I'm trying... I'm trying... 😄
now that should work, but because you're working with structs and setting values inside of structs you may be in for some issues. you'd have the same issues with the switch though
oh really? what issues?
select both the struct and the select node and press q
structs in BP aren't meant to be written to really
so writing their values might prove difficult
but try it first
see if there is an issue
if not, do nothing
ah, ok... I was doing this in a previous project and it seemed to work for that... I assumed they could "contain" data etc?
I guess He-man copied Final Fantasy's Black Mage
you can select the reroute nodes as well and press q
if you select the select node
pretty sure he-man predates final fantasy by decades
So, you also have OCD about node alignments?
Reroute nodes are the best.
hehe, no, I just meant that one of those two boxes was always gunna be higher than the other... its fine, I can live with this compared to the previous chaos I had!
fair
in either case it might be worth pointing out that reroute nodes aren't free
so having less is generally better
I will confess to liking things to be tidy/organised, and yeah, tend to use the grid to align things, and get annoyed when I can't position the re-route nodes actually on a grid crossing or in the centre of a grid square... AND... I get annoyed when I zoom out and then all the wires move, and when I zoom in again they dont always retain their straightness....
...so, erm, yeah... maybe a bit 😄
I wouldn't call that Chaos really
Take a look at these (Warning)😅
https://blueprintsfromhell.tumblr.com/
I know jackshit about He-Man (apart from that singing and skeletor meme)
ooh... not free... do they make calls to what they are attached to or something then? but effectively dont do anything?
afaik they copy the data the same way as a pure node does
so you get an additional call to the data for every reroute node
O.M.G! 😄
Wait until you get into situations where the variables have to cross path with each other
Like writing a Macro
No get nodes for local variables 😞
I'm still of the belief that macros should be shot into the sun
but apparently they have uses
hmm, that's good to know... annoying, but good to know... thanks
Least it's more used than collapsed node
Also latent functions work in macros
the loops can stay
thank you
i didn't know that every mesh has collision it works now
Hey Guys im removing an Index of an Array, then try to Load that Array again, but looks like that Removing Node fucked up everything, when i look into my Savefile its Fine, but looks like it does something strange with that Array
I never use them, or at least, I never create them myself.... not keen on stuff that feels hidden. I know you can double click to view etc... but dont wanna...
Either you have to deal with it or pay like $15 or $20 to make the splines look like electronic circuit
very good point
it goes against readability
(personally I'm against paying up for something that only end up in the editor only, having no runtime benefits at all)
Which don't look that good either imo
Felt like it's not worth the price just for purely cosmetic gimmick as well.
Kinda a shame that these aren't features that are just part of the editor... not wishing to screw over the people that make the plugins etc, but if its popular, and useful, feels like a little win to have it as an option at least in the editor... with some customisation...
When I saw the electric circuit one I wondered what would happen if someone else opened the project that didn't have it... and if they committed it all back in (having perhaps "tidied" up the wires) - what I'd get again using the plugin afterwards...
Or make it (actually) free open source (not just honeypot repos for docs or issue tracker) with paid version in marketplace as a donation.
just learn #cpp and you'll see your troubles disappearing
Anyone know how to save a grid inventory, I have create one and now I like to save or load. But I don't know how to get the items and position of evert grid because isn't like a normal inventor.
Teach me how to foolproof asset loading in C++ then
(Except I won't, I'll just let BP handle the asset loading for me)
Definitely where I need to be... have years with .net, and c#, ran through a course for C++ a few months back, had always been a bit "scared" thinking it was a lot more than it actually, was... I was pleased to see so many similarities, but the bit I'm not familiar with at the moment is the kinda decorators that Unreal Engine requires to use C++ with Unreal... would love to return to visual studio and leave Blueprint behind me to be honest... probably spend as much time tidying up wires as I do adding nodes! 😄
There's this thing that might be useful, i don't know. It allows straight lines
https://forums.unrealengine.com/t/im-getting-ocd-about-node-alignments/59568/11?u=simpleandcomplex
Loading assets in C++ is a fucking pain in the ass
And I mean double S, not the british version of the word
What I find most reassuring about this, is that it isn't just "me" with the OCD... there's a group I can join... which is cool! 😄
Loading Assets working in C++ is a fucking pain in the ass
How do you strikethrough on discord?
~~
Double tilde
Working in C++ is okay
you'll still have to use blueprints, but most of your code can be well designed and tucked away neatly
At least because I mainly touch with C/C++ and not other languages
I mean, there's PHP, but I'm more inclined to have MIB neutralise me from it
ah, thats interesting, didn't realise you couldn't go fully C++ etc...
You can go fully c++
Epic LOVES Blueprints afaik
you can, at the cost of your sanity
You don't have to use any BPs
It's just that it's the masochistic version of doing things in UE if you don't know exactly what you're doing
I wonder If you can actually make a Full Project from start to finish just with BPs
I'd rather make my own engine, thank you very much
I asked a question about employability with a head of engineering during a web conference thing recently and they suggested the BP was ok for prototyping, but wasn't so useful as C++ when it came to optimisation... thats about as far as the conversation went, but when I look at job ads, most seem to want C++, I dont see very many that even mention BP...
@sharp rapids of course you can!
If I want truly low level control, might as well go naked
Absolutely.
I feel like at some point, you're bound to run into limitations with BPs.
The more I'm trying to go deeper, the more limitations I'm finding out about BPs, which makes me think a full project (a considerably sized one) might not be possible
Like thousands of UE4 project before you.
Good to know 👍
Funny, it was the "low level" phrase that made C++ feel/seem scary for me originally... seemed to be more talk about memory referecing than I'd ever come across in other langauges etc... henec steering clear, until now.
BPs are great if you want to use the engine in the exact prescribed way that Epic wants you to.
If you want to deviate from that, you need c++.
That's where C++ come in. You can ENHANCE the BP ecosystem with BP callable C++ functions
Yeah, I have... even if only minor things... I wanted to access the "Line Spacing" property on a TextBox (UMG widget)... and it wasn't available.. so had to write a little C++ code to extend it and expose it...
Memory referencing is exactly the limitations that I'm running into right now
I would Love to micromanage memory, but alas you can't do it in BPs
Memory referencing, garbage collection, that kind of stuff.
if you want to use the engine to the limits established by epic's products*
But then it isn't a BP only project
You could get around that by writing a separate c++ plugin and pretending, @sharp rapids !
But IMHO if I want to go full C++, again, I'd go with making my own engine from scratch.
(And I'm still wrapping my head around DX11 and 64KB demoscene)
That's a lot of wasted effort.
I don't have to pretend
I'm fine with C++, just wanted to know if it's possible
garbage collection I was familiar with, from my .net days... but yeah, the specific memory referencing etc... seemed a bit alien to me...I also struggle with the need for all the special characters in front of things... kinda like VB.net and C#.Net for just being able to write "words" etc... reminded me of CGI/Perl... which I hated too 😄
You said that, not me.
We'll see you in 10 years then 👍 (jk)
How many years did Unreal take to be built btw?
Honestly I'm making custom engine for less serious products like demoscene or simplistic boomer shooter engine, not necessarily fully fledged game engine. (And my reasoning specifically on boomer shooters is custom editor)
For games, I'd still rely on UE
Spanning across 27 years (since '95)
I wanted to have complete control over when an object gets released
With the garbage collector,
It either runs on all objects at once in a single frame (causing freezes)
Or it runs on none of them
well cpp is freely available
but also I'd be wary about the whole "I know better than the gc" deal
my childhood 🥲
Oh, I definitely don't know better than gc, lol
I just wanted to tinker with it
64KB and less demo prods have been fascinated me, consider that achieving real time renderer in 64KB or less.
Obviously UE can't do that
I sincerely doubt I know even 10% of the entire engine
Unreal is so frickin huge
it's easy to tinker with and get blown up
hence why it's not available in BP either
Guys, what is the best practice for call reload logic, cast on weapon or interface in weapon?
We came from that all the way to now, UE5 😎
why would you want an interface?
can you reload non weapon items?
can you reload NPCs?
Only i can reload
Dipping out for a bit now... thanks for all of the replies/help - really appreciated, and the fun conversation that followed.... laters all 🙂
can you reload buttons or interactibles?
gotta make sure them buttons are ready to go
I'm laughing thinking about How one would reload a Human being
where would be the magazines
flip open the skull and pop a new brain in
Do you mean a full video game under 64kb?
Be a boomer and don't reload lmao
No, not .kkrieger
But more modern 64kb prods from the likes of Conspiracy and other groups
Farbrausch still earn my respect tho
yeah I remember when this came out
but also most of those games are glorified tech demos
If anything I felt .kkrieger is more of a proof of concept and not as good as the more fleshed out non-interactive 64k demo prods. (I think it shows)
I mean it's there to show that it's possible
You can cast on weapon, It depends on what other items you have
But is it actually fun to play though?
No.
you don't make a 96kb game to make it fun
Fun wise, there's not much to be found, but it's still impressive on technological side of things.
I think it's more of a tech scene thing than it is a game dev thing though
it's just not got the relevance outside of compression algorithms
and perhaps streaming
It might be more suited in the future as the device power increases and they can generate more intricate things, like procedural quests, etc.
Okay, snarky jokes aside, if you want to reload, you can cast to the weapon class and execute reload event.
The key is to try abuse the function you made in gameplay.
there's too much focus on procedural content for what you get a return
hand made quests already are kind of not great
why do people think that AI driven ones will be better?
I doubt. It uses lots of CPU to generate all the assets, and eats lots of RAM like a mother to store them all.
Supposedly back then the demo game demands large specs for the time.
Ahh)
I just heard enough scary stories about cast and tried to shove interfaces everywhere😅 😅 😅 😅
interfaces are more expensive than casts
Nah, cast isn't really expensive for "one off" execution
Compared to doing it on tick, it's not bad.
also really cast cost is only an issue if an object isn't already loaded
But if i called cast on character in every slot in inventrory and other and other classes?
but in far the majority of cases the objects in question is already loaded
then yes, interfaces would still be more expensive
I'd just do cast on currently equipped weapon.
At least it's for reload event (which on player side, executed in reload action mapped input)
So I did reload the weapon through cast, but then after all these stories I replaced it with an interface, and now I changed it again after your words😅
is this a udemy course propagating this information?
or is it just because people misunderstand the costing of things?
Consider a lesson to profile first before believing into the stories.
And by profiling, I mean benchmarking your own setup
Forum unreal engine...
The latter one
How do you figure casting to ever be less expensive then an interface?
because interfaces don't exist in cpp
the way epic did interfaces was they made their own version, which is essentially a class hack
Also averaging from Unreal Insight if you want your own data
it uses virtual functions which are always going to cost more for lookups than any cast logic, which is already heavily optimized
Then in what cases is it best to use interfaces? For example, they are only used to interact with actors and to convey information for animation.
the only case where you could argue it would be cheaper, is if you cast instances that aren't loaded
Everything uses virtual functions in unreal
but that is an edge case that is so rare I have yet to come across it
Procedural worlds like Minecraft and No Mans Sky are decent enough to keep players occupied
It's not far fetched to think quests could reach a similar level in the future
absolutely not no lol
I have yet to open a cpp file in unreal and not see virtual all over the place
It's a matter of time vs reward. If you want to make something for fun, do whatever. If you're trying to make any kind of money, spending years writing your own engine and being well behind the technology curve isn't going to work.
interfaces and casts aren't interchangeable in the sense you think. interfaces exist when you need similar logic across multiple hierarchies. so if you need a Use() function for a button, and a Use() function for an NPC, you'd use interfaces
I was kinda joking. 🙂
@odd ember I wish people wouldn't call those interfaces, though. 😦 😦
you see one virtual function in a class and it's all over the place? I'd encourage you to go into #cpp and ask how often virtual is used and how much a virtual function costs vs other functions
I mean, I already point out that I'm making my own engine for either demoscene programming or boomer shooter engine
as in there are better ways?
@odd ember No, it's just they aren't interfaces
at the moment I have no intention for matching UE for commercial games with custom engine
as in, cpp doesn't have interfaces?
An interface as no logic. It is purely a set of pure virtual functions. They are named badly.
ah right, the implementation
yes
Ue would be by far the most powerful engine out of the public ones, won't it?
Aside CryEngine, yeah
Why isn't cryengine as well known?
It just might be me though
it is, it's just not as good as unreal
or I should say
it's very good at certain things, but not very good as a generalist engine
if you want to make crysis, it's the best engine
I'll keep that in mind the next time I make a game like crysis
Though I assume CryEngine supposedly shines when it comes to open world, compared to Unreal Engine. At least if Kingdom Come Deliverance is any proof.
Also I'd say CryEngine has some nice graphical features UE4 don't have, like SVOGI
(well, UE4 was going to have it, but replaced by LPV at like the last minute)
If i remove an Index in Array, like 2, Is The array automatically Resizing that means Index 3, is Now 2?
have you tested it?
Using RemoveAt will shrink the array, yeah. (not necessarily the backing store)
Idk it all works nice but if i try to REmove an index, looks like all of my Indexes get Wrong Index Slot
So, ue4 arrays aren't really arrays
They're lists
Cant find it in BP
How are you removing the index right now?
have a look at the back end if you're curious
That's probably it then.
When i just for [Test] Set members in that Array, it Works Good, like [Fake Deleted Name] but when i Removing the Index, its super weirdo, and its like all of my Indexes that are Stored are F up
I'm scared it'll change my definition of arrays
Are you complaining that when you remove index #2, that index #5 is now #4 ?
Or that it isn't #4?
ITs more Like i have 7 test Widgets / , and its stored correctly at Beginn, [get the Index by Creation Time ] it Works flawlessy, so
1
2
3
4
5, bla bla, When i now Try to Remove 4, with Remove Index, , and save, and Than load again, its , the last 2 Widgets, have the Last Number of the Length of the Array indexs copied
thats super weird
and i cant good debugging my Array, because Ue4, at Debug is a Little Window only
are you sure it isn't the save game logic perhaps?
i checked Savegame
the Stored Thingd are correectly
Only the Indexes, got F UP
and that makes no Sense i just removing Index, and dont , get in touch at any Index, again
What happens if you remove 3 elements?
lmao, than it works like it should, wth is that xD
removed 345
does anyone have any idea what I'm doing wrong? The actor gets successfully added to the take recorder, however the recording doesn't actually start at all.
@slow pewter try removing 2,3,4 and see if you are left with 1 and 5.
"None if a recording could not be started", no way to see WHY it could not be started 🤔
Nope, it copied the last one again in an deleted One [Left is The Index Indicator] looks like it F up
https://puu.sh/IKARb/831a89cd36.png
Are you doing anything to the array when you load?
Oh lol i figured something out
Yes, but When i Delete with that Order 2.3.4 its F up
but When i delete 4.3.2, it works
https://puu.sh/IKASv/0da10f56eb.png
that makes no Sense, i need a Break
sounds like there's an issue with multiple reorders
If i want to learn how the "Switch on enum" node was made, can i find it in the editor cpp files?
probably a question best asked in #cpp but yes it's there somewhere
Thank you, i wasn't sure where to ask
How can I change it, I'm still stuck and it won't register the 'return current montage'
@sharp rapids do I need to download an older version?😩
You can contain it in a BP function, turning it into a non-pure function.
UK2Node_SwitchEnum - fair warning it's probably not a easy entry point for UK2Nodes if you've never touched them before
As far as C++ is concerned, there's no difference. The only real difference between callable and pure function is that the latter is not executed on its own in BP.
When I create a function to match it, the return value sets at "get current montage" when I need it to return current montage
So if I do AttachToActor() is bWeldSimulatedBodies supposed to literally weld the two actors together? Or is there something else I need to do to get that to happen?
it's blocking my equip and unequip function from working @icy dragon
if the bodies are simulating physics you can weld them together using that option
So in the scenario where Actor A and Actor B are both simulating physics... If I attach actor B to actor A, then in theory actor B should just follow actor A around? Am I understanding that right?
there should be a point of attachment if I remember from the node. attaching one actor to another just means you parent one actor over the other
anyway it's nothing if you're not using physics, for which there are probably better nodes out there
Someone know that?
Can someone help me figure out how to add bullet spread to this?
I tried following a small guide that involved a lot of making and breaking rotators and transforms but it still ended up firing perfectly forward.
probably something along the lines of GetRandomPointInRadius combined with (Player.Location - Point.Location).Normalize(), then trace from there
In radius for a linetrace?
Actually yeah that makes sense now
Is GetRandomPointInRadius correct? Not coming up with any node results when searching
It is an actor component if that makes any difference?
I can't remember the actual node, but it's something like that. worst case you can make it yourself by doing RandomUnitVector.yz * (Radius * RandomFloat(0,1))
Yeah I'm not simulating physics unfortunately. So, I have a question (and this doesn't have to be specifically for you) what are my options for this specific scenario?
I've got a "drop pod" character that I am spawning in and possessing before it begins dropping down onto the map. Once the pod lands, I want it to open up to show the character in it, and then possess the character. The trouble is, I just don't know how to make this all "smooth".
I was thinking about just attaching the character inside the pod and disabling collision between the pawn & the pod. However, the character just does not stay inside the pod no matter what I try. And I have had some issues with teleporting the character inside the pod after it lands due to some difference in how fast location changes replicate vs. a possess. It causes some jittery camera changes.
smoke and mirrors
don't spawn the character until it hits the grounds and opens
possess it at that time
in the meantime you can have your pod have a third person camera all the same
Tried that approach. Appears to be working, just need to set my arc to something a little more sensible.
you can then use something like SetViewTargetWithBlend to seamless blend cameras
Ok that makes a lot of sense. I'll give that a shot 🙂 Thanks for the suggestions!
Please can anyone advice me how can I reference an object in the BP default?
just remember if you don't random the radius you'll only get max radius spread
you can play with the values until you get the spread you want
Oh yeah forgot to add a random range
the method remains the same
you didn't random the range
Hey guys, trying to setup a custom configurator with the tools from the example project and I'm now getting this:
Blueprint Runtime Error: "Accessed None trying to read property CallFunc_GetActor_ReturnValue". Blueprint: BP_Configurator Function: Call Variant Actor Init Graph: ForEachLoop Node: Branch
whole point is to random the range so that you can get a variable spread per pellet
I used random vector. Hang on a sec
you cannot set a default value for actor references
that would go against the point of an actor reference
you can for a class reference
Okay you lost me CE but I got something that works
but not an object reference
a unit vector is a direction
a circle is a direction + radius length, yes?
Right, I was thinking a different solution to what you were suggesting then
so inside your circle, if you want a random spread, you first need a random direction, and from there a random percentage of the max radius of the circle
Mine was just taking the forward vector and adding a random value to the Y/Z
that's not wrong it's just incomplete
Since X would be roll which would do nothing in this case
no that's not the point
the point is that yz paints a circle perpendicular to the player character
from there, you get random points that you can then trace from
or I guess trace to
Okay I think I get what you're aiming for here
Get class default isn't passing my variable value to my inventory system. In my items they automatically get there info from a datatable which is accessed in the inventory by the get class default node.
The item detail variable is getting the correct data. I've checked it with print strings on the items and the correct information comes out. But when I access the variable in the inventory system using the class default all the data isn't there. If I manually set the data in the item details now it shows up.
I'm creating a login system, does anyone know if I need to change something?
Thanks for reply. Is there any other option how can I set it up? Because after player death, or resting at bonfire the Quest giver would rerespawn and the actor reference, which I need for the quest to function would be gone.
Get class default isn't showing the correct values even in the item class
could you not have something on the player that records current quest, and when a quest is taken, populate it with the quest giver's reference
Even though the data is going into the variable correctly it doesn't show the data inside the class default unless I manually input it
Yeah but the funny thing is, if i only fake Delete it[set it hidden]it Works, so the Index Assign is Correct, only on Remove index i got F up, and that it Works on inverted order , but on Normal order not is really an weird thing
I may try it and find out. Thank you 👍
you can expose and set it in level? I'm not sure if that works for you
otherwise this sounds like a job for a subsystem
Yea in level I can set it up. But the actors would respawn during the game and the settings are gone.
if you are talking about streaming or loading the references should remain as the level spawns with the actors
unless you are talking about killing off the actors and then having them respawn
in which case even then you could use something like delegates to set them up
I think I need something like this
but in the latter case I would definitely recommend a quest manager
I've never heard of that
is there an example?
https://docs.unrealengine.com/4.26/en-US/ProgrammingAndScripting/ProgrammingWithCPP/ReferenceAssets/
just reading it...
okay that is a misnomer
also in truth I'm not sure how that is handled when streaming levels in
Yeah quest manager would sure be great. Wanted make the system I just made trough the Youtube tutorial work, but if it will not I will have to make something else.
or how to ensure that you are only querying that object when it has been streamed in
the best thing you can do is have a manager that ALL quest NPCs register themselves to
How would you go about changing the emissive intensity value on a bunch of static meshes in a construction script. I have bee trying to do it through a dynamic material instance but that is only controlling one object in the blueprint
BP doesn't really have a great way to handle such an actor, which is why in cpp there are Subsystems. but you could handle it in e.g. game mode
are the meshes part of the same actor?
Yes
a foreach loop?
That should work but I do have static meshes in the scene component that don't have the emissive material applied
you can check for if they have that material applied to any of their slots
it's another foreach loop nested probably but since you're doing this editor time performance doesn't really matter
Not worried about performance so the multiple loops should be fine
so foreach (mesh in actor) { foreach (material in mesh) { if (material == MyEmissiveMaterial) { //do stuff }}}
makes sense, thanks for the help
Hey guys, I can't seem to connect my Configurator blueprint stuff with the actual UI when i click play :/
This has been asked 1.000.000 times, but how does one effectively make pawn movement speed frame rate independant? I am using FloatingPawnMovement Component and try to multiply ScaleValue by deltaTime but it does nothing 😦 Do I really have to set my Players tick rate to a fixed value?
Anyone know how to solve that? Alguien lo sabe?
thats done when using the move input, in your movement code, for floating pawn thats already multiplied by deltatime, so its already independent
can someone help me with this?
This is rotation based on mouse movement?
In which case, mouse movement is pixel based and completely independent of framerate
I get the world direction of the cursor and move pawn in that direction
🤔 well then the movement input literally does that, so you must be doing something else wrong
The scale value should be 0-1 and direction normalized, then it will apply the acceleration: direction * scaleValue * deltaTime
Hi everybody! does anyone know if there is any way to stack 2 enums and make a new one with that?
??
I'm not completely certain, but are you maybe not using a proper movement component? that would explain why things are not automatically working
Is there a simple way to check how expensive things are? LIke adding a certain component, before and after?
that sounds wrong
you can always just time how long it takes to add a thing, and print it
if it's just to check quickly, otherwise there are probably better tools built in to UE
Can you maybe reference some?
Like if i want to know how much memory it takes(the component)
I am using floatingPawnMovement component on my player pawn
i'd just be googling also, i'm kinda new to UE, but for sure the tools exist
maybe those enums should be arrays!
I have
Enum 1:
A
B
C
Enum 2:
D
E
F
i want one enum 3 to be Enum1 + Enum2
can't be done automatically. you would need to manually convert them
there isn't. the best way is testing and seeing what you get in return
I am wondering when adding a component should be avoided, like if it's an expensive solution and if i should try to solve stuff in another way
premature optimization is the root of all evil
this does the trick:
Are components relatively expensive?
This maintains the speed I have at 60 fps over all frame rates
have you tested with 10 fps ? 100 fps? 1 fps?
depends on what components do. it's pointless to talk about this. you will not know until you test your case
yes
At 10 fps my game crashes though xD
is this game about what I think it is about?
any tricks to combine Actor and Child Actor arrays?
nope and it's best to avoid child actor components entirely
why
they're buggy and don't perform well
you can just as easy get the same functionality by attaching an actor to an actor
hmm
I would recommend changing that if possible
They're probably great for building a bit of static scenery
you can even attach actors to actors in a level
why make it static if it's in a bp? 😉
(you can copy the actor attachment around)
It is 😄
@odd ember Maybe you want dynamic actor attachments based on a BP?! I'm trying to find a use damn it.
I believe it was created as a crutch 😔
well I just went around the whole issue with a tag check sooo
Why isn't my cave which im creating with a spline not getting a collision? I can still run through it
any particular places where they do or don't perform, what's the deal
it's just overall. they hog memory
o.O
if it's not an issue for you and you haven't experienced that stuff like variables don't set correctly
you're probably fine?
well.. it's been a bit complicated at times 😉
but I attach tons of things in various ways heh
it was the old method demonstrated for VR inputs ;/
someone know it?
I mean I've seen people reference animBPs in their player controller based on udemy courses
so my trust levels of anything at this point are low
Hey, so I am trying to tie the FOV of my game to the velocity of my first person character, but for whatever reason the velocity is set to 0 when I crouch, even when I am crouch walking around. This causes the FOV to just jump back down to the base value instantly when you crouch. Any ideas why this might be?
Anything other than complex collision may scale weirdly when deformed by a spline. Beyond that, just normal collision channel debugging
Is it a Smart Idea to use a Blueprint Interface for items that can be picked up instead of Bind event/Casting? I'm just looking for any another opinion/more information on what other options I would have.
idk why but its only enabling if im setting it at the actor
Brain farting here, how do I make levels "blueprint load only" style again?
I only want to load via blueprint level streaming
When I press play, all levels load in currently, that's not what I want
aka, how do I get this blue ball next to the name of my level
Also, I don't get that message for "always loaded"
will anyone give me an idea how to do this? namely, I have an Array with 40 items and I have a single variable (integer) that can be max 40 and I am using ForEachLoop, how can I make it so that when single variable is for example set to 20, ForEachLoop only does 20 items from the Array?
Do a for loop
That gives you a max element to iterate to
For each will go through no matter the size
You want a for loop as you can control when you exit and enter
ok wait
that will go thorugh your array for however many times you have specified in the variable
no problem :)
you can even use LastIndex which is made for this
oh wait nevermind
it's not an array
it is an array, they just don't want to loop through the whole thing if i understood
which would make last index redundant
well lastindex from an array is length - 1
which is the typical case for a for loop to use
yeah but they dont want to loop thtough the whole thing, they wanted to loop through say 20, of an array of 40
so you just loop through for 20 - 1
last index wouldn't be used there
Dunno. I'd still use it.
Best to say Min(20,Array.LastIndex), avoid some designer coming along and "hurdur don't need 30 of these things in this array no more.
damn designers, ruining everything
I still dont think you understand, if they want to loop through the first 20 elements, using last index has no purpose at all
we are going from 0 to 20, not 20 to 40
if that was the case then yeah last index would be perfect
but i dont think it is
Min returns the lower of two numbers.