Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update with changes from Dev #335

Merged
merged 22 commits into from
Oct 16, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
179dd54
Update faq.adoc
George-1717 Oct 11, 2024
5f06446
Add WIP page for playing audio, sound setting categories
budak7273 Oct 11, 2024
ca47f0a
Remove some old smm2 directions from the faq
budak7273 Oct 11, 2024
b003852
update unsupported 3rd party dedi hosts list
budak7273 Oct 11, 2024
f23df33
Fix dependencies workloads list
derpierre65 Oct 12, 2024
110c229
Update sml-versions link to new SML-as-a-mod link
budak7273 Oct 12, 2024
b0bd657
Copy directions for showing plugin content to the first mention
budak7273 Oct 12, 2024
b339ba8
Revert "update unsupported 3rd party dedi hosts list"
budak7273 Oct 13, 2024
e482f6a
Update DedicatedServerSetup.adoc
MinoDab492 Oct 13, 2024
8db5497
Merge pull request #334 from MinoDabs-Satisfactory-Modding/master
budak7273 Oct 13, 2024
5f18ed1
Explicitly mention that SML must be installed to enable engine cheats
budak7273 Oct 14, 2024
1040ba3
GetPlayerId and Lightweight Buildable info
budak7273 Oct 14, 2024
95eb471
Move manual install directions to the Playing with Mods subsection
budak7273 Oct 14, 2024
811e4fa
update unsupported dedicated server providers list
budak7273 Oct 14, 2024
0b11221
make wwise dependency checkmarks colored to draw extra attention
budak7273 Oct 14, 2024
ace2809
Update asset toolkit links, add server warning, remove instruction to…
budak7273 Oct 14, 2024
a4c0733
Merge pull request #332 from George-1717/patch-1
budak7273 Oct 14, 2024
c947158
Merge pull request #333 from derpierre65/patch-1
budak7273 Oct 14, 2024
32a6cbb
docs: Updated wording to match text in WWise installer
elcheapogary Oct 14, 2024
bd6e7a4
Merge pull request #336 from elcheapogary/elcheapogary-docs-fix
budak7273 Oct 14, 2024
bf49135
Updated 1.0 local multiplayer testing directions (mentions current bu…
budak7273 Oct 16, 2024
47bacf0
Mention safe to ignore LANDSCAPE error in level viewport
budak7273 Oct 16, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions cspell.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
"crowdsource",
"crowdsourcing",
"customizer",
"CVAR",
"Deantendo",
"devcontainer",
"Digby",
Expand All @@ -40,6 +41,7 @@
"FACTORYGAME",
"favorited",
"Feyko",
"FFGCondReplicatedProperty",
"fgcheck",
"fgrecipe",
"FGUnlock",
Expand All @@ -48,7 +50,6 @@
"FORCEINLINE",
"Forsythe",
"furtue",
"FFGCondReplicatedProperty",
"Headlift",
"HKEY",
"hoverpack",
Expand Down Expand Up @@ -88,6 +89,7 @@
"Quixel",
"redirectors",
"Robb",
"RTPC",
"SCBP",
"Schem",
"SCIM",
Expand Down Expand Up @@ -144,4 +146,4 @@
"destory",
"conveneint"
]
}
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 2 additions & 1 deletion modules/ROOT/nav.adoc
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
* xref:index.adoc[Introduction]
* xref:faq.adoc[FAQ - Frequently Asked Questions]
* xref:SMLChatCommands.adoc[Commands]
* xref:ManualInstallDirections.adoc[Manual Installation]

* Playing with Mods
** xref:ForUsers/Welcome.adoc[Welcome to the Community]
Expand All @@ -10,6 +9,7 @@
** xref:ForUsers/Tags.adoc[Tags and Tag Search]
** xref:ForUsers/DedicatedServerSetup.adoc[Installing Mods on Dedicated Servers]
** xref:ForUsers/CoreRedirectMigration.adoc[Migrating Modded Content with Core Redirects]
** xref:ManualInstallDirections.adoc[Manual Installation]

* xref:Development/index.adoc[Development]
** xref:Development/UpdatingFromSml37.adoc[Updating from SML 3.7.0]
Expand Down Expand Up @@ -72,6 +72,7 @@
**** xref:Development/Satisfactory/AdaMessages.adoc[ADA Messages]
**** xref:Development/Satisfactory/CheatBoard.adoc[Cheat Board]
*** Game Systems
**** xref:Development/Satisfactory/Audio.adoc[Audio]
**** xref:Development/Satisfactory/PowerNetwork.adoc[Power Network]
**** xref:Development/Satisfactory/BuildableHolograms.adoc[Buildable Holograms]
**** xref:Development/Satisfactory/CustomLevels.adoc[Custom Levels]
Expand Down
16 changes: 9 additions & 7 deletions modules/ROOT/pages/CommunityResources/AssetToolkit.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

[WARNING]
====
The Asset Toolkit has not yet been fully tested on UE5.
The Asset Toolkit has not yet been fully tested on UE5 or the 1.0 release.
====

[NOTE]
Expand Down Expand Up @@ -52,7 +52,7 @@ Regardless, make sure the copy you obtain is of the `dev` branch.
[NOTE]
====
Note that the link above points to the *dev branch of Mircea's fork* of the https://github.com/Archengius/UEAssetToolkit[original project].
Said fork is the one that the https://github.com/mircearoata/satisfactory-modding-actions/blob/master/.github/workflows/updateSML.yml#L178[CI scripts]
Said fork is the one that the https://github.com/satisfactorymodding/UnrealProjectUpdater/blob/master/.github/workflows/updateSML.yml#L178[CI scripts]
use to semi-automatically generate the starter project, and as such is usually kept more up to date.
====

Expand All @@ -67,7 +67,7 @@ UE will still be able to discover them.

After the plugins have been moved into your modding project,
re-xref:Development/BeginnersGuide/project_setup.adoc#_generate_visual_studio_files[Generate Visual Studio project files]
and build for Development Editor and Shipping.
and build for Development Editor.

While you wait for it to compile, here's some info about the roles of each plugin.

Expand Down Expand Up @@ -98,6 +98,8 @@ To install the Asset Dumper in your copy of the game,
build it with Alpakit like you would any other mod.
Be sure you have "Copy Mods to Game" enabled and the "Game Path" set correctly.

Make sure to not have any server targets enabled; the asset toolkit does not work on dedicated servers.

== Dumping Game Assets

[WARNING]
Expand Down Expand Up @@ -151,7 +153,7 @@ inside your game install directory.
====
Asset dumping is also used to create the stater project stubs when the game updates.
If you're interested in how this works, check out the
https://github.com/mircearoata/satisfactory-modding-actions/blob/master/.github/workflows/updateSML.yml#L209[CI scripts],
https://github.com/satisfactorymodding/UnrealProjectUpdater/blob/master/.github/workflows/updateSML.yml#L209[CI scripts],
or contact us on the discord for more info.
====

Expand Down Expand Up @@ -232,10 +234,10 @@ function CleanupTempFiles {
# Clean up the temp files, in case the script was exited or crashed earlier for some reason
CleanupTempFiles

# Force generated package names from https://github.com/mircearoata/satisfactory-modding-actions/blob/master/ForceGeneratePackages.txt
# Force generated package names from https://github.com/satisfactorymodding/UnrealProjectUpdater/blob/master/ForceGeneratePackages.txt
Write-Output "/Game/FactoryGame/Buildable/-Shared/Widgets/Widget_Output_Slot" >> $ForceGenerateFile

# Skip save package names from https://github.com/mircearoata/satisfactory-modding-actions/blob/master/SkipSavePackages.txt
# Skip save package names from https://github.com/satisfactorymodding/UnrealProjectUpdater/blob/master/SkipSavePackages.txt
Write-Output "/Game/FactoryGame/Interface/UI/BPI_ShoppingList" >> $SkipSaveFile
Write-Output "/Game/FactoryGame/Unlocks/BPI_UnlockableInterface" >> $SkipSaveFile
Write-Output "/Game/FactoryGame/Interface/UI/InGame/Graph/BPW_Graph" >> $SkipSaveFile
Expand Down Expand Up @@ -312,7 +314,7 @@ you'll need to grab multiple files from your backup copy of the starter project'
and bring some in to replace the ones in your current copy.

The list of files to move is
https://github.com/mircearoata/satisfactory-modding-actions/blob/master/CustomAssets.txt[here],
https://github.com/satisfactorymodding/UnrealProjectUpdater/blob/master/CustomAssets.txt[here],
except skip any texture assets (usually those starting with `TX_`) mentioned in the list,
because the generator's copy of textures is more accurate.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,10 @@ either as code examples for you to look at, or because they are required to get
They appear in the `All` > `Plugins` section of the Content Browser (for those that contain assets) and are located in the `Mods/` folder on disk.
Later on, your own mods' folders will appear in this section as well.

You might need to click on `View Options` -> `Show Plugin Content`
in a Content Browser to see the `Plugins` section in the Unreal Editor.
image:BeginnersGuide/simpleMod/ShowPluginContentInViewer.png[Show Plugin Content in Viewer]

* xref:Development/ModLoader/AccessTransformers.adoc[Access Transformers]
** Editor-only mod to enable other mods to access extra information without modifying the auto-generated C++ stubs.
* Alpakit
Expand Down
20 changes: 13 additions & 7 deletions modules/ROOT/pages/Development/BeginnersGuide/dependencies.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ Next, press `Review details` and continue with the installation.
=== Option 2: Manually Select Components

From the "Workloads" tab, select:
`

- `Desktop & Mobile` > `Desktop development with {cpp}`
- `Gaming` > `Game development with {cpp}`.

Expand Down Expand Up @@ -288,21 +288,27 @@ or asking for help on the Discord.

Once presented with options on what to install, select:

// Inline HTML to make checkmarks green
// https://docs.asciidoctor.org/asciidoc/latest/pass/pass-block/
// https://docs.asciidoctor.org/asciidoc/latest/pass/pass-macro/
[pass]
<style type="text/css"> .green-check { color: greenyellow; } </style>

* _Packages_
** Authoring
** SDK (C++)
** pass:[<span class="green-check">✔</span>] Authoring
** pass:[<span class="green-check">✔</span>] SDK (C++)
* _Deployment Platforms_
** Linux
** pass:[<span class="green-check">✔</span>] Linux
** _Microsoft_
*** _Windows_
**** Visual Studio 2019
**** Visual Studio 2022
**** pass:[<span class="green-check">✔</span>] Visual Studio 2019
**** pass:[<span class="green-check">✔</span>] Visual Studio 2022

If anything is selected by default, do not uncheck them. They are required for Visual Studio to work.

Click `Next` (you may need to scroll down to see the button).
You don't need to add any plugins,
so press `Deselect All` in the top right then `Install` in the bottom left to begin the installation process.
so press `Select None` in the top right then `Install` in the bottom left to begin the installation process.
Accept the terms and conditions prompts that appear along the way.

== Satisfactory Mod Manager
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -339,6 +339,15 @@ How to access the Content Browser, including adding multiple Content Browser pan
- https://docs.unrealengine.com/5.3/en-US/content-browser-interface-in-unreal-engine/[Content Browser Interface] -
How to use the various features offered by the Content Browser.

[NOTE]
====
You may see error messages in the editor's Level `Viewport 1` tab such as
"LANDSCAPE: 64 ACTORS WITH PHYSICAL MATERIALS NEED TO BE REBUILT".

It is usually safe to ignore errors in the Level Viewport tab
because errors displayed there are unrelated to typical mod content.
====

== (Optional) Modify Editor Color Scheme

The Unreal Engine 5 editor is very dark by default.
Expand Down
52 changes: 52 additions & 0 deletions modules/ROOT/pages/Development/Satisfactory/Audio.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
= Audio

[NOTE]
====
This page is a work in progress.
====

== Wwise

TODO

Coffee Stain uses the Wwise audio system to play sounds in Satisfactory.

At the time of writing it is very difficult for modders to interface with Wwise systems,
so you should use Unreal's built in sound system instead.

The SML team is working on enabling modders to interface with Wwise.

== ADA

See the xref:Development/Satisfactory/AdaMessages.adoc[dedicated page on ADA Messages] for more information.

== Volume Options

To retrieve the user's volume options, use "Get FGGame User Settings" and "Get Float Option Value".

To find out what CVARs to use in,
adjusting your own user setting for the value then checking your
xref:faq.adoc#Files_GameConfig[GameUserSettings.ini file] to see what they are saved as.

As of the 1.0 release update, these are the CVARs for the main volume categories:

// cspell:ignore Menu_Volume_Vehicules
```
RTPC.Menu_Volume_Master
RTPC.Menu_Volume_Dialogue
RTPC.Menu_Volume_SoundEffects
RTPC.Menu_Volume_UI
RTPC.Music_Bus_Volume
RTPC.Menu_Volume_Ambience
RTPC.Consumables_Bus_Volume
RTPC.Menu_Volume_Creatures
RTPC.Menu_Volume_Equipment
RTPC.Menu_Volume_Factory
RTPC.Menu_Volume_Foley
RTPC.Menu_Volume_Vehicules
RTPC.Menu_Volume_Weapons
```

These values are on a scale of `0.0` (off) to `1.0` (full volume).
If multiple categories apply, multiply them together to reach the final volume value.
For example, the Chainsaw's volume is probably Master multiplied with Equipment multiplied with the chainsaw's specific category.
62 changes: 42 additions & 20 deletions modules/ROOT/pages/Development/TestingResources.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -364,33 +364,48 @@ $Args2 = "-EpicPortal", "-NoSteamClient", '-Username="'+$Username2+'"', "-WinX=9

== Multiplayer Testing

[WARNING]
Locally testing multiplayer functionality requires one of the following approaches:

[id="MultiplayerTesting_Launch2Copies"]
=== Approach A: Launch 2 game clients

You can run two copies of the game client at once and join one from the other
using the game's host and play multiplayer system.
Normally the Steam and Epic Games launchers don't allow you to do this,
but the link:#LaunchScript[launch script] in the previous section can detach your game from the launcher so you can run two copies.
Note that doing so breaks "normal" multiplayer functionality and only allows using IP multiplayer sessions.

[NOTE]
====
Update 8 has recently changed how local multiplayer testing works.
This page has not yet been updated to reflect these changes.
You must load with the `-offline` flag and use a Map Travel URL with the `?listen` argument to be able to connect.
For example, `open Persistent_Level?loadgame=NameOfYourSaveGame?listen`.
Remember that Session Settings are stored in the Map Travel URL as well
so the defaults will be used if you don't specify them directly in the travel URL here.

Consider locally hosting your own dedicated server for multiplayer testing instead.
If you own the game on both Epic and Steam you can join one client "normally" from the other.
Note that this requires you to compile your mod for both the Epic and Steam targets which can slow down development.
====

Locally testing multiplayer functionality requires running two copies of the game at once.
Normally the Steam and Epic Games client don't allow you to do this,
but the link:#LaunchScript[launch script] in the previous section will allow you to do so.
To do this:

=== Instructions
1. Run the link:#LaunchScript[launch script] to open 2 copies of the game client.
2. On the copy you designate as the host, select a save file to load.
Before loading it, click the "Load Settings" button and change the "Session Type" to `IP`.
3. On the copy you designate as the client, open the "Join Game" menu and enter the ip `127.0.0.1`.
Alternatively, use the `open 127.0.0.1` xref:SMLChatCommands.adoc#ConsoleCommands[console command] from anywhere.

1. First, run the launch script with the `-multiplayer` flag to open two copies of the game.
[IMPORTANT]
====
There is currently a bug in Satisfactory itself causing the host to crash when a client joins in this manner.
Until this is resolved, either use an Epic and Steam copy or Approach B.
====

[id="MultiplayerTesting_LocalDedicatedServer"]
=== Approach B: Launch Client and a Dedicated Server

2. Open up your save file in either copy of the game - this one will be the host, the other copy is the client.
You can run a dedicated server locally and connect to it with a game client.
This has the downside of needing to compile your mod for both the client and server targets every time you want to test,
which will slow down development.

3. Once you've loaded in, go to the client game instance and open the in-game console.
Learn how to do this
xref:SMLChatCommands.adoc#ConsoleCommands[here].
Then type in `open 127.0.0.1` and hit enter.
The second instance will now connect to the game hosted by the first instance.
Dedicated servers will automatically load a save file on launch,
which may or may not speed up your testing process depending on what behaviors you are testing.

To use this approach, check out the link:#TestingDedicatedServers[dedicated server section of this page].

[id="LoadCustomLevel"]
== Load a Custom Level on Launch
Expand All @@ -417,6 +432,8 @@ While you're at it, there are a few other flags you can use to customize the loa
FG Map Options Switches from Archengius:
+++ </summary><div> +++
....
NOTE: These are from 2021 and may be outdated.

Switches found in AFGGameMode::InitGame:

?skipOnboarding (skip landing animation)
Expand Down Expand Up @@ -492,6 +509,7 @@ Note that in order to perform the first time server claiming process
you will need to use a client of the game that was launched normally (ex. through Steam or Epic).
After the server claiming process is complete you can return to using a copy launched with the launch scripts described elsewhere on this page.

[id="TestingDedicatedServers_LocalServer"]
==== Option 1: Locally Installed Dedicated Server

You can install the dedicated server on your own computer and run it locally.
Expand All @@ -513,6 +531,7 @@ through the normal server browser
or with the `open` console command, for example,
`open 127.0.0.1`.

[id="TestingDedicatedServers_RemoteServer"]
==== Option 2: Remote Dedicated Server

You can also set up the dedicated server on another computer on your network.
Expand All @@ -524,13 +543,15 @@ meaning that Alpakit will handle copying and replacing the files on the remote s

You'll still need to restart it after every package for the server to reload file changes.

[id="TestingDedicatedServers_AskNicely"]
==== Option 3: Ask Nicely on Discord

A community member may have a dedicated server they can give you access to in order to test mods on.
Ask in the modding help channels and see if anyone speaks up, but you may not get a response.

You will likely have to manually transfer each testing build of the mod to the server.

[id="TestingDedicatedServers_CrossFingers"]
==== Option 4: Cross your Fingers

The option of last resort: you can compile your mods for dedicated servers and release them without testing them.
Expand All @@ -553,6 +574,7 @@ or follow the process outlined in the Option section you selected above.
// From https://discord.com/channels/555424930502541343/562722670974599227/1044575456659259472

Additional information about the Online Subsystem.
This info is from 2023 and may be out of date.

+++ <details><summary> +++
True offline mode information from Archengius:
Expand Down
Loading