Customize Modules

Updated May 23, 2026

Use this page to understand the recommended way to customize Hyper systems without editing core framework files directly.

Related setup: Set Up Inventory for the Player, Set Up Your Own Character.

How to manage a framework this large?

Hyper contains thousands of functions and events, many variables, hundreds of actor components, and a large amount of framework code. The practical goal is not to read or edit everything. The goal is to customize the parts you need while keeping your changes manageable for future updates.

Large Hyper framework Blueprint overview

The recommended approach is to avoid editing core Hyper Blueprints unless you really need to. Instead, create children or replacement components for your custom logic.

Make child components for your custom logic

You have access to nearly all code, but in many cases you do not need to modify the Hyper Blueprints directly. Because the framework uses dynamic dispatching, you can often create a child component, add your own logic there, and assign that component on your classes.

In short:

  • Make child components for anything you want to modify.
  • Add your own logic on top.
  • Treat the core as framework code that should stay stable.
  • If you change core files, you take responsibility for manually merging future updates.
  • To keep updates as smooth as possible:

    • Make children.
    • Keep your modifications isolated.
    • Stay out of the core files where possible.
    • Track the places where you override logic.
  • You can store custom implementations in your own separate folder, or keep them next to the Hyper classes if that fits your workflow better.

How to add custom logic?

Cursed Treasure Chest

This example adds custom behavior to an interact location: a treasure chest that has a 50% chance to poison the player when opened. You need a system that includes an interact location to follow along directly, but the same customization principle applies elsewhere.

  1. Navigate to /Game/Hyper/ItemAllocator/Blueprints/Interact_Locations/BP_Interact_Location_Child_Loot_Chest_Generic.
  2. Make a child of it.

    • You can also make a child of BP_Interact_Location_Item_Allocator_Base.
    • In this example, the generic chest is used because it already has variables set up that are useful for the example.

Creating a child Blueprint from the generic loot chest interact location

  1. Override the interact event.

Overriding the interact event on the custom chest

  1. Add the custom poison-chance code.

Custom cursed chest logic with poison chance

  1. Drag the custom chest into the world.
  2. Interact with it in Play mode. The chest has a 50% chance to poison the player when opened.

Testing the cursed treasure chest in the world

This keeps your code separate from the original chest. If Hyper later updates the interact chest, you can copy the updated core code without overwriting your custom behavior.

There is still a small chance that a function or event is renamed in a future update. For example, if an event changes from On Interact to On Interacted, your child Blueprint may show a small compile error. In that case, select the new event and keep your custom code intact.

Tip to make the chest more generic

You can also set up the chest in a more generic way so the behavior is easier to reuse or tune. The screenshots below show that process.

Generic cursed chest setup step one
Generic cursed chest setup step two
Generic cursed chest setup step three

Custom voice line on drop item

The treasure chest example customizes an actor placed in the world. This example customizes the inventory system: when the player drops an item, the character says a sentence. For example, the sentence can depend on whether the item is valuable. You need the inventory system and world dialogue system to use this exact example.

  1. Navigate to /Game/Hyper/Inventory/Blueprints/AC_Inventory.
  2. Make a child of it and give it a clear name, such as AC_Inventory_CustomAdditions.

Creating AC_Inventory_CustomAdditions as a child of AC_Inventory

  1. Override the drop function.

Overriding the inventory drop function

  1. Create a new function and call it from the drop flow.

Calling a custom function from the inventory drop flow

  1. Add your custom logic inside the function.

    • In this example, you can select any predefined dialogue or create a new predefined dialogue.
    • Creating a new predefined dialogue requires the sentence and audio files to be set up in the predefined dialogue mapping of the player.
    • For a quick test, select a fitting sentence, for example from an emotion category.

Custom inventory drop function dialogue logic
Predefined dialogue selection for custom inventory drop logic

  1. Open your Character Blueprint.

    • Remove the existing AC_Inventory component.
    • Replace it with AC_Inventory_CustomAdditions.
    • Before deleting the old component, make sure the new component has the same settings.

Replacing AC_Inventory with AC_Inventory_CustomAdditions on the Character Blueprint

  1. Test the setup by dropping an item.

Dropping an item to test custom inventory dialogue

  1. Confirm that the dialogue and sound play.

Dialogue and sound playing after item drop