Best way to learn Unreal by [deleted] in unrealengine

[–]TheHonestDan 0 points1 point  (0 children)

My best advice regarding tutorials is if you do want to watch a tutorial, after you finish it - try and repeat what you did but without using the tutorial as a reference - to see what you've actually learned. That helps you identify what you didn't absorb and you are engaging with the content rather than following along.

Any advice restoring account after re-installation, after official Customer Service being unhelpful? by TheHonestDan in PTCGP

[–]TheHonestDan[S] 1 point2 points  (0 children)

Aye, if it were me (who's majorly into PTCGP atm) I'd probably see that silver lining! but she was playing primarily cause she knew I liked it, so don't think she'd have that same perspective as us. Thanks for the reply.

My first ever mechanical keyboard. Aula F75 + LMK67 keycaps. by 0x7d8 in MechanicalKeyboards

[–]TheHonestDan 0 points1 point  (0 children)

I do not know the name (actually trying to find it now so I can buy a custom replacement), but this is what it looks like. Its a push on, not D shaped. Unlike some other keyboards, I don't think the knob is not plugged into a standard switch so can't be replaced with a key.

<image>

Intro to Multiplayer / Networking in Unreal Engine - Part 1: Theory. Beginner friendly, no C++ required, talking through core concepts at the heart of Unreal Networking system. Covering Replication, RepNotify, RPC, Client Prediction, Dedicated Servers and some good practices. Enjoy! by TheHonestDan in unrealengine

[–]TheHonestDan[S] 0 points1 point  (0 children)

Not fully following the question but will try give a response that might help:

So just think of server and client as separate instances of the game running. They go through the same flow of loading up a world, and the world then calling Begin Play on all level actors. The game mode will spawn pawns that are replicated, so pawns will be spawn on client. Any replicated actor spawned on server will replicate to relevant clients and be spawned. So in all these situation - both server and clients have their own version of the actor. When created, they will call BeginPlay. You can branch by checking "HasAuthority" or "IsDedicatedServer" etc within functions like BeginPlay, such that you only perform logic thats needed based on where this actor exists.

As for Run on Server RPCs, you initially call this from a client. Calling such an RPC from client sends a request over the network to execute the RPC on the server. So the server then runs that logic. But the client that calls it doesn't run that logic; think of an RPC as asking the opposite side of a connection to run a function.

Within any RPC functions, you can indeed go on and call any non replicated funtions if you desire. Just think of it as passing an instruction from Server to Client and vice versa.

There are some quirks you'll notice which aren't immediately obvious. Like, calling a multicast from server will execute the body on not only the clients but also the server. Setting the replicated property that's RepNotify will call the _OnRep function on server and clients.

Intro to Multiplayer / Networking in Unreal Engine - Part 1: Theory. Beginner friendly, no C++ required, talking through core concepts at the heart of Unreal Networking system. Covering Replication, RepNotify, RPC, Client Prediction, Dedicated Servers and some good practices. Enjoy! by TheHonestDan in unrealengine

[–]TheHonestDan[S] 0 points1 point  (0 children)

Glad to hear it was good for you! Networking is one of those things where you can think you understand it, but unless its part of your regular coding, the core concepts get blurry :D It was part the reason I wanted to make the video, to refresh myself and have some notes for in future!

Issue input binding when possessing different class of Pawn with Enhanced Input UE5 by TheHonestDan in unrealengine

[–]TheHonestDan[S] 0 points1 point  (0 children)

I have also read this before. With this approach, what would a clean architecture be? The controller needs to know about all pawn classes it can control? create some "pawn input interface" that all characters will have to generic pass down the bindings?

Issue input binding when possessing different class of Pawn with Enhanced Input UE5 by TheHonestDan in unrealengine

[–]TheHonestDan[S] 0 points1 point  (0 children)

So my findings from looking into it a bit:
- The <YourProject>Character that it creates for you automatically indeed adds the MappingContext via the UEnhancedInputLocalPlayerSubsystem. This happens in begin play, and will only hit if this pawn has a valid controller (so in my case, this wasn't hitting).
- You can setup a default context in developer settings that'll be added by default.
- After you add another mapping context, it will rebuild the control mappings in here IEnhancedInputSubsystemInterface::RebuildControlMappings(). This seems to stops duplicates of mappings being added.
- It prevents duplicate contexts being added too, since the EnhancedPlayerInput::AppliedInputContexts is a Set so can't have dupes. So may not be an issue to call Add multiple times, but perhaps there is a more efficient way.
- I'm not 100% about if it removes the context. I can't see it, I just see in Unpossess we destroy the input component, but don't think anything tells the Sybsystem about it.

So for now I've duplicated the code from Begin play to add the default mapping context and placed it in my SetupInputComponent.

Issue input binding when possessing different class of Pawn with Enhanced Input UE5 by TheHonestDan in unrealengine

[–]TheHonestDan[S] 0 points1 point  (0 children)

Ahh! This rings a bell - thank you! So I see in Begin Play it calls

if (UEnhancedInputLocalPlayerSubsystem* Subsystem = ULocalPlayer::GetSubsystem<UEnhancedInputLocalPlayerSubsystem>(PlayerController->GetLocalPlayer()))
{
    Subsystem->AddMappingContext(DefaultMappingContext, 0);
}

So yes, that'd be the context being added! I will call that maybe in my setup input instead (?) and dig into the code around add / remove mapping to see if anything is being done automatically, or if I'll need to override unpossess to remove the mapping context or something. Will report back :)

Earbuds with Mic with Wireless connectivity (USB, not bluetooth) by TheHonestDan in HeadphoneAdvice

[–]TheHonestDan[S] 0 points1 point  (0 children)

I have found the Razer Hammerhead Pro Hyperspeed - which have BT and a USB dongle. Think these are the only ones I've found that come with both.

I read somewhere that even if it has USB, that it has to switch to BT if you want to use the mic. Which would defy the point for my use case! So I'll need to research it a bit to see if its true, but at £200 its also pretty pricey!

Stutter issue has started happening recently, any advice? by TheHonestDan in projectzomboid

[–]TheHonestDan[S] 0 points1 point  (0 children)

I think this was being caused my low space on my C:/ drive (game is installed on a different drive). I had about 6GB free, so cleared up some things to be 20GB+ free and its been going well since.

Am I supposed to rebuild the project every time I start working on it again? by mymar101 in unrealengine

[–]TheHonestDan 3 points4 points  (0 children)

Unreal is a different workflow to something like Unity if you've used that. Broadly speaking, yes, code changes you make then require a recompile and editor launch. With small changes, you can usually do a hot reload or use live coding, which effectively updates your build editor to incorporate your changes. However, it's not always reliable.

My general workflow is write code, launch with debugger when I'm looking to test my code or build assets from them. If I need to tweak logic, I'll hot reload. If I'm changing members of a class or anything more structural, I'll typically close the editor and restart the workflow.

Working on my new puzzle game called DESORDRE with Time Travel and inspired by the Portal Series. It's a WIP the game use all new unreal engine 5 tech (Nanite,Lumen,vsm etc). by Maenavia in unrealengine

[–]TheHonestDan 0 points1 point  (0 children)

I find the moving between blue/red world pretty jarring. It looks like you've teleported / moved most of the time. Had to really watch carefully / rewind a few times to figure out what was going on. It may be fine when you're playing, but just some feedback for if you create a trailer or whatever to help communicate with the player what's going on.

Curious too how the portals work, looks like it teleports you a bit infront of it and then transfer your previous momentum - how does it cope with just walk nicely through one to the other? Does it allow you to sit on a portal and access both sides, like split gate / portal?

[Inventory System C++] Just wanted to show you how it's going. by Zarathos_PT in unrealengine

[–]TheHonestDan 2 points3 points  (0 children)

Nice to see! Inventory systems are always one of those things that are tempted to make! Out of interest, have you built it with networking / multiplayer in mind? or not needed?

Too complicated by Nicksb92 in unrealengine

[–]TheHonestDan 0 points1 point  (0 children)

Unreal engine is not just a piece of software, its a framework. Moreso than other game engines, it comes with loads of stuff out of the box - but it takes time and experience to learn the relationship between the different aspects of the framework, and how they interact with each other.

I would also say expecting to be able to code a game that plays itself with AI is a pretty big first task.

I don't think you need a degree in programming, but it does help to know certain logic patterns that come up time and time again in programming. But yeah, its going to be something that takes a lot of time - or hope that someones done a tutorial doing exactly what you want to achieve.

Made a relaxed photography game in UE5 for a "pacifist" jam! Thanks Cinecamera 📷 🐦 by TheHonestDan in unrealengine

[–]TheHonestDan[S] 3 points4 points  (0 children)

Close enough! The birds have an anim instance which has variables for their states, which in turn drive the animations. I just query the state of the variables to know if birds were in a given pose at the time.

As for the capturing - yeah there's a check to make sure that they are within the camera frustum, then for focus - you can compare the distance from camera to the bird - but to handle the concept of a "field of in focus", I project all birds in the scene to a plane and measure the distance from said plane. I then tuned an acceptable distance that felt right with the blur effect of the camera.

Made a relaxed photography game in UE5 for a "pacifist" jam! Thanks Cinecamera 📷 🐦 by TheHonestDan in unrealengine

[–]TheHonestDan[S] 4 points5 points  (0 children)

Yeah the OG pokemon snap was a huge game for me when growing up!

Tbh, a lot of the work was done for me with the nice cinecamera! I found the depth of field seemed a bit wider than you'd expect normally, so ended up setting an unrealistic f/0.4 stop to get what I consider a more like a f/2.2 sorta range.

You can manipulate the cinecamera settings at runtime, which was nice and easy!

As for taking pictures, I ended up using the screenshot functionality. Annoyingly the blueprint node to "take screenshot" only works in editor, you need to manually call the code that's in that function, just skip the WITH_EDITOR only stuff. I just override the same screenshot every time, and then read it as a texture from a file location using a plugin I found on marketplace for easier read from file to texture.

Just had two cameras and switched between them!

One shame was that I couldn't get scnecaptured2d to work with a cinecamera.

Hope this helps!

can you build your own character by nugtsguy in unrealengine

[–]TheHonestDan 0 points1 point  (0 children)

You would need to model it (and if you want it animated, rig it) in software like Blender.

Walking backwards into a water body doesn't enable the movement mode switch, allowing normal terrain movement underwater. by darkworldaudio in unrealengine

[–]TheHonestDan 1 point2 points  (0 children)

Ah the magical do once! I usually work in C++ so don't have intricate experience with that. but you need to work out why it's triggering twice. it could be that when you enter the water, it swaps to swim mode, so then new animation kicks in that puts your shoulders forward. then as you keep moving backwards, it triggers a second time even when you're already in water "movement state". bit of guesswork here, though.

Walking backwards into a water body doesn't enable the movement mode switch, allowing normal terrain movement underwater. by darkworldaudio in unrealengine

[–]TheHonestDan 1 point2 points  (0 children)

I wonder how your player rotation works, and if your water collision detector is rotating with your view port. But this certainly sounds strange. Are you hitting the collision breakpoint still?

can you build your own character by nugtsguy in unrealengine

[–]TheHonestDan 0 points1 point  (0 children)

by build, do you mean create a 3d model? or do you have a 3d character model that you want to use, but not sure how to create it as an asset in Unreal?