#I mean here's the problem I'm seeing

1 messages · Page 1 of 1 (latest)

ember kraken
#

I wanted to respond to this line of conversation but someone is actively working through an issue in the channel so I’m making a thread for it

#

I mean here's the problem I'm seeing nobody in this discord wants to help truly ignorant people

As someone who helped @gloomy gazelle step in the debugger and knew that the “crash” was probably them hitting a breakpoint… a good deal of the exasperation “the veterans” were having in that exchange lies with our perception that there was no attempt to experiment with the concepts discussed directly in the resources we specifically linked. Only after quite some time back and forth in the server did sammy hit a breakpoint. Up to that time as far as we could see, sammy opens the page, doesn’t immediately understand what a “break point” is, and says “I’m not a computer person, my code works but there’s a problem”.

It’s different if sammy comes back and says “there’s a lot of words on this page, but I’m not sure how I can get started using this on my project” or even “Hey this page says to use F9 but F9 doesn’t work for my setup” or “when I right click there’s nothing about breakpoints”. No, we send a link, sammy says “that doesn’t help”, and it’s up to the community to ask the right questions.

So it kind of comes off like sammy hits a new concept that they’re not immediately comfortable with, and wants to throw in the towel and expects an answer while also providing the least amount of context possible. It takes several exchanges before we get any of the other context.

I get that they were following a 17 minute tutorial and even linked the tutorial, but I can understand 5 screenshots worth of BP in less than 2 minutes. It’s way inefficient to have me watch 17 minutes when sammy may not have done everything that the tutorial does, or may have done something that tutorial didnt. It seems pretty easy to me to miss a small detail while following 17 minutes on how to set up a camera zoom. It’s also common to want to extend what you end up with after a tutorial. Either way, it’s a lot easier to help if we’re given a set of screenshots.

Everyone in this community who points out that “you need to learn how to learn” or even “if you think grasping this concept is hard, just wait” genuinely has a point because gamedev is hard and right now sammy is still getting stuck on “programming jargon” that isn’t even “gamedev” or “unreal jargon”, It isn’t helpful when people only show up to make that point, however it is also clear that sammy could get better help from this community with some minor adjustments to their approach.

None of that is intended to dissuade sammy, I’m trying to help frame this for the both of you: the community will generally help those who make it easy to help them, regardless of how quickly they understand things. The community generally tends to not help those who make it difficult to interact with them, even if they always immediately understand.

I once watched a person build a game in BP for like 8 months getting help here the entire time. At no point did “object orientation” click. Every time they wanted to have a door in a level, that was a different door blueprint (from scratch), and they rewrote the door every time. I tried to make their life easier and offered tutoring, but I eventually decided to stop wasting their time. That person wouldn’t have been able to make their game without the help of this community. My point is that it’s entirely possible to have this community help you the entire time you’re making a game.

#

Like do y’all really think people aren’t doing this?

You seem to be the only one bringing AI up, but I don’t see how it has any relevance to your point because 1) we are all already aware it exists and that newcomers often use it; and 2) the entire internet community could commit fully to “spoonfeeding” and glazing everyone, but AI is still gonna continue being shoehorned into everything regardless which means that it isn’t a true “stick” in the carrot and stick sense - we can all tell that the “punishment” will happen either way. And anyway, AI already stole all the intellectual property, and we already would be attempting to speedrun a climate crisis even if AI wasn’t inefficiently burning resources: I genuinely think if people can learn from AI and it improves their lives, then great. I like helping people, but it’s a lot easier if they have a basic understanding. It’s difficult to know how basic any arbitrary person’s understanding is: should every response begin with “alright now on that glowing rectangle in front of you, you’re going to notice that there’s smaller rectangles which may or may not have contrast, now that’s what we call application windows which you can interact with if you reach out and grab a weird thing on your desk that looks kinda like a plastic lump and has one wire coming out of it, a mouse.” No! We can generally assume that people in an Unreal server understand how to interact with a basic computer arrangement. Anyway, I personally take no issue with folks using AI to bridge the gap, even if I know they’ll eventually need to unlearn bad practices.

void sandal
#

As someone who helped...
I get it, I get it I get...but to that guy your suggestion also sits on the same level of, "no understanding", you could literally see him thinking that stepping through the code was going to fix the problem. He didn't understand no, this is to investigate. You can probably lay the solution bare and he won't understand it, yet.

It's different...
You're right, it would be different but he even said none of what's on that page makes sense to him. What Sammy needed was an analogue, or metaphor, likely both with some examples. Something to map the concept to. (This is why I keep going on about LLM's and explaining concepts.)

So it kind of...
Oh, 100%! I know exactly what that's like...I was not kidding when I said I hated unreal engine and Epic vehemently for months. Lol. I did--and even still have a sharp tongue for Epic. And yes, it took several exchanges to even start getting somewhere. What I'm saying is he needs something like almost any one of Freya Holmers videos. https://www.youtube.com/watch?v=MOYiVLEnhrw&t=2s I would not be here arguing if it wasn't for her.
Because even if I was not remotely anywhere near where I needed to be starting. Just being able to grab some part of Unreal Engine in ANY capacity gave me enough interest to kick my self to the next resource, and the next, and the next. I started new projects over so many times until I finally found the correct place to start. C++, Git, (And probably C# for automation purposes) You can't control for that. But for me just being able to say, "I understand this little itsy bitsy part of the code", lets me start infering about other parts of the editor, the engine, etc.

I get that they were...
100% I get it but he probably doesn't understand why that is. He probably thinks this is THE way to do this and not A way to do this. which likelt why he thinks people should just, "get it."

Welcome to my four part lecture on essential math for game developers 💖 I hope you'll find this useful in your game dev journey!

This course will have assignments throughout, if you want to maximize your learning, I recommend doing them!

If you are enjoying this series, please consider supporting me on Patreon!
🧡 https://www.patreon.com/...

▶ Play video
void sandal
#

Everyone points out
I agree but, that is not what lead me to call out homie being jackass from the very beginning. Lol.
Just because you are good at x doesn't make you by default good at y. Knowing how to code, how BP's work etc. Doesn't mean you're great at explaining to others. We assume that but, turns out every day especially here the value of an actual teacher. This is what irks me because there's 100's if not 1000's of videos created under the same guise. "Well I know A-Z about unreal engine I can tell people what to do, and how to do it", yes you can but very likely not in a way that invokes understanding and cognition. This is not a diss.
And yes, still you are 100% right he absolutely not could have done better but, needs to do better.

None of that is intended
I understand and I do see people occasionally helping others but even from 8 months ago...this place is slowly becoming lurker Ville.
Most times I wont even ask for help I'll just search the discord because it's very likely someone else had the same problem.
I asked a question a few days ago. No one said anything. Ended up finding out that subsystems start before modules funilly enough.
Every variety of subsystem strarts just before a module. I thought it would have been the other way around. Made registering call backs easier too. But the point is...yes people can be helpful. I used to genuinely come in more often when...Foxy? Or something like what be just in there vibing chatting working it felt nice. But I guess he's been nose down. I'm digressing.

I once watched...
I can't say that I've seen that. I wont negate your experience. I wont say it doesn't happen often. I just couldn't imagine it cause I'm not usually actively on here.

void sandal
#

You seem to be...
Yes, but the way bro was suggesting everyone is using it is laughable.
I don't know how may times I repeated in essence. Do not ask AI for the solution do not ask it to generate code.
Which I let people slide a bit to suggest that's what I do. (I don't) I spend my time learning.
It will not work. You cannot expect AI to stitch together it's own disjointed thoughts from the start of a project to the end.
No one has their hands on models like that.

And what Bad practices are those? I called out several people for this Claim because of not being able to provide examples.
I also at the time stated that's a 0 sum game.
If you are new: Your Bad practice will manifest of your own doing.
If you rely on AI to make decisions: Your bad practice will manifest some time later after you hit a hallucination.
It literally does not matter. Throwing your question into the discord void makes 0 difference.
This is why AI should be asked to explain things and I keep repeating this.

For me explicitly! I didn't know that--and I'm arguing this from experience, that how you organize your project is always more important than writing any single line of code. I don't care what anyone says. This is not something that AI told me. This came from past gotchas that arose thinking it's a good idea to rush to the fun creative parts. Every time I think ok, I'm ready to start working in the editor for a bit.

Nope! I find that there is more groundwork that needs to be laid. Getting a solid base/framework has been a lot of fun really.
You really are making systems and not, "things", I'm still not great at writing the driest code but I am much better at keeping things generic.
And I guess I shouldn't call it groundwork but I realize now that they way said feature should be implemented should be as a scalable solution and not an endpoint to a specific need.

But what are bad practices that AI sets people on?
What common thread exists between those users?

ember kraken
#

you could literally see him thinking that stepping through the code was going to fix the problem. He didn't understand no, this is to investigate. You can probably lay the solution bare and he won't understand it, yet.

Yeah, that makes a lot of sense. There's definitely more that could be done in terms of meeting in the middle, when we're not considering that it might not be obvious that there's an investigation step.

#

I asked a question a few days ago. No one said anything. Ended up finding out that subsystems start before modules funnily enough.
Every variety of subsystem strarts just before a module.

Yeah that's true - it's really easy to miss questions in general, but when you start getting into niche things like this then the only people who know offhand may not ever know you asked. I would have needed to set a bunch of breakpoints or perhaps even refreshed my memory of the code. So, you're saying that a World subsystem will initialize before the FModule representing its lib is actually "started up"? I would potentially expect that when there already is a world, but not necessarily from a fresh initial load of the engine.

#

This is what irks me because there's 100's if not 1000's of videos created under the same guise. "Well I know A-Z about unreal engine I can tell people what to do, and how to do it", yes you can but very likely not in a way that invokes understanding and cognition. This is not a diss.
Oh man, confidently wrong or incomplete tutorials are frustrating, but also I saw you make a point about "17 minutes of how with absolutely no why" and even if that person is an expert and is 100% correct that's still a mark against the content. If there's no explanation of the why, that leaves it open for speculation by the audience (which isn't great in tutorialization).

#

But what are bad practices that AI sets people on?
What common thread exists between those users?

I don't have a specific example to reference back to, but I'll grant you that when I've seen outcomes like this, that the user is perhaps yielding way too much to the AI and would get better results if they knew the limitations of LLMs as you say. Tell you what, next time I see something like that I'll point it out if you like.

gloomy gazelle
#

I don't even know how to continue learning at this point

#

I know what I wanna do

#

But like I did a tutorial when I first started learning and they're like you're all done

ember kraken
#

Oh heya

gloomy gazelle
#

I was most certainly not all done

#

I feel like Im drowning wit this stuff

ember kraken
#

The way I approach learning new things is very focused

#

I'll share it with you, but I'm not sure if you'll be able to apply it as effectively as I do, at least right away.

gloomy gazelle
#

Well I know what I want to do I want to get a basic camera system going in the way that that is described

#

So that that's the struggle and it seems like it should be a fairly simple system I've gotten other ways to work but they're not the way I want them to be so I don't know what I'm doing wrong I don't know what I'm not understanding or any of that

ember kraken
#

Would it help if I were to frame how I approach this in terms of your specific use-case?

gloomy gazelle
#

Probably cuz you know I have specific goals I would like to understand what each thing does

#

Like I know what a variable is

#

I generally know how the the conditions and stuff work

ember kraken
#

Alright. Let me think for a moment on this

#

I won’t be giving you a solution necessarily but I hope to show you how I think about learning new things.

It would help if I knew an overview of what you already know and what you want the camera system to do, beyond zooming

gloomy gazelle
#

So basically it's really just supposed to zoom in and out and then when it gets to a certain point of zooming in or out it switches the first or third person kind of like the fog games on PC or Skyrim or whatever

ember kraken
#

And right now you know that cameras are components, right?

gloomy gazelle
#

Yes

#

I wanna be able to do this myself but no one will help me get there besides yourself and a few others

ember kraken
#

Alright, I'm gonna start typing stuff up now.

gloomy gazelle
#

Ok

ember kraken
#

If you think of the working game feature as a destination, then I learn how to make new features by trying to find the shortest path to something that works. From where I start, I might not have any idea how to get to the feature, so I try looking for a foothold, trailhead, breadcrumb, or something like that. I normally don't even start with a tutorial, because I find that they're usually way longer than I need to find the next teeny bit of knowledge that I actually need. I generally use a tool like API references or google search way more. I DO watch videos sometimes. Here's the Blueprint API https://dev.epicgames.com/documentation/en-us/unreal-engine/BlueprintAPI -- if it seems really frustrating and not user friendly, that's because it is. It used to be somewhat better.

I guess I can outline the process in general as a series of steps, but I don't always use all the steps, or use them in the same order. Sometimes I can just directly go near the end. I suggest you read along before doing things, but if it helps you to mirror me, I'll try to call out when I do things like click links or what not.

Epic Games Developer

Unreal Engine Blueprint API Reference

gloomy gazelle
#

Should I be thinking of this API like a code like for example the national electric code

#

And I look up references that way

ember kraken
#

Sorta. I'm still writing up my novel showing the how & why I mentioned that. I would have sent it as a big message but discord is limiting the size.

gloomy gazelle
#

Got it

ember kraken
#

Step 0 (Learning to ask/search about the thing): You don't know any of the vocabulary or jargon. This is an information gathering step.

Before you can do anything else, you need to know the types of things to search for. I'm gonna pretend that I only know that cameras exist. So I go to the API reference and search "Camera" (Control + F). This is going to give me a lot of things that might not be useful, so along the way I need to filter things out. Let's see.... we have "Camera" and "Camera Animation", so far so good, both of those might be related to what I need to do. There's "Camera Collision" and "Camera Lens Effect" too, these don't seem like they're related to what I want to learn how to do, which is switching cameras or zooming with a camera.

I'm also not going to cover all of the search results (in part because I already know that some of these aren't helpful, so I'm "cheating").

So, first I open the "Camera" link in a new tab (by the way these are all links, you wouldn't tell without interacting with them). I see a lot of things that seem complicated ("Visual Camera Rig"? "Deproject Camera to World"?) and some of this doesn't seem to obviously help. "Activate Camera System for Player" seems interesting, so I'll also open that in a new tab.

On this new "Activate Camera System for Player" tab, there's the line: Target is Gameplay Camera System Component - I'm gonna directly help you here because these API pages are awful. In this context, when it says "Target is", that's telling you that the function operates on a "Gameplay Camera System Component". You'll see a table called "Inputs" where it also lists a "Target" pin -- that's the same "Target", but the Inputs table tells us that it is an object - technically true, but really "Gameplay Camera System Component" is the important thing.

Fun fact, I've never heard of "Gameplay Camera System Component", so I really will be learning about it today.

Well, there are no clickable links on this page that seem useful. So, let's keep that component in mind (more accurately, we can note it for later).

Back to the "Camera" page. There's a few more "Activate Camera System" links here, which you can open if you like, but they're all talking about the component we know about (I opened them but am not going to make a huge point about that).

There's a "Activate Persistent Base Camera Rig" page right after that talks about a "Gameplay Cameras Player Camera Manager" - another term I haven't come across yet.

If I scan the Camera page on the API ref, there's not a lot more that seems like it would help me zoom or change cameras. So I go back to the main page and see "Camera Director" which might help with that. If I open the "Camera Director" page, I see "Activation" and "Evaluation". If I open the "Activation" category, I see "Activate Camera Director", and that page mentions "Blueprint Camera Director Evaluator".

Back on the top API page, I see "Camera Modifier". If I open that up, I see that I can "Enable" and "Disable" a modifier.

Well, where does it leave you/I? We haven't found anything useful, and we're no closer to zooming a camera right? Sorta.
But we now can ask/search about:
"Camera System Component"
"Player Camera Manager" (from "Gameplay Cameras Player Camera Manager")
"Camera Rig"
"Camera Modifier"

And we can use that moving forward to try to get your mechanic functioning.

#

Step 1 (Evaluating how others do it): The concepts are still abstract. This is an information gathering step.

Now that I know some terms that are connected to my goal, I can start finding resources for the goal. I first went to the learning hub and searched for Gameplay Cameras. Here's a URL that'll take you right to the search results. https://dev.epicgames.com/community/unreal-engine/learning?query=Gameplay Camera

Why start with "Gameplay Cameras"? Because in my experience, when Unreal Engine has some kind of "framework" for accomplishing a feature, they're solving a lot of the issues I might otherwise have to solve. Gameplay Cameras might support zooming and swapping between cameras. This decision comes from intuition, and you'll have to make this decision yourself in the future - it's okay to start with "Camera Rig" instead, because the worst case is that you try learning about it and Camera Rig doesn't help you at all.

Again, there's extra filtering you should do - one of these has a thumbnail saying "PART 1: Installation Rider" which is just a big side quest since it has nothing to do with cameras at all!

So I'm going to pick "Quick Intro to the Gameplay Cameras" (https://www.youtube.com/watch?v=lOtOGSI8MiMc) and I'm gonna skim over it. I'll watch the first 30s to 1m, and then decide from there how much I need to skip past. Right off the bat, it's obvious that he is just going over the documentation. For me!!! For me! I would stop watching this immediately and just read the doc he's reading. Regardless, I don't feel like watching the full 16 minutes to learn whether the gameplay cameras system does what I want (zooming and swapping), so I'm gonna skip ahead to where he shows Blueprint code by hovering over the youtube play bar and using the preview.

I skip to around 5 minutes in, and it's VERY obvious that this system is more in depth than I thought it would be, with a higher skill floor. There's more to learn here if we choose to use this system. That's something that you might want to do, but I'm going to make the call that it's too much learning overhead for our current case. It's okay to discover one approach to your problem, but choose to not explore it right away. Just for fun, though, I want to see if it even works for him, so I'm skipping past all his setup work, to around 15 minutes. It DOES look like the system will do exactly what you're asking about. It will, however, require learning a lot of new concepts.

#

Alright, so "Gameplay Cameras" are frustratingly complicated... so what else can we try?

Well, we can look at using a "Camera Modifier", that might do what we need. Last time I used the learning hub, this time I'll use youtube itself. I searched "Unreal Engine Blueprint Camera Modifier Zoom In" and picked this video right off the start: https://www.youtube.com/watch?v=9wDz4vPXocw. Again, I'm gonna start with the first 30s and maybe skip around. I like that the video shows that it works. A quick note: I'm NOT looking for advice on how to set up input, and it's also clear that his tutorial is only going to work if I started with the same template that he did. However, I don't really know anything about Cameras (for this example), so I pick up extra vocabulary here: Camera Boom / Arm Length. I decide to just skip a few seconds ahead each time, and I can see that the tutorial covers really basic stuff like clamping, and it also is just moving the camera relative to the pawn, it's not changing the field of view. The tutorial also does not use "Camera Modifier" at all!

So I scroll down until I find a video that specifically mentions "Camera Modifier" - in this case, it's https://www.youtube.com/watch?v=BOtItHPL39k. I watch the first 30s or so, and the video is at least about modifiers AND he talks about changing the FOV, but skipping ahead it doesn't look like he goes too deep into how you would use the modifier to do anything. *And we're still not actually swapping the camera yet. *

Back to Youtube Search, where this time I ask "Unreal Engine Blueprint change camera" and the first result is another MatthewW video. https://www.youtube.com/watch?v=uW86ZGxesmc now. So I do the same thing, skimming the first bit of the video and seeing if I want to skip or skim the video. Right away, it's clear he's going to be talking about a new concept "View Target". I can see that it's going to require that each camera is an ACTOR, which I may not want to do.

Ok, so I've seen examples of making the camera get closer/farther, change in the FOV, and now I technically can change the camera. However, I still have leads to chase down. For example, I haven't see much of anything using "Player Camera Manager". Back to youtube search for "Unreal Engine Blueprint Player Manager Component". That'll show me this video: https://www.youtube.com/watch?v=4D1i6igqR_g. While deciding if I want to skip, I notice that this video is using the Chapters, so I get nice labels describing what each section of the video does. As I skip through the Camera Location and Camera Rotation sections of the Player Camera Manager, I notice that this tutorial happened to cover using specific Camera Components from one actor, which is a piece that I was missing.

gloomy gazelle
#

Oh I got it this is just more complicated and I can shoot that's why I'm having a hard time with it maybe I should start with just interaction instead

#

And I need to be like googling specific terms and that kind of thing and I need to be more specific like if I need to know how to use a mouse wheel I need to be googling that in the documentation

ember kraken
#

Step 2 (Following a specific tutorial): The concepts are still fuzzy, and an example would help. This is a hands on step.

Step 2.1: Choosing the tutorial

Well, now you have a lot of the pieces that you might want to use, but so far all the resources are split up. The key insights have been from 30s in one video, 90s in another... and they're not connecting in your mind. Here, it can be useful to try to find a single tutorial that does all the things you want.

Back to Youtube, to search: "Unreal Engine Blueprint camera zoom in out swap camera". There's a lot of really lower quality videos, and there's even big playlists of videos. Sometimes you find gems if you scroll down. I chose to open this video here https://www.youtube.com/watch?v=hzzt-cOklw8. As I skip around, I notice that the video changes which camera is Active in the actor, much like your initial approach. Because I am first skimming the tutorial, I can decide that maybe we don't want to follow this specific tutorial, because we already "know" that changing the active camera component doesn't work.

I'm just going to skip mentioning all the videos I'm coming across that use this specific approach, which really sucks because I'm not finding a video that specifically shows a technique that I might personally use as somebody who knows a lot more about cameras in UE.

Step 2.2: Following the tutorial
Create a new project that's using the same template that they're using, and follow the tutorial along. Hopefully you get something that works. Generally you want a fresh slate to reduce the amount of noise in your flow - if you're following a tutorial but something is broken in your project, it may make the tutorial not work.

Try pausing every so often and think about what your next step would be if you weren't following the tutorial - you can note your ideas, but still follow the tutorial so that you have no differences. Sometimes a tutorial will make a mistake and only come back later to correct it. Sometimes you need to check the description or the comments if it isn't working.

Smooth First to Third Person Camera Transitions in Unreal Engine 5

Did you know that smooth camera transitions can drastically enhance player immersion in your game? Let's explore how to achieve that in this Unreal Engine 5 tutorial!

In this video, you'll learn how to create seamless transitions from first to third person, and back, in Unreal ...

▶ Play video
gloomy gazelle
#

got it this is workable I can do this

#

thank you so much

#

hiow would I know somethig is broken in my project

ember kraken
gloomy gazelle
ember kraken
gloomy gazelle
ember kraken
ember kraken
#

Step 3 (Trying the first thing to come to mind): Although you think you understand how the thing works, testing your understanding through implementation can help you build better insights. This is a hands on step.

Start a completely fresh project using a template (so that you can build your idea in relative isolation, but not have to make literally everything from scratch). Advanced user note: ||You can create your own plugins and templates, even make a template of a long running project that you know works out of the box||

Step 3.1: Make an idea of how youd do the goal
Come up with a simple hypothesis that you can implement in an afternoon. Here, I'll have to "cheat" again, because this is more of a guide than a dialogue.

Here's a hypothesis I might use here. "I don't need multiple actors, and if I use a custom player manager, I can still swap cameras without deactivating them. This approach might even allow me to have a smoother blend between them."

Step 3.2: Implement your idea of how to do the goal
I'm going to very loosely describe what I might do to accomplish this setup. What I say here may not work, and it could be confusing. It's more the "idea" of "just trying to make something work with what you have" that is important.

So, then I'd have to set up a Player Manager [this might be something you need to learn how to do... in which case, you can apply the earlier steps I laid out in order to learn how to make a player manager]. Once I have a Player Manager all hooked up, I need to make it able to work with multiple cameras, maybe having a "Desired Camera" variable that's just a Camera Component Reference. I need to set up the game logic to update the Player Manager to use the correct Desired Camera. For now, the Player Manager just uses the Desired Camera in order to determine where the camera is.

I can provide a function on the new Player Manager called "Set Desired Camera". Once I'm satisfied that the Player Manager does what I need it to when it's just swapping cameras instantly, I can move to managing multiple cameras. I would rename "Desired Camera" to "Destination Camera" and add a new variable called "Last Camera".

"Set Desired Camera" would first set "Last Camera" to the current value of "Destination Camera", then it would update the variable "Destination Camera" to the new desired camera. Lastly, if "Last Camera" is null, you can set it to the new value of "Destination Camera.

I could have a "Time Since Swap" float variable (which Player Manager needs to update on Tick with Delta Seconds). This would also be set to 0 whenever Set Desired Camera is called.

In the Player Manager "Update Camera" function (or whatever it is called), I now can use two Camera Components. In general, you'd want to use "Lerp" nodes or "Interp" nodes so that you can blend the FOV, the Location, and the Rotation of the two cameras. I want to figure out how much time has passed since the last camera swap, relative to some "Camera Transition Time" - that should also be a variable, it can also be a function parameter on Set Desired Camera.

Step 3.3: Test if you completed the goal (you can do this as part of working towards 3.2 too, like when I first provided "Set Desired Camera" I would then test that in PIE.
Once the feature is more complete, though, you need to test even more than that. The first idea you come up with may have some type of issue - for mine, what happens if I swap the camera too quickly? I bet the transition logic I described would have jarring cuts. However, these steps are meant to be about learning, not debugging. Debugging can be an important part of learning, but I won't cover it much more as part of these steps.

#

Ok, I've been typing for a long while, so I'm going to abbreviate some other steps, so you can get an outline of what I'm talking about.

#

**Step 4: Implement some version of the feature into your project. **

Often, you'll find that something about how you made your project means that you cannot easily handle the feature the way you planned in the previous steps. You'll have to adapt the approach you came up with. For example, maybe it's too complicated to use a custom player manager component, and camera active states don't help. Well, you'd have to use actors and Set View Target with Blends. So your Adaptation is that you attach camera ACTORS where you would have had camera COMPONENTS.

#

Step 5: Identify where you could improve the feature, and then implement the improvement

As you work on the project, you might find that you wished it worked differently. You can use the techniques I mentioned before to improve some aspect of the way you set up the system.

Make a copy of your project, or recreate your system in a template (and keep a copy of THAT). Try out your adjustment there.

#

Really, as you get past Step 4 and especially as you enter Step 5, this is self directed.

#

https://youtu.be/vFjXKOXdgGo I can recommend this video if you enjoyed what I've been describing

🧲 Get Mind Over Magnet on Steam! - https://store.steampowered.com/app/2685900/Mind_Over_Magnet/ 🧲

Developing is an on-going YouTube series, where I share the step-by-step process of making my first video game: Mind Over Magnet!

I’m starting from the very first step: choosing a game engine and learning how to use it!

=== Chapters ===...

▶ Play video
gloomy gazelle
#

got it, makwes swnaw

ember kraken
# gloomy gazelle oh? and I meant like if something is broken in a new project or the engine in ge...

I also want to specific say something just in case it didn't translate.

If you're making your own project and not following a tutorial series, then YOU are the one who determines if something isnt working right. Obvious things like "I want to spawn a Character but I'm instead spawning a Boat" are pretty objective, but something more subtle like "The camera feels weird" is also something that might be "broken".

#

So you generally find out something isn't working when your expectations aren't met. Like the tree should blow in the wind, and it doesn't. You should drop the item on the ground, but it stays in your inventory

#

Tying this back into debugging for a second here, learning something and debugging are both processes that investigate - you can use the thought process I described to debug, and debugging something will usually help you learn it.

#

If you treat the game project you're working on like that Blueprint API page, or web searches, you either see things related to the tree or wind, or you "know where to find code that relates to wind". And debugging (via breakpoints or print strings) is a way to observe what's happening, kind of like skimming through a video to determine whether it will be useful. You can step through code to see if it's going to be useful to solve the problem

#

@gloomy gazelle hey thanks for bearing with me as I just loaded you up with a big wall of text. I hope it's helpful

gloomy gazelle
gloomy gazelle
#

Now I understand

ember kraken
#

I just realized, I never showed you how I skim the videos @gloomy gazelle - it looks like this

gloomy gazelle
#

Im gla to say this is finally making some sense for me and Im able to startlearning some basic stuff by myself a small nudge was very helpful without assuming programming knopwledge I dont have

ember kraken
gloomy gazelle
gloomy gazelle
ember kraken
gloomy gazelle
#

Is triggers the new thing I want for input action

#

and would the zoom be considered a press?

ember kraken
ember kraken
gloomy gazelle
#

BUT

#

it appears the code has misunderstood me

#

it thinks I want the zoom out for third person but when IM in first person it thinks it should do nothing

#

and no longer zooms out

#

ok I found some differences

#

lemme trouble shoot

#

ok trouble shooting isnt doing much

#

I dont know why it wont zoom out

#

Zooming out DOES work but only for thir person

#

once in first person it dont work

ember kraken
gloomy gazelle
ember kraken
#

Ohh I see the issue

gloomy gazelle
#

what is it

ember kraken
#

You're activating and deactivating the same camera

gloomy gazelle
#

ohhhhhhhhhh

#

lemme fix that

ember kraken
#

so the FPPcamera never stops being active

#

so it always takes the true branch

gloomy gazelle
#

hhhh so I wantr to deactivate the FIRST person camera

#

yep

#

that fixed it

#

it works now

#

FINALLY

gloomy gazelle
ember kraken
gloomy gazelle
#

and with thst the first system in my game is finished

#

to interaction

gloomy gazelle
#

and it shoul

#

also I know I wanna make it so the widget changes with the context like books people items containers ect

#

or some where theres a text interface when you got options

ember kraken
#

Describe how you want the player to interact, in detail. Like, should she use the mouse cursor? Or does she scroll a list on screen? Does she aim at things using FPS controls?

Once the player interacts, what happens? Are there specific rules you have in mind for what he can interact with? Should the character he is controlling animate in a specific way? Do interactions need to pause and wait for anything? Will he be removing things from the world?

#

I find that getting specific with what I want helps me generate a list of things for Step 0 if I’m stuck

gloomy gazelle
#

they would approach look at it and the option do do the avtion comes up

gloomy gazelle
#

the current tutorial Im using same problem agaoin capsule trace aint working despite the code being correcrt

gloomy gazelle
#

@ember kraken Can I ask you for a hand with why my capsule trace isnt working?

ember kraken
gloomy gazelle
ember kraken
#

Maybe I can help you find a better way

gloomy gazelle
#

I didnt know how to do it

#

I figured it out

#

hold on seems it got deleted

#

Ill need to redo it

ember kraken
#

Yeah, being able to see what you’re working with directly is super helpful when trying to assist

gloomy gazelle
ember kraken
#

👍

gloomy gazelle
#

sorry that took a while

ember kraken
# gloomy gazelle

Ok, so it’s not showing any debug visual at all… you could set a breakpoint yo see if it is hit, but what actor is this inside of? Have you enabled input for this actor?

#

That first branch doesn’t seem like it is helping you at all, but it looks like the condition is false so it shouldn’t be causing an issue

ember kraken
# gloomy gazelle

you’re scaling the forward vector by 0 and this will result in a trace that goes nowhere

gloomy gazelle
#

what number do I need

ember kraken
#

well how far do you want the trace to go?

#

I'd say use 200 if you don't know

gloomy gazelle
ember kraken
#

Ah maybe 80 then

gloomy gazelle
#

awesome lemme check that]

#

lemme work witrh in a bit more and will report back

gloomy gazelle
#

I still cant see the capsule

ember kraken
#

You might also change the Draw Debug Type from For Duration to Infinite/Forever/Persistent - and then you can move around after you interact and you might see it

gloomy gazelle
#

it should execute but it isnt

#

makes me suspect it isnt going off

#

making it persistent didnt work

#

it is confirmed NOT executing

#

print string doesnt do anything

ember kraken
#

Well i have no idea what’s gone wrong then

gloomy gazelle
#

Event is definitely NOT firing

ember kraken
#

So what steps have you done to investigate this?

gloomy gazelle
gloomy gazelle
#

@ember kraken hey I have some questions so Im planning a feature where the UI changed based on the object so from what I gathered I need a parent bluepring and a child blueprint is that right

ember kraken
#

I think the most important thing is whether it makes sense to you - does it make sense to you to have parent and child objects?

gloomy gazelle
#

which is this will not effect performance or file size more than it has to

#

and its modular and can be easily changed depending on different variables

#

like you know

#

opening a door

#

picking up an item

#

reading a note

#

ect

#

or do I have to make each of those features seperatelty

ember kraken
#

the bit that's like "open door" or "read note" can be the same (and probably SHOULD be the same)

#

but like, reading a book? That's a different widget than opening a container.

gloomy gazelle
gloomy gazelle
ember kraken
#

I would use an interface for this. when you're looking at an actor, see if it implements the interface. if it does, it should be able to give you its player-facing name.

So you'd implement this on your door actor, and it'd return "door" - your note actor would return "note", etc.

Then you can do stuff like print "interact door" or "interact note"

#

if you have a lot of things that are really similar, then they can have a base class that implements the interface, and that base class can have a variable that the child classes give different values.

say you had a base door class, but then there was a "great door" child, and a "security door" child, etc. Only one door actor implements the interface, but the door children set "interact name" to be "security door" or whatever.

ember kraken
#

you share a really small amount of context, I really have no idea what would work best

gloomy gazelle
#

Now can print be a widget?

#

like I want it to look a certain wayt can it do that

ember kraken
#

Instead of printing a string you can use a widget

#

Is there some reason you thought otherwise?

gloomy gazelle
#

BUT

#

I just thought of something

#

Can I for picking stuff up simply use whats already there for the FPS mode?

#

and can I migrate them to other projects

#

it looks like I could get very foundation combat up and running fast with it

gloomy gazelle
#

like Im seeing here new stuff like state trees, animation

#

Important stuff to learn no doubt but can it just be brought over and then modified

#

Or envquery

#

or do I still need to make the interaction for everything else only the pickup it seems could be ported

ember kraken
#

Ah sure but you can see what the pickup does and build from there

#

Make it more general

#

As long as you test constantly and make sure you don’t break it

gloomy gazelle
#

Right now it puts a gun in your hand

ember kraken
#

Mmmm

gloomy gazelle
ember kraken
#

Like a widget on the pickup?

#

Nah

gloomy gazelle
ember kraken
#

Does it automatically do pickups

#

Or do you need to hit e or whatever

gloomy gazelle
#

sorry everything crashed for a second

#

Seems a lot of the basic stuff can be directly ported over from these other modes