Trupeer AI - Create professional product videos and guides
logo

Streamlining ForgeSim Package Development

Devin Weidinger
Oct 20, 2025

17 Views
0 Comments
0 Reactions
Loading video...

Streamlining ForgeSim Package Development

This guide outlines the process of developing ForgeSim packages within an active project. By converting Git-installed packages to local installations, you gain the flexibility to make live edits and test them effectively within your project environment.

Step 1

Begin by navigating to your active project workspace. Here, within the John Deere project, you can make changes to either the ForgeSim Core or the ForgeSim Lesson package as needed.

Screenshot

Step 2

Next, access GitHub to verify your ForgeSim Core local installation. Ensure there are no pending changes, that the correct branch is targeted, and that everything is up to date. Once confirmed, return to the John Deere project.

Screenshot

Step 3

Go to Window, select Package Management, and then Package Manager. Verify that ForgeSim Core and ForgeSim Lesson are installed. Change the installation from Git to a local source. Select 'Install Package From Disk,' navigate to your Git repository, locate the ForgeSim Core package, and open it.

Screenshot

Step 4

Select your package JSON file and proceed by clicking Open.

Screenshot

Step 5

In the Package Manager, you will notice the ForgeSim Core is now labeled as 2.3.Local, indicating a successful transition to a local installation.

Screenshot

Step 6

With ForgeSim Core transitioned, repeat the process for the Lesson package to enable concurrent editing. Again, select 'Install Package From Disk,' access your Git repositories, locate ForgeSim.Lesson, and choose the package JSON.

Screenshot

Step 7

Now that both packages are locally installed, open your preferred IDE, such as Rider, to switch between different solutions. You can now access ForgeSim Core and ForgeSim Lesson for code modifications.

Screenshot

Step 8

In this example, modify the abstract state class foundational to the state or state machine. Enhance it to facilitate object activation, then pause to implement the desired changes.

Screenshot

Step 9

Having applied the changes, add a new list of game objects within the abstract state class to support dynamic state transitions.

Screenshot

Step 10

These game objects will now activate upon state entry and deactivate upon exit. Additionally, methods have been revised to incorporate a strategy pattern or template method, transitioning 'enter' to a baseline supported feature across classes.

Screenshot

Step 11

Revise relevant classes and document the updates in your change log. This ensures the new working copy functions within the John Deere project, highlighting any breaking changes due to method renaming.

Screenshot

Step 12

Recognize the need to change method calls from 'enter' to 'on enter' and 'exit' to 'on exit.' Work through these modifications, noting that changes are present in your live project copy, even if not yet pushed.

Screenshot

Step 13

Without opening the ForgeSim project, refresh your console and address any errors that arise from imported changes. This allows you to troubleshoot without prematurely publishing updates.

Screenshot

Step 14

This method facilitates live editing within your active project, enabling you to implement and test changes in John Deere and subsequently push them to ForgeSim Core as needed.

Screenshot

Step 15

Within the John Deere project, review your package manifest and package lock JSON files to ensure comprehensive package management. Before merging branches or pushing updates, revert to Git-based installations post-publication.

Screenshot

Step 16

By adopting this strategy, previously read-only package references in John Deere become live copies, pointing to your active ForgeSim Core repository rather than cached local installations.

Screenshot

Step 17

This approach enhances workflow efficiency when patching and editing ForgeSim. If uncertain about modifications affecting live projects, this swap-out technique allows multi-project testing.

Screenshot

Step 18

Special thanks to Carl for highlighting this method, significantly enhancing the capacity to work simultaneously on multiple projects.

Screenshot

Step 19

May this guide assist you in optimizing your development processes.

Screenshot

U