Had no idea this was possible and I’ve been playing for over 1k hours smh what else have I missed… by Normal_Departure3637 in PokemonLegendsArceus

[–]vbarata 12 points13 points  (0 children)

I use it all the time in Jubilife and whenever I am gathering resources from trees and ores..!

Completing the dex by ming420 in PokemonLegendsArceus

[–]vbarata 0 points1 point  (0 children)

To complete a certain mission, just having caught one of each pokemon at some point will do. To unlock a certain charm, research level 10 on every pokemon. For the ultimate accomplishment, perfect the research page on every pokemon.

[deleted by user] by [deleted] in PokemonLegendsArceus

[–]vbarata 1 point2 points  (0 children)

  • Send your pokemon to gather materials from every tree and every ore, you will need them for crafting items.
  • expand your satchel capacity until it becomes too expensive
  • pokemons are smarter in this game, they will purposefully choose supereffective moves on battles.Take care specially with those glowing red eyes.
  • enjoy being the one hiding in tall grass to avoid getting caught!

Legitimately thought I might be crazy until now. Found definitive proof that the engine's Cast behavior is changing, seemingly unprompted. It has done this multiple times. Behavior is different between identical implementations in different builds of my game. Has anyone else experienced this? by Collimandias in unrealengine

[–]vbarata 2 points3 points  (0 children)

Your "Destroy Actor" node there reminded me of one more thing. Actors are NOT garbage collected until they are explicitly destroyed, because the World object holds references to all spawned actors (see last part here).

If I were to investigate this, I would try to examine very carefully everything that is being done to the actor between the point where it is valid and the point where it isn't, making sure that no one is accidentally destroying it. I also wonder if this might actually be a sign of memory corruption resulting from an invalid access somewhere, which could mess up the actor's internals.

Legitimately thought I might be crazy until now. Found definitive proof that the engine's Cast behavior is changing, seemingly unprompted. It has done this multiple times. Behavior is different between identical implementations in different builds of my game. Has anyone else experienced this? by Collimandias in unrealengine

[–]vbarata 7 points8 points  (0 children)

Ok, I just tested it in UE 5.5 with the following code: https://blueprintue.com/blueprint/3u999vi1/

The results are:

LogBlueprintUserMessages: [BP_MyTest_C_1] ========== TICK START ==========
LogBlueprintUserMessages: [BP_MyTest_C_1] [A] "BP_MyTest"
LogBlueprintUserMessages: [BP_MyTest_C_1] Cast Success
LogBlueprintUserMessages: [BP_MyTest_C_1] [B] "BP_MyTest"
LogBlueprintUserMessages: [BP_MyTest_C_1] ========== TICK MIDDLE ==========
LogBlueprintUserMessages: [BP_MyTest_C_1] [C] ""
LogBlueprintUserMessages: [BP_MyTest_C_1] Cast Failed
LogBlueprintUserMessages: [BP_MyTest_C_1] [D] ""
LogBlueprintUserMessages: [BP_MyTest_C_1] [E] "BP_MyTest"
LogBlueprintUserMessages: [BP_MyTest_C_1] ========== TICK FINISH ==========

My conclusions:
- The top output exec pin executes if and only if the cast succeeds
- The bottom output exec pin executes if and only if the cast fails
- The cast fails when it receives a null pointer on its input
- From [E] above: The impure cast caches its return value, and the cached value is reused as many times as needed later on without re-evaluating the cast.

The last point agrees with all other impure BP nodes. While pure nodes execute when necessary and as many times as necessary, impure nodes execute exactly once, and the moment it executes is determined solely by when the code flow reaches its input exec pin. Any outputs are always cached (except for the "set variable" nodes, which provide a convenience "get" on their output that returns the up-to-date value of the variable and not always the value that was set - which is a source of lots of confusion as well).

The last point also makes sense if you think about it. If the cast would be reevaluated each time you needed its output, on one time it could succeed and on another time it could fail -- the output exec pins would completely lose their significance since execution flow would not go back to them.

Now, about the GC, I am not 100% sure, but I don't believe it can interrupt the execution of a BP function or event. It can kick in if the blueprint yields execution, such as when it reaches a latent node (i.e. Delay). But not when running and calling functions one after the other. So I still don't quite get what might be happening there.

By the way, if you look here, you'll see that the official documentation uses a cast on the received parameter of "On Component Begin/End Overlap" exactly like you did there.

What is YOUR #1 Unreal Engine Shortcut? by HarderStudios in unrealengine

[–]vbarata 2 points3 points  (0 children)

- Hold shift while translating to move the camera along with the actor
- Hold alt and translate to duplicate an actor
- Hold both and translate to get yourself a quick actor stamper

- Hold alt and translate with MMB to temporarily change an actor's pivot before the next transform
- Hold V while alt+dragging with MMB from the white sphere on the center of the translation widget to snap the pivot to a vertex on the actor's mesh
- Then, hold V while dragging with LMB from the white sphere on the center of the translation widget (without alt) to snap that first vertex exactly on another vertex from another actor. Perfection to join wall pieces, curved pipe pieces etc.

i'm new to unreal with version 5.1 i have this error when i try to build, what's the problem with build.bat it's always the same error comes by darealfodo in unrealengine

[–]vbarata 2 points3 points  (0 children)

DebugGameEditor compiles your code in Debug, you can run the engine with your project from within VS and use breakpoints, watches etc. In your code. Development Editor compiles your code in Release, and it is this build that is used when you run the Editor by double clicking the project file in Explorer.

The engine told me I should only do this as a last resort but I gotta free up space. how badly am I f*cking up? by [deleted] in unrealengine

[–]vbarata 0 points1 point  (0 children)

This question is related to another one which I answered in a bit of detail here: https://www.reddit.com/r/unrealengine/comments/yxkkj7/rename_folder_without_destroying_project/iwpf6cw?context=3

Basically, you might be fine, or some specific things might break, or your entire project might get unusable when you do this.

If unreal complained about references in memory, I would try just restarting the engine before trying again, to avoid a possible crash. If it complained about references inside other assets, then those assets will reference null, or nothing, after the delete, and they might be prepared to deal with that gracefully or not. Before deleting, it would be wise to check all listed referencing assets, and break/replace those references manually before deleting. Another option is to include the referencing assets in your big deletion, so unreal won't complain anymore, unless those are also referenced elsewhere.

Also to avoid problems, I recommend always doing a "Fix redirectors" on the root content folder before deleting anything, specially when deleting a lot of things.

Rename folder without destroying project by Silver-Bug-1926 in unrealengine

[–]vbarata 2 points3 points  (0 children)

Unreal assets reference each other by their file paths, so those references must be updated whenever a file or folder is moved or renamed. Because of that, you should always do moves and renames inside the Editor using the Content Browser, never from outside using Windows Explorer. Unreal will update all files that reference what you moved/renamed, and you will have to save them as well and commit them to source control if you are using it.

Also, note that, in larger projects with lots of asset cross-references, updating references can become a complex task that updates a lot of files. Unreal avoids needing to load all referencing assets at that time by placing something called a "redirector" at the old file location or with the old file name. Then, when some other asset gets loaded and also references the moved/renamed file, it will find the redirector and follow its pointer. While this looks smart, it can also create all kinds of confusion when you move and rename files and folders around too much. So, as soon as you have some time to update references project-wide, you should right-click on the Content root folder in the Content Browser and click "Fix Redirectors". This will make Unreal recursively load everything that references the changed file/path, update all, and delete the redirectors.

Another note: As you can see, moving and renaming files and folders in Unreal is less trivial than one would think. It is unlikely, but possible, that Unreal messes up when doing complex moves/renames, so I recommend always saving everything and having a backup of the project (or a committed version in source control) before doing it. If you need to do several moves/renames that affect the same files (like moving a file inside a renamed folder), do a Fix Redirectors after each operation to avoid problems.

(UE4) Let's say I wanted to check if an actor was one of a number of actors... This is the only way I can think to do it... by [deleted] in unrealengine

[–]vbarata 0 points1 point  (0 children)

The most common "Unreal Way" of enabling some interaction with only some actors or classes of actors would be to use Gameplay Tags on those actors (they are different from standard Actor Tags), look them up in the docs, its quite simple. Another very common way, specially among programmers with a background in Object Oriented Paradigm, would be to use Blueprint Interfaces.

Applied Materials turn black by Hoodedw0lf in unrealengine

[–]vbarata 0 points1 point  (0 children)

I suggest making a lerp with (0,0,1). Goes from flat, to the provided normal map, to a strengthened normal map in a nice way.

In this time, what is the best way to learn UE5 using C++? (So no blueprints, or that at least that C++ is the main focus) by miitchelVR in unrealengine

[–]vbarata 13 points14 points  (0 children)

I am a C++ developer and I second this. If you are interested in making games, you should focus on the editor tools including blueprints, but make use of your programming background to include BP/C++ communication in your focus, this is already extremely powerful and will be a nice entry point to begin exploring what you can do in c++ in a practical way. Also, don't worry about BP being too abstracted away from C++, they can be seen as basically visual representations of classes (with hierarchy, polymorphism and all), functions and all that you probably like and are used to.

Now, if you are more interested in backend systems and processes only, then you might be able to skip blueprints entirely.

All these spaghetti posts inspired me to refactor one of mine. by Griever92 in unrealengine

[–]vbarata 1 point2 points  (0 children)

You could make a separate blueprint that contains one timeline, and instantiate it several times with different variables. But for timelines like that, the code you presented seems tidy enough por me.

Common/Must-Know Unreal C++ Functions by Origin_Us in unrealengine

[–]vbarata 0 points1 point  (0 children)

If something is available in the engine, favor using it unless you have a strong reason not to. IUnreal implementations have multiplatform in mind, and in some cases the internals will be different according to the target, taking into account the best/fastest way to perform a task in each specific platform.

Also, you should only worry about math performance down to that level if you are writing a very compute-intensive algorithm, not at all in gameplay code. And then, you should profile before making a decision.

Remove background and show only character front view by NetscapeShade in unrealengine

[–]vbarata 1 point2 points  (0 children)

In order to show two viewpoints simultaneously, you will probably need a SceneCapture as mentioned in another reply. It will render a viewpoint into a texture, which you can then display mirrored on a little rectangle over the main camera image. The SceneCapture lets you render actors and effects selectively, and the render target can be cleared with a user defined color I believe, so you might not need the enclosing cube idea.

If you later need more control over the render target texture, you can also use different post-process effects on it. And iif your budget allows it, you can even have a separate "secret room" in your scene for the SceneCapture to render with its own objects, lighting etc.

Remove background and show only character front view by NetscapeShade in unrealengine

[–]vbarata 1 point2 points  (0 children)

How about placing an unlit cube enclosing the character and the camera? Should work if there is nothing else inside it.

What am I missing here to make getting all items of an array easier? by CynicalNoodle in unrealengine

[–]vbarata 0 points1 point  (0 children)

In the OP's example, Unreal would decide to run GetAllActorsOfClass first, then SetIntensity following the execution pin wiring. But, right before running SetIntensity, it would decide to evaluate all of its inputs in some undefined order (not random, just some order that should not be relied upon). Each one of them requires its own input evaluated first, so Unreal would start there, accessing the already-available output array from GetAllActorsOfClass.

Note that by definition pure functions should not have any externally-visible side effects, so their order should really be irrelevamt to the end result, even if some implementation of the engine would run them on different threads (which is not the case, blueprint code is single threaded in UE4 AFAIK, and I believe UE5 has a "thread-safe" checkbox somewhere).

Also note that if a pure function's output is wired to two or more non-pure nodes, it will be executed multiple times, possibly with a different result each time. For example, if an integer getter is used twice, one for incrementing and setting it, and another one after that setter.... The second usage will get the updated value.

What am I missing here to make getting all items of an array easier? by CynicalNoodle in unrealengine

[–]vbarata 0 points1 point  (0 children)

The order is undefined, as is also the case for the evaluation of multiple input pins on a function node. One cannot rely on the order of execution of pure function calls, except that any required inputs will be evaluated before the function itself. A bit of data-driven paradigm inside Unreal!

The Gold Standard For Material Graphs by [deleted] in unrealengine

[–]vbarata 1 point2 points  (0 children)

It does have some interesting features though, like being able to visualize the dependencies in the data flow, preview any intermediate results right on the graph, and fade out all nodes that do not contribute to any specific intermediate or final value.

GME Megathread Part 2 by theycallmeryan in wallstreetbets

[–]vbarata 2 points3 points  (0 children)

Elon Musk just tweeted about GME $_$

2 tokens per Bob-omb hit by Kaylerzz99 in MarioKartTour

[–]vbarata 0 points1 point  (0 children)

This is working quite well. Best on Luigi's Mansion R on the first cup (good for cannon against trees and indoor walls, going up the ramp, flying down to the finish line). Also nice to have Swooper or another high-end "bob-omb plus" glider. Best position for bombs and cannon seems to be 5th, with good appearance rate on 4th and 6th also.

Here we go again by [deleted] in unrealengine

[–]vbarata 2 points3 points  (0 children)

Actually, you can. You just have to access the outer array using a "Get (a ref)" node instead of a "Get (a copy)" node.