@g-uncleray Regarding your question about changing the weapon socket when equipping and aiming, you need to create a new function with a Boolean input for IsAiming. Then, use a Branch inside the function. If the player is aiming, attach the weapon to the relevant hand socket using AttachActorToComponent, and when not, bring it back to the default socket. Inside AC_Combat, you can get the current weapon with the ActiveWeapon variable.
About the inspection system you’re referring to, it’s a separate system that you can create. First, create an outline system for the items, then use a line trace to check if the traced object is an item. If it is, enable the outline and set the item data to the ObjectToInteract variable inside AC_Interact, so it’s ready for pickup.
meanwhile If the trace doesn’t hit any item, use a multi-sphere trace to find nearby items and select the closest one based on distance.
It’s not very complicated, but it requires several precise helper functions.
Regarding your questions about systems like shotgun mechanics, recoil, a new inspection system, and similar features, these are generally common Unreal Engine systems, so there are usually plenty of tutorials and resources available online that can help with implementing them and integrating them into the framework.
I’m always happy to help with understanding the existing systems in the framework, how they work, and how to properly use or extend them 🙂
@farshad how do you managed to do that the items (herbs, bullets, etc) having a highligh when they are in the level, but when in the inventory they have a normal material without the highligh?
@g-uncleray Ah, I see, you’re changing the location. That would cause this issue because, In the GetAllDataAssets function in AC_Combat the path to the Data Assets is specified directly.
If you want it to work across the entire project, you can use a path like this instead:
/Game/ModernSurvivalHorrorFramework/
This way, the Data Assets will be detected in any folder that contains ModernSurvivalHorrorFramework as a subfolder 👍 Give it a try and let me know if you still run into any issues.
@farshad Thx,it worked.I have some other questions.
1.I want to implement my finish system,but i also want the new finish system Compatible with the MSHF's future update.what suggestion could you give me?
2.I want to make the inventory UI more distinctive like Resident Evil 3.How to implement,or where to adjust UI style?
@criss1818 I think either place would work well for this. However, if you want to add a smooth transition, you can reference it from the menu. Especially if you want the cutscene to be pre-rendered, you can put it inside a widget and then play it from the main menu after clicking New Game.
For the backwards running question, the quickest solution would be to add an extra condition to the branch inside the CanCharacterRun function. Then, after that, you can check on the Tick event if the player is moving backwards while running, and if so, force them back to the normal state. This way, backward running will be completely disabled.
The WeaponLineTrace function in AC_Combat is responsible for handling the bullet firing logic. It uses a line trace method, so projectiles are not used for the bullets.
@farshad thank you. Is possible to attach some logic into the weaponlinetrace or create a bullet copyng the linetrace logic that is inside the AC_combat?
What I am trying to integrate is some logic from a fab asset where it basically is a destruction bullet system that also works with chaos destruction of unreal on some mesh. Can I try integrating on the ac_combat or I need to create a bullet? I saw that inside the asset is handled with a bullet actor,but I mostly want to integrate here.
Also,there is any way to change the recoil animation and camera-up when my character is firing? Of course I dont want the camera to "explode" up,just a little recoil movement.
@g-uncleray Glad it worked! 🙂
For the Finish System, I’d recommend keeping your custom changes as separate and modular as possible and avoiding direct modifications to the MSHF core classes whenever you can. This should make it much easier to keep your system compatible with future updates.
You can also check the v0.5 Development Logs, where we’ve shared the changes that have already been made and what we’re currently working on. The next update is mainly focused on first-person improvement, updating the UE4 Skeletons to UE5, fixing small bugs and improving TP mode, and adding a complete Settings System.
For the inventory UI, at the moment the styling needs to be adjusted directly in the widgets. You can change things like fonts, colors, slot sizes, icons, etc. Also take a look at WB_UIBase, especially the UpdateUIIcon and UpdateUISize functions, as you may want to adjust or extend them depending on the style you’re going for.
We’re also planning to improve this in future updates by adding a more centralized way to customize the UI, most likely through a Data Table or Data Asset like what we already have for the item system, so these properties can be managed from a single place!
@calo The highlight is handled directly inside the item’s material. There’s an exposed value that controls the highlight effect, and when the item is displayed in the inventory with BP_InspectStudio, we disable it through the DeactivateHighlight function.
Make the first-person view like AAA games do, so the body can be seen more realistically, plus it solves clipping issues. The screenshots show the architecture of how this is done in my project. If you have any questions, feel free to reach out to me on Discord: .owl_st Screenshots
@criss1818 I think it’s better to keep the current Line Trace system and integrate the destruction logic through the Hit Result, instead of creating a separate Bullet Actor. This should keep the combat framework cleaner and avoid unnecessary changes to the existing system.
Regarding your recoil question, you can change the pitch/rotation offset of the character during firing to move the camera slightly upward and create the recoil effect. you can implement it inside Anim BP or even inside the combat component.
@g-owlst Welcome to the community forum, and thank you for the suggestion and for sharing the detailed explanation and screenshots 😊
We’ll definitely take a look at it. In our upcoming updates, we’re planning to improve and refine the first-person system, and updates 0.5 and 0.6 are focused on improvements in this direction. We also have a suggestions topic where we’d be happy to hear any other ideas or suggestions you may have. We read and review all the suggestions from the community.
Hello, I'm making weapon variations using the existing base weapon blueprints and the only thing I changed on the pistol data asset and the pipe data asset was the name and the description, but the weapons will no longer equip when picked up. The shotgun however, is not having this problem, even though I have similarly renamed the blueprint and its data asset. Any idea what might be the issue?
I thought the issue might be because it doesn't have a unique ID so I generated IDs as per the documentation but that did not resolve the issue. Please review video for more information.
If I switch back to the default data asset it works, but the duplicate does not, the only exception is the shotgun.
