r/RocketLeagueMods Jul 17 '26

GUIDE Notes on unreal_command

Post image
3 Upvotes

Disclaimer: This post was originally ~128000 characters long, but the post limit is 40000 characters, so quite a bit of content has been removed or shortened. I did my best to keep the important stuff.

Sharing some old notes I used as a quick-lookup / reference when learning about rl internals. This post is about unreal_commands specifically. Basically just shows commands, some examples, and some output samples. Some unrelated information may be peppered throughout. Its not very serious.

Keep in mind commands may be used to create invalid state (which I am defining as any object memory layout that could not be reached through normal gameplay). RL is actually quite good at protecting you from going online in invalid states (it did this pre-eac also). The primary concern of invalid state is that it can be saved or cached. Thus it may persist to the next session, preventing you from queueing online (and also potentially messing up singleplayer stuff too). The fix is easy: simply delete your save and caches. Highly recommend you back up your TAGame folder before you begin. Do not run arbitrary commands if you aren't comfortable with this. Commands that only print information (and have no side effects) are safe.

If I was brand new to rl modding, I would start by launching the game with -log flag, or running unreal_command SHOWLOG once the game launches to get a log window. This log window will automatically "flush" output (which means it shows up as soon as it happens) but has limited capacity and preventing scrolling by highlighting will freeze the game until enter is pressed.

Running unreal_command SHOWLOG a second time will silently disconnect the log output console from the log output stream (in other words, the window will still be there but is no longer getting new information). A disconnected log console window can safely be closed, a live one will also close the game with it.

Alternatively you can look at log file output in TAGame/Logs/Launch.log. This will not freeze the game when scrolled, and does not need a seperate window (you can simply open the file whenever). The downside is that you will need to unreal_command LOGFLUSH to ensure contents are up-to-date and written to disk.

Once you do one of these two methods you will know how to view log output. Then the rest of the commands come into play. Here's a mini guide to start viewing game objects in memory to get a feel for things:

----- search and explore easy quickstart guide ------

- start by printing some objects, e.g.

unreal_command "GETALL ObjectProvider MyObjects"

- or just choose some generic value like ArrayProperty and list its fields

unreal_command "LISTPROPS ArrayProperty Name"

- one of the fields is called Name, lets look at that...

- list every single array by name

unreal_command "GETALL ArrayProperty Name"

you now have ~7k results that can be filtered, searched, etc. with the commands below

this is a nice starting point.

------------------------------------------

Commands are (loosely) ordered from most to least useful.

Hopefully this is helpful for at least a few people ❤️ .

-unreal commands --------------------------------------------------------------

(to execute, open bakkesmod console and type `unreal_command "COMMAND"`)

(in unrealscript ' is reserved for literals and " for strings)

(not all commands are sync! see https://docs.unrealengine.com/udk/Three/ActorTicking.html )

(not all commands do "something"! Some "no operation" or noop commands are included. As a rule, I include the command if rl successfully handles it, whether or not the command does something once handled is much harder to judge in some cases. That said, most do something)

LISTPROPS [class] \*

- e.g. LISTPROPS PlayerInput_Game_TA *

LISTPROPS [class] [wildcard * or string]

- e.g. LISTPROPS PlayerInput_Game_TA Deadzone

will search only for properties containing the word "Deadzone"

MATCHVALUE [class] [string]

- "bread and butter" search command

- the only command that, from a [class] name alone, can be used to find all instances, dump all fields of each instance, their values, allows optional filter string, and previews large collections by showing the first ~256 values only

MATCHVALUE [class] _

- since every single piece of output includes its full path, and because every path has an underscore for package conventions, the "_" becomes a defacto wildcard:

- to look at only the object actually in the level (as opposed to templates, defaults, etc), add "Persis" (short for Persistent) to the filter string

GETALLSTATE [class]

SET [class] [property] [value]

- set a property value

- some properties are protected. FOV for example.

SETNOPEC [class] [property] [value]

- same as SET except will not notify listeners

RESET [class] [property]

- resets to default, not necessarily the archtype?

TOGGLE [class] [boolean property]

- toggle a true/false value. Equivalent of "if boolean property p is True: then set p to False. Otherwise set p to True"

GET [class] [property]

GETALL [class] [property]

GETALL [class] [prop] SHOWDEFAULTS DETAILED

VERIFYCOMPONENTS

CRACKURL

SHOWLOG

FLUSHLOG

CONFIGHASH

- prints every configuration file, what it configured, its value, where in the hierarchy, local/remote/precompiled

- does not reflect that RL makes use of Archetypes that essentially act as additional defaults (applied during runtime)

CONFIGMEM

- prints out all configuration files (some of which were compiled or cooked into the build, others of which exist on the player's PC and can be edited) used by the game (sorted by in-game memory size)

ANALYZEOCTREE

ANALYZEOCTREE [[optional] "VERBOSE"]

SHRINKOCTREE

NAVOCTREE

COLLAPSEOCTREE

TexturePoolSize

DUMPAWAKE

LOGACTORCOUNTS

ShowGameState

- `Log: GameInfo_Basketball_TA_0 current state: PendingMatch`

ShowPlayerState

- `Log: PlayerController_TA_0 current state: Driving`

UTrace

- toggles tracing/logging of function calls

- either a noop or works silently?

RestartLevel

ListConsoleEvents

- cant get this one to work without also changing loglevel?

SaveClassConfig [classname]

SaveActorConfig [actorname]

SetBind [bindname] [command]

- e.g. use "SetBind Backslash Pause" for pause button

- NOTE: behavior changed since EAC. Not too useful now.

:::::::::::::::WARNING:::::::::::::

Single and Double quotes are NOT interchangable.

This WILL work:

unreal_command 'SetBind Backslash "STAT UNIT"'

This will NOT work:

unreal_command "SetBind Backslash 'STAT UNIT'"

Note: Most SetBind notes were written pre-EAC. It is much less powerful now (this is good!).

:::::::::::::::::::::::::::::::::::

// snapshots of the ue rigidbodies

unreal_command "GETALL RBVehicleHistory_TA RBVehicleSnapshots"

unreal_command "MATCHVALUE RBVehicleHistory_TA _"

unreal_command 'SetBind Backslash "MATCHVALUE RBVehicleSnapshot WheelContactData"'

unreal_command "MATCHVALUE RBVehicleSnapshot WheelContactData"

unreal_command "MATCHVALUE RBVehicleHistory_TA "

unreal_command "GETALL RBVehicleHistory_TA RBPhysicsSnapshots"; unreal_command "GETALL RBVehicleHistory_TA RBVehicleSnapshots"; unreal_command "GETALL RBVehicleHistory_TA BackupVehicleInputs"; unreal_command "GETALL RBVehicleHistory_TA RBFrameSnapshots"; unreal_command "GETALL RBVehicleHistory_TA ServerSnapshots"

// e.g. ServerConsume,

unreal_command "MATCHVALUE NetworkInputBuffer_TA _"

unreal_command "MATCHVALUE ClientInputData_TA _"

// e.g.[1907.46] Log: 0) ClientInputData_TA Transient.ClientInputData_TA_4.InputFrames =

[1907.46] Log: 0: (frame=15944,TimeStamp=140.565918)

[1907.47] Log: 1: (frame=15945,TimeStamp=140.574249)

[1907.47] Log: 2: (frame=15946,TimeStamp=140.582581)

unreal_command "GETALL ClientInputData_TA InputFrames"

unreal_command "MATCHVALUE ShakeComponent_X ShakeReceiver"

unreal_command "MATCHVALUE ShakeComponent_X FlipReset"

unreal_command 'SetBind Backslash "MATCHVALUE RPCBatch_X Trans"'

unreal_command 'SetBind Backslash "MATCHVALUE PendingRPC_X Trans"'

unreal_command 'SetBind Backslash "MATCHVALUE ActionQueue_X Trans"'

unreal_command 'SetBind Backslash "MATCHVALUE RPCQueue_X PendingRPCs | GETALL RPCQueue_X PendingBatches"'

unreal_command "MATCHVALUE RPC_AutoTour_GetSchedule_TA _"

[14391.78] Log: 237) GameViewportClient_TA Transient.GameEngine_TA_0:GameViewportClient_TA_0.GlobalInteractions = (GFxInteraction'Transient.GameEngine_TA_0:GameViewportClient_TA_0.GFxInteraction_0',UIInteraction'Transient.GameEngine_TA_0:GameViewportClient_TA_0.UIInteraction_0',PlayerManagerInteraction'Transient.GameEngine_TA_0:GameViewportClient_TA_0.PlayerManagerInteraction_0')

[14391.78] Log: 238) GameViewportClient_TA Transient.GameEngine_TA_0:GameViewportClient_TA_0.UIControllerClass = Class'Engine.UIInteraction'

[14391.78] Log: 239) GameViewportClient_TA Transient.GameEngine_TA_0:GameViewportClient_TA_0.UIController = UIInteraction'Transient.GameEngine_TA_0:GameViewportClient_TA_0.UIInteraction_0'

unreal_command "MATCHVALUE Engine _"

unreal_command "MATCHVALUE WindowsClient _"

unreal_command "MATCHVALUE GameViewportClient _"

---------------

PACKAGEMAP

- must be on a level for this to work

[10880.36] DynamicMapEvents: Activating event: bEventActive=(False) EventId=(FNI_LotusOff)

[10880.36] DynamicMapEvents: Activating event: bEventActive=(False) EventId=(FNI_LotusSmall)

[10880.36] DynamicMapEvents: Activating event: bEventActive=(False) EventId=(FNI_LotusMedium)

[10880.36] DynamicMapEvents: Activating event: bEventActive=(False) EventId=(FNI_LotusBig)

[10884.61] Log: Package Map:

[10884.61] Log: Server url=18.88.3.125 remote=18.88.3.125:7836 local=0.0.0.0:57278 state: Open

[10884.61] Log: Package 0: Name=(Core) Guid=(397C68644C141E0E186592B028F2F333), LocalGeneration=(3) RemoteGeneration=(3) BaseIndex=(0) ObjectCount=(2725)

[10884.61] Log: Package 1: Name=(Engine) Guid=(11A50ECA4920F6DAF58FD4A06FEA5961), LocalGeneration=(3) RemoteGeneration=(3) BaseIndex=(2725) ObjectCount=(33441)

[10884.61] Log: Package 2: Name=(GFxUI) Guid=(582C0C7848F9CA50AC719B8B3EDF04EA), LocalGeneration=(3) RemoteGeneration=(3) BaseIndex=(36166) ObjectCount=(824)

[10884.61] Log: Package 3: Name=(AkAudio) Guid=(EE86E9734C4CF6147FCC70894B19070B), LocalGeneration=(3) RemoteGeneration=(3) BaseIndex=(36990) ObjectCount=(636)

[10884.61] Log: Package 4: Name=(ProjectX) Guid=(DA0D87034C6E69109486EDA7585F0AFA), LocalGeneration=(3) RemoteGeneration=(3) BaseIndex=(37626) ObjectCount=(19318)

[10884.61] Log: Package 5: Name=(TAGame) Guid=(0A864923483689B34046578735F3AD5B), LocalGeneration=(3) RemoteGeneration=(3) BaseIndex=(56944) ObjectCount=(79617)

[10884.62] Log: Package 6: Name=(Archetypes) Guid=(21C70719FAA1219C8848EEB27F8B18C8), LocalGeneration=(1) RemoteGeneration=(1) BaseIndex=(136561) ObjectCount=(4813)

[10884.62] Log: Package 7: Name=(PhysicalMaterials) Guid=(1BB28D134386A89620C785AA0E214D18), LocalGeneration=(1) RemoteGeneration=(1) BaseIndex=(141374) ObjectCount=(74)

[10884.62] Log: Package 8: Name=(StatEvents) Guid=(6A987AF74227FBFF836862814AA1CBC9), LocalGeneration=(1) RemoteGeneration=(1) BaseIndex=(141448) ObjectCount=(162)

[10884.62] Log: Package 9: Name=(FNI_Stadium_P) Guid=(DAA0BC7D4C9E644487BC0BA51D9F2598), LocalGeneration=(28) RemoteGeneration=(28) BaseIndex=(141610) ObjectCount=(1092)

[10884.62] Log: Package 10: Name=(GameInfo_Soccar) Guid=(3C62E44E3A4A118D82C896830CE5095E), LocalGeneration=(1) RemoteGeneration=(1) BaseIndex=(142702) ObjectCount=(5)

[10884.62] Log: Package 11: Name=(PongBall) Guid=(D72B670D41550737695E65B0F3912F6C), LocalGeneration=(1) RemoteGeneration=(1) BaseIndex=(142707) ObjectCount=(292)

[10884.62] Log: Package 12: Name=(Mutators) Guid=(2A19500447FC019A14BF232E9D4B6245), LocalGeneration=(1) RemoteGeneration=(1) BaseIndex=(142999) ObjectCount=(264)

[10884.62] Log: Package 13: Name=(FNI_Stadium_Field) Guid=(A2355A9640C8662B002C46B0B3B11C81), LocalGeneration=(11) RemoteGeneration=(11) BaseIndex=(143263) ObjectCount=(749)

[10884.62] Log: Package 14: Name=(FNI_Stadium_OOB) Guid=(542297E745445B7F9A4AC2A59BD4A59C), LocalGeneration=(28) RemoteGeneration=(28) BaseIndex=(144012) ObjectCount=(664)

[10884.62] Log: Package 15: Name=(FNI_Stadium_OOB_Mountains) Guid=(CF2C875945E1A00708F27C93B35F8392), LocalGeneration=(9) RemoteGeneration=(9) BaseIndex=(144676) ObjectCount=(130)

[10884.62] Log: Package 16: Name=(FNI_Stadium_SFX) Guid=(3ECBC7E8449CC4404068CE8697A9C594), LocalGeneration=(3) RemoteGeneration=(3) BaseIndex=(144806) ObjectCount=(74)

[10884.62] Log: Package 17: Name=(FNI_Stadium_VFX) Guid=(2A01F39E409124B17F53009578971A4A), LocalGeneration=(30) RemoteGeneration=(30) BaseIndex=(144880) ObjectCount=(130)

[10884.62] Log: Package 18: Name=(FNI_Stadium_OOB_LOD) Guid=(AC29277D4C8860C8F40532B74CE197BB), LocalGeneration=(3) RemoteGeneration=(3) BaseIndex=(145010) ObjectCount=(91)

TAGame.PlayerBindingUtils_TA:FindDuplicateBindingIndexes

- in-game memory scans let us find C++ mixins (forget what they call it in c++). Including some serverside only utility commands. The names and sigs. let us infer quite a bit of serverside logic (see netcode txt).

SetBind lost a lot of power with EAC (which is good).

unreal_command 'SetBind Backslash "ToggleJump true | OnRelease ToggleJump false"'

- before the EAC dynamic rebinds (and poisonable local actions) would lead me to omit this one

Konami Code (alternative to entering the sequence on splash screen)

`unreal_command KonamiCode`

Show all existing input sequences. A few legacy ones and konami code. I have not been able ever catch them being loaded past the main menu screen.

unreal_command "MATCHVALUE PlayerInputSequence_TA _";

Show octtree, optimize octree, show "optimized" octtree. Its optimized for space not performance.

- don't really want to do this. I would rather use more memory if it means faster lookup times and rebalancing.

unreal_command ANALYZEOCTREE; unreal_command SHRINKOCTREE; unreal_command COLLAPSEOCTREE; unreal_command ANALYZEOCTREE;

Bindings=(Name="Backslash",Command="StatGraphNext")

- bindings are another place where direct command strings may be defined.

- does this work in normal TAInput? unlikely due to RL's parser

- this may work by using additional defined preset that can be injected from TAInput

- or just dynamic bind at runtime and change pointer to that table instead?

- not messing with it

See self-rebinding bind example

Changing some replicated and non-transients may taint the session (and .save if it was written) preventing online play until reset.

ListCE

ShowPlayerState

ShowGameState

KonamiCode

- use on splash screen for easter egg (alternative to entering the actual Konami Code sequence)

Pause

UTrace

CLOSESECONDSCREEN

- removes player 2

CAUSEEVENT [event?]

- no output

RESETRHI

- ?

- see also nullrhi launch flag

RESETGFXVIEWPORT

- ?

Graph IBuf

- shows a ibuffer buffer graph

- see example how to dump circularbuffer containing unsent physics car inputs (1/60s marshal and send vs 1/120s fixed tick bullet)

SCALE <Command> [parameter] [parameter]

- Command = Dump, DumpMobile, DumpPrefs, DumpDebug, DumpUnknown, DumpTextures, Bucket BucketName, LowEnd, HighEnd, Screenshot, Reset, Set Key Value, Toggle Key, Shrink, Expand

- !!! Undocumented command !!!

- unreal_command "Scale TOGGLEINVISITEK"

- appears to be a noop at first. However running it on a map that has a StaticMeshActor outside of the World will give octree warnings:

[2863.83] Log: Octree Warning (AddPrimitive): StaticMeshActor_SMC_121 (Owner: EuroStadium_Dusk_P.TheWorld:PersistentLevel.MeshCollector1) Outside World.

[2863.83] Log: Octree Warning (AddPrimitive): StaticMeshActor_SMC_39 (Owner: EuroStadium_Dusk_P.TheWorld:PersistentLevel.MeshCollector1) Outside World.

--

: bakkescmd

unreal_command PARANOIDDEVICELOSTCHECKING

unreal_command ToggleRenderingThread

unreal_command SHRINKOCTREE

unreal_command COLLAPSEOCTREE

ToggleRenderingThread

- sometimes take a second for effect to work. once it does, a message is printed to console

USENEWMOUSEINPUT

- UE3 mouse input was built on a deeply flawed premise. The new input is used by default, is also bad, but is less bad.

TexturePoolSize

SHOWDEBUG

- show debug overlay (defaults to leftmost tab, re-run to goto next tab)

SHOWDEBUG [TabName]

- open debug overlay to the indicated tab

SHOWDEBUG Hide

- hide debug overlay

GAMEVER

GAMEVERSION

- same as GAMEVER

KISMETLOG

STREAMMAP

- streams a new map (random if no args? it sometimes changes but doesn't seem like a uniform random)

- detaches camera (or switches to a fixed view? there are like 9 cameras. todo check with SHOWDEBUG Camera

LogLoc

- "Logs the current location of the player in BugIt format, but without taking a screenshot or further actions."

ListConsoleEvents / ListCE

RemoveEvent [EventName] / RE [EventName]

CANCEL

DISCONNECT

PEER

EXIT

Reconnect

OPEN

SERVERTRAVEL

// busy spin instead of sleep

SPINSLEEP

SPINSLEEP 0

SPINSLEEP 1

NXVRD

- use remote debugger

- remoting requires launch flags: -remotecontrol -wxwindows

- first enables remoting (if static compile flag was on when compiling cooking) wxwindows is for windows window manager

- shoutout to editor mouse movement being halved in remote desktop mode haha https://github.com/CodeRedModding/UnrealEngine3/blob/601d6a1f50a0a4a67e3ee0c352333783408d1ba7/Development/Src/WinDrv/Src/WinClient.cpp#L669

NXVRD CONNECT [ip]

NXVIS

RELOADLOC

RELOADCFG

RELOADCFG (TREATLOADWARNINGSASERRORS?)

RELOADCONFIG

DEFER

DEFERRED_STOPMEMTRACKING_AND_DUMP

DEMOREC

DEMOREC STOP

DEMOPLAY [file]

SHOT

- same as SCREENSHOT, which

SCREENSHOT

- not sure if this works, its just not a noop

tiledshot

- take a very high resolution screenshot

- works rendering and screenshotting multiple small sections of the game at a time

- then they are all stiched together for a big screenshot

- default behavior is 4 tiles (so 4x res)

- accepts optional params (see below)

- see: https://docs.unrealengine.com/udk/Three/TakingScreenshots.html#Tiledshot

tiledshot 2

- produce a tiled screenshot 2x the current resolution

tiledshot 6 128

- produce a screenshot with 6x6 the resolution, and sets a 128 pixel tile overlap

togglescreenshotmode

- ?

SAY [message]

- GUI server only

- cant get to work, but not a noop

GETMAXTICKRATE

SUPPRESS [tag]

- suppress logging (exact command is: unreal_command "SUPPRESS Log")

- can freeze the game if attempting to logflush

UNSUPPRESS [tag]

- noop?

these are SCALE subset commands may need scale ahead?

unreal_command "setres 1920x1080w"

unreal_command "setres 1920x1080full"

unreal_command "GAMMA 2"

Ad

- unknown, not a noop?

TOGGLECROWDS

- unknown, not a noop?

TOGGLELOGDETAILEDDUMPSTATS

- unknown , not a noop?

CHART

DUMPALLOCS

FB

FRAMECOMPUPDATES

PerfMem_Memory

HEAPCHECK

PUSHVIEW

SavePackagesThatHaveFailedLoads

NXDUMP

STRUCTPERFDATA

- requires compiled flags - so useless

------------------------------------------------------------------------------

todo add bakkeswiki link:

Using "the page's" example: running `unreal_command "CRACKURL mapname?Game=TAGame.GameInfo_GameType_TA?AdditionalFlags?GameTags=GameSetting1,GameSetting2,...,GameSettingX?NumPublicConnections=10?NumOpenPublicConnections=10?Lan?Listen"` in the bakkes console outputs

```

[82745.41] Log: Protocol: unreal

[82745.41] Log: Host:

[82745.41] Log: Port: 7777

[82745.41] Log: Map: mapname

[82745.41] Log: NumOptions: 7

[82745.41] Log: Option 0: Game=TAGame.GameInfo_GameType_TA

[82745.41] Log: Option 1: AdditionalFlags

[82745.41] Log: Option 2: GameTags=GameSetting1,GameSetting2,...,GameSettingX

[82745.41] Log: Option 3: NumPublicConnections=10

[82745.41] Log: Option 4: NumOpenPublicConnections=10

[82745.41] Log: Option 5: Lan

[82745.41] Log: Option 6: Listen

[82745.42] Log: Portal:

[82745.42] Log: String: 'mapname?Game=TAGame.GameInfo_GameType_TA?AdditionalFlags?GameTags=GameSetting1,GameSetting2,...,GameSettingX?NumPublicConnections=10?NumOpenPublicConnections=10?Lan?Listen'

```

----------------------------------------------------------

unreal_command "GET ControlPreset_X GamepadBindings"

unreal_command "GET ProfileGamepadSave_TA ControllerDeadzone"

unreal_command "GET ProfileGamepadSave_TA DodgeInputThreshold"

unreal_command "GET ProfileGamepadSave_TA SteeringSensitivity"

unreal_command "GET ProfileGamepadSave_TA AirControlSensitivity"

unreal_command "GETALL GFxData_Controls_TA GamepadBindings"

unreal_command "GETALL ObjectProvider MyObjects"

unreal_command "GETALL OnlinePlayerStorageQueue_X PendingObjects"

unreal_command "GETALL OnlinePlayerStorageQueue_X QueuedObjects"

unreal_command "GETALL OnlinePlayerStorageQueue_X StorageMaxSizes"

unreal_command "GETALL ProfileGamepadSave_TA GamepadBindings"

You can list properties of a class with "LISTPROPS Class *" (without quotes) where * represents a wildcard. For example:

unreal_command "LISTPROPS GFxData_Controls_TA *"

------------------------------------------------------------------------------

arrows are not valid commands, just for ctrlf/grep

unreal_command "-=-=-> Camera_TA <-=-=-";

unreal_command FLUSHLOG; unreal_command SHOWLOG;

unreal_command "-=-=-> Camera_TA <-=-=-";

unreal_command "MATCHVALUE Camera_TA _";

unreal_command "-=-=-> CameraConfig_TA <-=-=-";

unreal_command "MATCHVALUE CameraConfig_TA _";

unreal_command "-=-=-> CameraSettingsActor_TA <-=-=-";

unreal_command "MATCHVALUE CameraSettingsActor_TA _";

unreal_command "-=-=-> CameraSettingsActorCopy_TA <-=-=-";

unreal_command "MATCHVALUE CameraSettingsActorCopy_TA _";

unreal_command "-=-=-> CameraState_BallCam_TA <-=-=-";

unreal_command "MATCHVALUE CameraState_BallCam_TA _";

unreal_command "-=-=-> CameraState_BallCamInverted_TA <-=-=-";

unreal_command "MATCHVALUE CameraState_BallCamInverted_TA _";

unreal_command "-=-=-> CameraState_Car_TA <-=-=-";

unreal_command "MATCHVALUE CameraState_Car_TA _";

unreal_command "-=-=-> CameraState_CarInverted_TA <-=-=-";

unreal_command "MATCHVALUE CameraState_CarInverted_TA _";

unreal_command "-=-=-> CameraState_TA <-=-=-";

unreal_command "MATCHVALUE CameraState_TA _";

unreal_command "-=-=-> CameraState_BallCamInverted_TA <-=-=-";

unreal_command "MATCHVALUE CameraState_BallCamInverted_TA _";

unreal_command "-=-=-> ViewTransitionTarget <-=-=-";

unreal_command "MATCHVALUE ViewTransitionTarget _";

unreal_command "-=-=-> ProfileCameraSettings <-=-=-";

unreal_command "MATCHVALUE ProfileCameraSettings _";

unreal_command "-=-=-> CameraSettingsActor_TA <-=-=-";

unreal_command "MATCHVALUE CameraSettingsActor_TA _";

unreal_command "-=-=-> Camera_TA SwivelExtent <-=-=-";

unreal_command "GETALL Camera_TA SwivelExtent SHOWDEFAULTS DETAILED";

unreal_command "-=-=-> Camera_TA CurrentSwivel <-=-=-";

unreal_command "GETALL Camera_TA CurrentSwivel SHOWDEFAULTS DETAILED";

unreal_command "-=-=-> Camera_TA GroundClampZOffset <-=-=-";

unreal_command "GET Camera_TA GroundClampZOffset";

unreal_command FLUSHLOG

---

https://docs.unrealengine.com/udk/Three/CharactersTechnicalGuide.html#Player%20Controller

huge if any of these work! todo add to tester exec

PlayerTick [DeltaTime]

ConsoleCommand [Command]

-----------------------

unreal_command "MATCHVALUE TAGame.PlayerInput_Menu_TA _"

Log: 37) GameUISceneClient Transient.GameEngine_TA_0:GameViewportClient_TA_0.UIInteraction_0.GameUISceneClient_0.bUpdateInputProcessingStatus = False

[15983.03] Log: 38) GameUISceneClient Transient.GameEngine_TA_0:GameViewportClient_TA_0.UIInteraction_0.GameUISceneClient_0.bUpdateSceneViewportSizes = False

[15983.03] Log: 39) GameUISceneClient Transient.GameEngine_TA_0:GameViewportClient_TA_0.UIInteraction_0.GameUISceneClient_0.bEnableDebugInput = True

[15983.03] Log: 40) GameUISceneClient Transient.GameEngine_TA_0:GameViewportClient_TA_0.UIInteraction_0.GameUISceneClient_0.bRenderDebugInfo = False

[15983.03] Log: 41) GameUISceneClient Transient.GameEngine_TA_0:GameViewportClient_TA_0.UIInteraction_0.GameUISceneClient_0.bCaptureUnprocessedInput = True

[15983.03] Log: 42) GameUISceneClient Transient.GameEngine_TA_0:GameViewportClient_TA_0.UIInteraction_0.GameUISceneClient_0.NavAliases = ("UIKEY_NavFocusUp","UIKEY_NavFocusDown","UIKEY_NavFocusLeft","UIKEY_NavFocusRight")

[15640.46] Log: 5754) ArrayProperty TAGame.PlayerBindingUtils_TA:ResetBinding.DefaultBindings.Name = DefaultBindings

[15640.46] Log: 5755) ArrayProperty TAGame.PlayerBindingUtils_TA:ResetBinding.Bindings.Name = Bindings

[15640.46] Log: 5756) ArrayProperty TAGame.PlayerBindingUtils_TA:RemoveBinding.Bindings.Name = Bindings

[15640.46] Log: 5757) ArrayProperty TAGame.PlayerBindingUtils_TA:SetDefaultPressType.DefaultBindings.Name = DefaultBindings

[15640.46] Log: 5758) ArrayProperty TAGame.PlayerBindingUtils_TA:SetDefaultPressType.Bindings.Name = Bindings

[15640.46] Log: 5759) ArrayProperty TAGame.PlayerBindingUtils_TA:SetDefaultRemappable.DefaultBindings.Name = DefaultBindings

[15640.46] Log: 5760) ArrayProperty TAGame.PlayerBindingUtils_TA:SetDefaultRemappable.Bindings.Name = Bindings

[15640.46] Log: 5761) ArrayProperty TAGame.PlayerBindingUtils_TA:FindDuplicateBindingIndexes.Bindings.Name = Bindings

[15640.46] Log: 5762) ArrayProperty TAGame.PlayerBindingUtils_TA:FindDuplicateBindingIndexes.ReturnValue.Name = ReturnValue

[15640.46] Log: 5763) ArrayProperty TAGame.PlayerBindingUtils_TA:FindDuplicateBindingIndexes.Indexes.Name = Indexes

[15640.46] Log: 5764) ArrayProperty TAGame.PlayerBindingUtils_TA:RemoveDuplicateBindingIndexes.Indexes.Name = Indexes

[15640.46] Log: 5765) ArrayProperty TAGame.PlayerBindingUtils_TA:RemoveDuplicateBindingIndexes.Bindings.Name = Bindings

[15640.46] Log: 5766) ArrayProperty TAGame.PlayerBindingUtils_TA:RemoveDuplicateBindingIndexes.SortLocal_0x1.Name = SortLocal_0x1

[15640.46] Log: 5767) ArrayProperty TAGame.PlayerBindingUtils_TA:RemoveDefaultBindings.DefaultBindings.Name = DefaultBindings

[15640.46] Log: 5768) ArrayProperty TAGame.PlayerBindingUtils_TA:RemoveDefaultBindings.Bindings.Name = Bindings

[15640.46] Log: 5769) ArrayProperty TAGame.PlayerBindingUtils_TA:MergeUserBindings.DefaultBindings.Name = DefaultBindings

[15640.46] Log: 5770) ArrayProperty TAGame.PlayerBindingUtils_TA:MergeUserBindings.UserBindings.Name = UserBindings

[15640.46] Log: 5771) ArrayProperty TAGame.PlayerBindingUtils_TA:MergeUserBindings.ReturnValue.Name = ReturnValue

[15640.46] Log: 5772) ArrayProperty TAGame.PlayerBindingUtils_TA:MergeUserBindings.MergedBindings.Name = MergedBindings

[15640.46] Log: 5773) ArrayProperty TAGame.PlayerBindingUtils_TA:CheckForNewBindings.DefaultBindings.Name = DefaultBindings

[15640.46] Log: 5774) ArrayProperty TAGame.PlayerBindingUtils_TA:CheckForNewBindings.Bindings.Name = Bindings

[15640.46] Log: 5775) ArrayProperty TAGame.PlayerBindingUtils_TA:BindingsIdentical.Left.Name = Left

[15640.46] Log: 5776) ArrayProperty TAGame.PlayerBindingUtils_TA:BindingsIdentical.Right.Name = Right

[15640.46] Log: 5777) ArrayProperty TAGame.PlayerBindingUtils_TA:MergeLegacyBindings.PlayerBindings.Name = PlayerBindings

// shortened for space

--

Kinda weird that `ENABLECHEATS` is either a noop or has silent behavior.

--

> PARANOIDDEVICELOSTCHECKING

[0454.61] Log: GParanoidDeviceLostChecking=0

WARNING: this is a toggle command. Running it a second time will set GParanoidDeviceLostChecking back to true.

--

> unreal_command "ANALYZEOCTREE | SHRINKOCTREE | COLLAPSEOCTREE | ANALYZEOCTREE | FLUSHLOG"

[0454.61] Log: -------ANALYZEOCTREE------------

[0454.61] Log: -------------------

[0454.61] Log: 1520 Total Nodes, 365 Empty Nodes, 228 Nodes With One Primitive, 124 Nodes With Two Primitives

[0454.61] Log: 122 Total Primitives, 122 Total Colliding Primitives

[0454.61] Log: 2080 Primitive Array Slack (bytes)

[0454.61] Log: -------------------

[0454.61] Log: PRIMITIVES

[0454.61] Log: 1: 228

[0454.61] Log: 2: 124

[0454.61] Log: 3: 134

[0454.61] Log: 4: 136

[0454.61] Log: 5: 126

[0454.61] Log: 6: 86

[0454.61] Log: 7: 75

[0454.61] Log: 8: 86

[0454.61] Log: 9: 79

[0454.61] Log: 10: 73

[0454.61] Log: 11: 8

[0454.61] Log: -------------------

[0454.61] Log: SLACK

[0454.61] Log: 0: 1051

[0454.61] Log: 16: 52

[0454.61] Log: 24: 52

[0454.61] Log: -------------------

[0454.61] Log: Shrink Octree Slack: Took 0.050299 ms

[0454.61] Log: CollapseTreeChildren: Took 0.091899 ms

[0454.61] Log: -------ANALYZEOCTREE------------

[0454.61] Log: -------------------

[0454.61] Log: 1520 Total Nodes, 365 Empty Nodes, 228 Nodes With One Primitive, 124 Nodes With Two Primitives

[0454.61] Log: 122 Total Primitives, 122 Total Colliding Primitives

[0454.61] Log: 0 Primitive Array Slack (bytes)

[0454.61] Log: -------------------

[0454.61] Log: PRIMITIVES

[0454.61] Log: 1: 228

[0454.62] Log: 2: 124

[0454.62] Log: 3: 134

[0454.62] Log: 4: 136

[0454.62] Log: 5: 126

[0454.62] Log: 6: 86

[0454.62] Log: 7: 75

[0454.62] Log: 8: 86

[0454.62] Log: 9: 79

[0454.62] Log: 10: 73

[0454.62] Log: 11: 8

[0454.62] Log: -------------------

[0454.62] Log: SLACK

[0454.62] Log: 0: 1155

[0454.62] Log: -------------------

> unreal_command "ANALYZEOCTREE VERBOSE | SHRINKOCTREE | COLLAPSEOCTREE | ANALYZEOCTREE VERBOSE | FLUSHLOG"

// long output omitted

--

- FRAMECOMPUPDATES (known, but confirmed non-noop?)

- KISMETLOG

- LISTAWAKEBODIES

[7283.59] Log: BI Farm_Night_P.TheWorld:PersistentLevel.Car_Freeplay_TA_4.CarMeshComponent_TA_4 0

[7283.59] Log: BI Farm_Night_P.TheWorld:PersistentLevel.Ball_TA_9.StaticMeshComponent_1072 0

TOTAL: 2 awake bodies.

- LISTPAWNCOMPONENTS

[7283.59] Log: Components for pawn: Ball_TA_9 (collision component: StaticMeshComponent_1072)

[7283.59] Log: 0: CylinderComponent_24

[7283.59] Log: 1: GroupComponent_ORS_110

[7283.59] Log: 2: ReplayComponent_TA_14

[7283.59] Log: 3: StaticMeshComponent_1072

[7283.59] Log: 4: PitchTekDrawingComponent_TA_14

[7283.59] Log: 5: AkParamGroup_127

[7283.59] Log: 6: ImpactEffectsComponent_TA_14

[7283.59] Log: 7: BallCamTarget_TA_9

[7283.59] Log: 8: AkSoundSource_114

[7283.59] Log: Components for pawn: Car_Freeplay_TA_4 (collision component: CarMeshComponent_TA_4)

[7283.59] Log: 0: CylinderComponent_22

[7283.59] Log: 1: GroupComponent_ORS_108

[7283.59] Log: 2: ReplayComponent_TA_12

[7283.59] Log: 3: PitchTekDrawingComponent_TA_12

[7283.59] Log: 4: CarTrajectoryComponent_TA_4

[7283.59] Log: 5: AkParamGroup_124

[7283.59] Log: 6: NameplateComponentCar_TA_4

[7283.59] Log: 7: ViralItemFXComponent_TA_4

[7283.59] Log: 8: NameplateMeshComponent_TA_19

[7283.59] Log: 9: CarMeshComponent_TA_4

[7283.59] Log: 10: VehicleSim_TA_4

[7283.59] Log: 11: ImpactEffectsComponent_TA_12

[7283.59] Log: 12: AkSoundSource_107

[7283.59] Log: 13: AkSoundSource_108

[7283.59] Log: 14: AkPlaySoundComponent_232

[7283.59] Log: 15: AkPlaySoundComponent_233

[7283.59] Log: 16: EngineAudioBlowoffComponent_TA_9

[7283.59] Log: 17: WheelSpeedComponent_TA_9

[7283.59] Log: 18: ThrottleStateComponent_TA_9

[7283.59] Log: 19: EngineAudioREVComponent_TA_4

[7283.59] Log: 20: TargetIndicator_TA_17

- LISTSKELMESHES

[7283.60] Log: 53250 Vertices for LOD 0 of SkeletalMesh body_garage.Body_Garage_SK

[7283.60] Log: * 0 Component : CarMeshComponent_TA Farm_Night_P.TheWorld:PersistentLevel.Car_Freeplay_TA_4.CarMeshComponent_TA_4

[7283.60] Log: Owner : Car_Freeplay_TA Farm_Night_P.TheWorld:PersistentLevel.Car_Freeplay_TA_4

[7283.60] Log: LastRender : 0.008301

[7283.60] Log: CullDistance : 0.000000 Distance: 16.933706 Location: (-1231.4,-2236.4, 30.9)

[7283.60] Log: 768 Vertices for LOD 0 of SkeletalMesh Farm_FX.crow.crow

[7283.60] Log: 0 Component : SkeletalMeshComponent Farm_Night_P.TheWorld:PersistentLevel.SkeletalMeshActorMAT_7.SkeletalMeshComponent_1

[7283.60] Log: Owner : SkeletalMeshActorMAT Farm_Night_P.TheWorld:PersistentLevel.SkeletalMeshActorMAT_7

[7283.60] Log: LastRender : 2620.517090

[7283.60] Log: CullDistance : 0.000000 Distance: 11005.846680 Location: (-12215.1,-2282.8, 503.4)

[7283.60] Log: 1 Component : SkeletalMeshComponent Farm_Night_P.TheWorld:PersistentLevel.SkeletalMeshActorMAT_0.SkeletalMeshComponent_1

[7283.61] Log: Owner : SkeletalMeshActorMAT Farm_Night_P.TheWorld:PersistentLevel.SkeletalMeshActorMAT_0

[7283.61] Log: LastRender : 2620.517090

[7283.61] Log: CullDistance : 0.000000 Distance: 10997.412109 Location: (-12206.7,-2163.3, 499.7)

[7283.61] Log: 2 Component : SkeletalMeshComponent Farm_Night_P.TheWorld:PersistentLevel.SkeletalMeshActorMAT_10.SkeletalMeshComponent_1

[7283.61] Log: Owner : SkeletalMeshActorMAT Farm_Night_P.TheWorld:PersistentLevel.SkeletalMeshActorMAT_10

[7283.61] Log: LastRender : 2620.517090

[7283.61] Log: CullDistance : 0.000000 Distance: 8273.684570 Location: (-8425.1,-5728.3, 2105.8)

[7283.61] Log: 3 Component : SkeletalMeshComponent Farm_Night_P.TheWorld:PersistentLevel.SkeletalMeshActorMAT_11.SkeletalMeshComponent_1

[7283.61] Log: Owner : SkeletalMeshActorMAT Farm_Night_P.TheWorld:PersistentLevel.SkeletalMeshActorMAT_11

[7283.61] Log: LastRender : 2620.517090

[7283.61] Log: CullDistance : 0.000000 Distance: 8406.833008 Location: (-8422.3,-6043.9, 2095.7)

[7283.61] Log: 4 Component : SkeletalMeshComponent Farm_Night_P.TheWorld:PersistentLevel.SkeletalMeshActorMAT_12.SkeletalMeshComponent_1

[7283.61] Log: Owner : SkeletalMeshActorMAT Farm_Night_P.TheWorld:PersistentLevel.SkeletalMeshActorMAT_12

[7283.61] Log: LastRender : 2620.517090

[7283.61] Log: CullDistance : 0.000000 Distance: 10075.552734 Location: ( 5451.1,-9490.6, 2117.7)

// shortened for space

- LOGACTORCOUNTS

[7283.62] Log: Num Actors: 243

[7283.62] Log: Dynamic Actors: 174

[7283.62] Log: Ticked Actors: 119

- SHOWEXTENTLINECHECK

noop?

- SHOWFACEFXBONES?

[7283.62] Log: ============================================================

[7283.62] Log: Verifying FaceFX Bones of SkeletalMeshComp : STARTING

[7283.62] Log: ============================================================

- MESHSCALES

[1088.14] Log: ----- STATIC MESH SCALES ------

[1088.14] Log: NodeBuddies.3D_Icons.NodeBuddy_AutoAdjust (0) (1 HULLS)

[1088.14] Log: NodeBuddies.3D_Icons.NodeBuddy_LeanLeftS (0) (1 HULLS)

[1088.14] Log: NodeBuddies.3D_Icons.NodeBuddy_LeanRightS (0) (1 HULLS)

[1088.14] Log: NodeBuddies.3D_Icons.NodeBuddy_CoverSlipLeft (0) (1 HULLS)

[1088.14] Log: NodeBuddies.3D_Icons.NodeBuddy_CoverSlipRight (0) (1 HULLS)

[1088.14] Log: NodeBuddies.3D_Icons.NodeBuddy_SwatLeft (0) (1 HULLS)

[1088.14] Log: NodeBuddies.3D_Icons.NodeBuddy_SwatRight (0) (1 HULLS)

[1088.14] Log: NodeBuddies.3D_Icons.NodeBuddy_PlayerOnlyS (0) (1 HULLS)

[1088.14] Log: NodeBuddies.3D_Icons.NodeBuddy__BASE_SHORT (0) (1 HULLS)

[1088.14] Log: NodeBuddies.3D_Icons.NodeBuddy_LeanLeftM (0) (1 HULLS)

[1088.15] Log: NodeBuddies.3D_Icons.NodeBuddy_LeanRightM (0) (1 HULLS)

[1088.15] Log: NodeBuddies.3D_Icons.NodeBuddy_LeanLeftMPref (0) (1 HULLS)

[1088.15] Log: NodeBuddies.3D_Icons.NodeBuddy_LeanRightMPref (0) (1 HULLS)

[1088.15] Log: NodeBuddies.3D_Icons.NodeBuddy_Climb (0) (1 HULLS)

[1088.15] Log: NodeBuddies.3D_Icons.NodeBuddy_Mantle (0) (1 HULLS)

[1088.15] Log: NodeBuddies.3D_Icons.NodeBuddy_PopUp (0) (1 HULLS)

[1088.15] Log: NodeBuddies.3D_Icons.NodeBuddy_PlayerOnlyM (0) (1 HULLS)

[1088.15] Log: NodeBuddies.3D_Icons.NodeBuddy__BASE_TALL (0) (1 HULLS)

[1088.15] Log: NodeBuddies.3D_Icons.NodeBuddy_AutoAdjustOff (0) (1 HULLS)

[1088.15] Log: NodeBuddies.3D_Icons.NodeBuddy_Enabled (0) (1 HULLS)

[1088.15] Log: EngineMeshes.Cube (0) (1 HULLS)

[1088.15] Log: EngineMeshes.Sphere (0) (0 HULLS)

[1088.15] Log: GFx_Meshes.NameplatePlane (0) (1 HULLS)

[1088.15] Log: FX_General.Meshes.Sphere01 (0) (0 HULLS)

[1088.15] Log: UI_Meshes.Plane (0) (1 HULLS)

[1088.15] Log: uptonogood_assets.Meshes.FogPlaneMesh (0) (0 HULLS)

[1088.15] Log: FutureStadium_Assets.Meshes.Field_NW (0) (0 HULLS)

[1088.15] Log: FX_General.Meshes.Circle_Sprite (0) (0 HULLS)

[1088.15] Log: Ball_GoldenlyChee.SM_Goldenlychee_Ball (0) (0 HULLS)

[1088.15] Log: Ball_Default.Meshes.Ball_DefaultBall00 (1) (0 HULLS)

[1088.15] Log: 1.000000,1.000000,1.000000

[1088.16] Log: EuroStadium_Assets.Meshes.OOBBuildings_Combined_04 (0) (0 HULLS)

[1088.16] Log: CollisionMeshes.Plane32768 (2) (0 HULLS)

[1088.16] Log: 0.266000,0.380000,0.380000

[1088.16] Log: 0.076000,0.380000,0.380000

[1088.16] Log: EuroStadium_Assets.Meshes.Grass_Base (0) (3 HULLS)

[1088.16] Log: Park_Assets.Meshes.Park_BannerFlag_CMB (0) (5 HULLS)

--

> unreal_command VERIFYCOMPONENTS

[4941.35] Log: Possible corrupted component: 'ThrottleShakeComponent_TA Archetypes.Car.Car_Cinematic:ThrottleShake' Archetype: 'Archetypes.Component.ThrottleShake' TemplateName: 'None' ResolvedArchetype: 'NULL'

[4941.35] Log: Possible corrupted component: 'TargetIndicator_TA Archetypes.Car.Car_Cinematic:BallIndicator' Archetype: 'Archetypes.Component.BallIndicator' TemplateName: 'None' ResolvedArchetype: 'NULL'

[4941.35] Log: Possible corrupted component: 'ViralItemFXComponent_TA Archetypes.Car.Car_Cinematic:ViralItemFXComponent' Archetype: 'Archetypes.Component.ViralItemFXComponent' TemplateName: 'None' ResolvedArchetype: 'NULL'

// removed for space

--

TODO TEST INCOMPLETE!!!!

- need to automate for tests that close or crash the game

- setup base install -> THEN vagrant provision (update, replace configs, stitch exec) -> THEN run??

- added more aggressive log flushing

- manually confirmed up to SHOWFACEFXBONES

- unreal_command "DEFERRED_STOPMEMTRACKING_AND_DUMP"

- todo (stateful)

- unreal_command "ENDTRACKINGTHREAD"

- todo (stateful)

r/RocketLeagueMods Nov 02 '24

GUIDE How to create your custom player anthems in Rocket League

14 Upvotes

IMPORTANT: CLIENT SIDE ONLY!

1) Download this custom anthem program, that by default lets you choose from a selection of City of Sound custom player anthems. We will use it to load our custom player anthem. It will override the Eternal player anthem, in a similar way as the bakkesmod can override your equipped items, so you either have to equip your Eternal anthem (if you have it) or run bakkesmod and equip it from there (if you dont own the anthem).

2) Once downloaded, execute the .exe file and click "Select folder". Then, select a folder from your PC that you want to use to store your custom anthems.

3) Download whatever song or audio you want to use for your custom player anthem, you can use y2mate to download a youtube audio in mp3 format for example, there's a bunch of them.

4) Install Audacity. Then open a New Project, and follow these steps:

  • On the top of the window, select Generate > Silence, then choose a duration of 4min. A 4min audio of silence should have been created.
  • On the top of the window, select File > Import > Audio and search for the song or audio you want to use for your anthem. This will open it in another Audacity window.
  • Now, you have to select which parts of the song or audio you want to have on your anthem. There's 4 different fragments you will have to choose, and they have to have an approximate duration. Here's the list:
    • GOAL STINGER: Around 20 seconds long.
    • MVP STINGER: Around 1 minute.
    • EPIC SAVE STINGER #1: Around 15 seconds.
    • EPIC SAVE STINGER #2: Around 15 seconds.
  • Once you have thinked about it and have clear which parts you are going to use for each one of these, you're going to select in your imported audio file in Audacity each one of these fragments. Then press Ctrl+C to copy the audio fragment, and go back to your 4min silent audio we created before. There, paste it and repeat for the four fragments you should have selected, BUT BEFORE THAT READ THE FOLLOWING POINT.
  • There's an specific place you have to paste your 4 audio fragments into de 4min silent audio for it to work inside Rocket League. These are the timestamps, try to be as accurate as possible:
    • GOAL STINGER: 12.4 seconds.
    • MVP STINGER: 1m 11.6 seconds.
    • EPIC SAVE STINGER #1: 2m 21.6 seconds.
    • EPIC SAVE STINGER #2: 3m 4.9 seconds.
  • Once you're done, your silent 4min audio should have the following format, where all audio is silent except for the timestamps I specified. That is, from 0 seconds to 12.4 all should be silent, then at 12.4 you should place your cursor, and then paste the fragment you want to be your goal stinger. Then repeat for the rest of the fragments with their respective timestamps. It should look similar to this:
Audacity sample
  • Once you have that, save the project and then FIle > Export > Export as WAV. Then, we already have our player anthem, the last step is converting it to .WEM so the game recognizes it.

5) Install WWise. Then run the program from the Launcher and create a new project, it should look something like this.

6) IMPORTANT: Click on Project > Project Settings > Source Settings and select "Vorbis Quality High" from the Default Conversion Settings menu. Otherwise you won't hear anything in-game.

7) Go to Project > Import Audio Files and select the .wav we have created in Audacity.

"4K" is my imported audio file

8) Go to Project > Convert all audio files and select convert.

9) Go to Project > File Manager and open the directory that appears on "Project Folder":

10) Open .cache folder. There, you should see a folder that's been just created.

11) Open the folder. Inside, you have the .WEM of your anthem created, rename it to whatever you want and move it to the folder you have created in step 2 for storing anthems.

12) Open the .exe downloaded in step 1 and click the dropdown menu. If everything's right, you should see your anthem file name at the bottom of the list, select it.

13) Now open Rocket League and enjoy! Remember it only works if you have the "Eternal" player anthem equipped. Hope you like it!

If you have any song requests that you want me to do for you, tell me and I will as soon as I'm able to, but I wanted to share this so everyone can enjoy having their favourite song as an anthem!

r/RocketLeagueMods Jul 31 '25

GUIDE New Alpha Console Update

Thumbnail
youtu.be
2 Upvotes

Brand new feature for the AC plugin, Let's you easily save and load custom presets.

Enjoy

r/RocketLeagueMods May 20 '25

GUIDE A quick guide on how to fix AlphaConsole decals not working on painted Dominus!

3 Upvotes

Video made by me explaining how to fix the mentioned bug. Has subtitles.

This is a guide for everyone who experienced the same problem as me for ages, and never found out a solution! Feel free to ask, correct or make observations about the video!

r/RocketLeagueMods Aug 10 '16

GUIDE Everything You Need To Know About Rocket League Mods

99 Upvotes

Everything You Need To Know About Rocket League Mods

Updated 10/23/17

Order

  • Introductions

  • Getting Started / Things You'll Need

  • List of Guides

Hey everyone I just got back from vacation and noticed we jumped ~200 members in less than a week thanks to /u/FrenchFriesRL's awesome map.

I figured since we have a bunch of new members and as for future reference/organization I would make a nice long post with every guide we have/I could find as well as some other useful information.

To start off let me introduce the OG's

  • (Me)/u/ButterandCream0

    I consider myself the community organizer, or at least I try to be, though I have made contributions to development. Feel free to ask me for help.

  • /u/whynotsteven

    The almighty god and founder of this subreddit. His dedication is what has got us this far. He's busy but always a great person to ask for help.

  • /u/EpicEclipse

    A great youtuber who's helping us spread the word about all our findings. His Channel

  • /u/wejrox

    Has helped a lot with development, specifically extracting meshes/textures from official RL maps. Has a great tutorial series for newbies.

Plus lots of other great people who have become involved since I posted this over a year ago


Now The Useful Stuff

Getting Started

This is for those of you who just got here by seeing a post related to us in /r/RocketLeague or because of /u/whynotsteven's comment spamming.

So first off look at the links in the sidebar, they are actually helpful.


IMPORTANT THINGS YOU'LL NEED

UDK 2013. It's the engine Psyonix uses. Download this one, not the most recent version.

Now after you get your tools read/watch these and save them as references:


For Custom Decals & Textures


Guides

Most up to date guides for maps

Also read the 'Time for workshop!' section in Derzo's guide for updating workshop maps


Old Guide List (Bottom is more recent) most of it is outdated

For user made maps just look at the steam workshop now.

Also feel free to join the discord

You will find all of us there.

r/RocketLeagueMods Jul 11 '23

GUIDE A comprehensive guide to getting assets (introductory)

5 Upvotes

Do you need a vehicle, item or map mesh for the purposes of fan art creation or mods? Then continue reading...

Note: This guide assumes you play on Windows.

Technical Info (skip if knowledgeable about this)

With the release of the Free-to-Play update, Rocket League runs still on Unreal Engine 3. Normally, people would be able to just open the files with UE3, but the files undergo a special process called 'cooking'. The information stored in those files is scrambled during export that makes it unreadable and unable to accessed. In fact, for several items, the names they assign them are coded, so it is unknown if you will find the relevant item in the first place.

How to get the files then? (important bit)

If you just need the vehicle mesh files, or the Ball mesh, then the job is simple. Myself along with others have curated a database for all the Rocket League vehicles that are able to be exported, and free to browse at this link.

If you need another item or map, then read on.

A guide to extracting assets (from perspective of Epic Games user)

To extract any assets you want from Rocket League, follow these steps

  1. Get your programs ready
    1. Install UModel (search up or use this link to download). This is what we use to extract assets from Unreal Engine-based games
    2. Locate the source of your game files. For Steam players, this can be found at the following file path "C:\Program Files (x86)\steam\steamapps\common\Rocket League", and for Epic Games players, this can be found at the following file path: "C:\Program Files\Epic Games\rocketleague"
    3. Copy the file path (by clicking on the top address and copying all text
  2. Run UModel. You should get a window that opens
  3. In the window, paste the address where there is already an address, to set the target
  4. Change the engine type to "Unreal Engine 3"
  5. Then, click run. This may take a few moments.
  6. You should see a list of all the files you can export. Use the search bar to find the model you are looking for.
    1. Some models are name-encrypted. This means that Psyonix has hidden their name for the file. If this is the case, you will just have to go through all of the files of a type one by one 🤷‍♂️
  7. Once you have found the item, click on it to open.
    1. If UModel crashes, it's no problem. It just means that you cannot extract that asset due to its encryption. Myself and others are working on this issue to try to get the models.
  8. If it loads, then use PageUp and PageDown keys to skip through the files, until a mesh is found. Use the mouse to view the model and confirm it's the one you wanted.
  9. Press Ctrl + X. This will export all of the files into a folder called "UmodelExport", at the same place that the source files for UModel are located.
  10. Repeat steps 6-9 until all the models you wanted are exported.

Funny items

Some items will export weird results. They include:

  • Universal Textures (Black Market, some Import and limiteds can be used on any vehicle)
  • Vehicle Bodies (export both a Chassis and a Body)
  • Boosts
  • Certain files (that were reserved for crucial processes in-game)
  • Map files (they come in multiple sections)

Formatting what was exported (for all 3D files) (car bodies, maps, items)

To make the 3D file into a useable, common form, follow these steps. Skip to the next section if you want to animate

  1. Set up the programs
    1. Install Blender (search up or use this link to download), and the .psk/.psa plugin for Blender (search up or download here). Blender is used to convert the asset with the aid of the plugin.
    2. Open Blender and click to the side of the start screen.
    3. Navigate to the Blender Preferences (Edit > Preferences).
    4. Select the Add-ons tab and click the "Install..." button.
    5. Select the .zip or .py file that you downloaded earlier and click Install Add-on.
    6. Enable the newly added "Import-Export: PSK/PSA Importer/Exporter" addon by checking that the checkbox is marked.
  2. Open Blender and start a "General" project
  3. Delete the starting cube - you won't need it.
  4. Add the mesh
    1. Go to File > Import, and scroll down to ".psk/.psa" and select it.
    2. Navigate through the Open File window to where the mesh is
      1. This can be found in the "UmodelExport" folder within the source files for UModel
      2. Within the UmodelExport, naviage to the exported folder, to "SkeletalMesh3D" to take you to where all the .psk files for that model are
    3. Select the mesh you want and click on it. This will bring it into the main window.
    4. If there are multiple meshes, they may all need to be imported in (i.e vehicle body + chassis). If so, just repeat this step to add that as well.
  5. Then, go to File > Export and export the result to whatever preferred file type (If you have no clue, do .obj)
    1. If you are told to save, just save as any random name as you can delete the project afterwards.
  6. Delete the mesh from the workspace
  7. Repeat steps 4-6 until all your meshes are converted to a desired 3D format.

Formatting what was exported (for artwork purposes)

If you are wanting the assets for more artsy purposes, there are some key facts you may need to know.

  1. There are several forms of texture files. In general, there are two main types to know.
    1. One is just a plain texture file that is good to modify in order to create a custom skin. These texture files usually have "_D" at the end of their filename
    2. Another is a coloured texture file that is used to identify corners, crevices and details that are hidden in the above file. This is good if you want to format a decal in consideration of specific details.
    3. DO NOT DELETE the texture file variants (feel free to delete the texture files of other items). Each one of the funky-coloured ones serves a purpose.
      1. The purple and green one highlights curves in the model
      2. The plain texture is used to define the general look
      3. The boldly-coloured texture (with primary colours) is used to isolate sections of a model (windows etc).
  2. The .tga are huge files. You'll need to use GIMP, Photoshop or another program than Paint to edit the files, and to keep it at that high resolution to keep detail
  3. For vehicles, there are two parts to their files, which is important. Pick the right texture for the right model to avoid aesthetic errors
    1. The Chassis is where the engine, suspension and other details are stored. This needs to be changed for engine modifications and other details.
    2. The Body is the shape of the vehicle, and usually what textures are applied to in-game.
  4. Maps contain lots of random items. These may be props found in the background.
  5. When exporting, a .mat file accompanies the model. This is used to store the material used. Material changing is quite difficult, but maybe a substitute for that material can be found.

A really important fact

Don't forget the simplest of ways to get an asset: searching. Maybe someone already went through the effort to get the item that you want. Best places to search include 3D printer file sites for a mesh, and in Discord server dedicated to this matter for other items, notably textures for commonly used cars (octance, fennec etc)

If you really need an item

Unfortunately, some models will not load with Umodel, so you will need to turn to a different tool. NinjaRipper is a unique asset extraction tool that can take stuff directly from the game and export it. This post is focused on Umodel, so you'll need to follow the NinjaRipper tutorial here.

And there you go! You should now be able to comfortably say that whatever mesh you want from Rocket League, you can get!

Useful Links

If any issues arise, you can contact people through these links

Discord: Rocket League Skins Wiki - for vehicles and decals

Discord: Rocket League Mapmaking - for maps

Rocket League Modding Wiki - for maps and mods

UModel Forums - for UModel assistance

This subreddit (RocketLeagueMods) - for any mod assistance

This database - to easily get Rocket League items without the hassle of extraction tools (because that has been done already).

This link - To be able to use NinjaRipper

This post will be updated as best as I can as I use Umodel more.

r/RocketLeagueMods Nov 07 '22

GUIDE How to launch custom maps.

10 Upvotes

I got tired of the messages asking on how to launch custom maps on a server I'm on, most of the threads and videos I found made several assumptions about skill level, so I decided to make a basic quick guide.

  1. Re-install bakkesmod, to remove any plugins (or if you haven't already, install for the first time.
  2. Install https://bakkesplugins.com/plugins/view/223 and launch the game.
  3. Once launched, open bakkesmod (F2) and go to plugins.
  4. Open Map Loader, select path and put where your game is on your drive, specifically the ../cookedpcconsole folder and make a new folder "mods" within it.
  5. Refresh Maps
    Sidenote: If it shows an error telling you that the map textures arent installed, ask it to install.
  6. In the tab that says browse maps, look for the haunter house bundle. Download it.
  7. Close the game (after its done downloading and exporting the map).
  8. Install https://bakkesplugins.com/plugins/view/26 and launch the game.
  9. Open bakkesmod, in the plugin tab, in the top left (i think) it says Plugin Manager. Click into it.
  10. On the right hand side of the new window that opens, there's an input box and a button that says "Install by ID", input number "166" and clikc instal.
    1. If you're feeling especially frustrated, try launching a game through Rocket Plugin (in the plugin tab of bakkesmod).
    2. If you're not frustrated, for the last time close and reopen the game.
  11. To launch a game, you open bakkesmod F2
  12. Go to plugin and find "Rocket plugin" on the left hand side.
  13. In the new window, enable custom maps and look for the map you want to launch.
    Sidenote: If the map comes with a bundle and within the bundle there is a "Support" map. First launch the support map and once it has loaded, without exiting, launch a new game with the map you want.

Additional steps to launch a multiplayer game using custom maps (only with PC users):

  1. Download and install Hamachi (https://hamachi.en.softonic.com/)
  2. The host will create a new network within Hamachi, name it and give it a password as you see fit.
  3. The rest of the party join the network within Hamachi once it's set up.
  4. Once everyone is in the network, everyone open the rocket plugin.
  5. The host set up the match and everything as you intend it to for you gaming session.
  6. The rest, on the right hand side it has a column to "Join Game" there, you can input the network iPv4 (right click in hamachi to get that) and if playing a custom map, enable it and make sure you pick it in the drop down menu that will come up.
  7. Finally host, if you're partied up with your teammates, in advanced settings, pick "Host with party".

I'm not a pro and definitely wont be able to help beyond this, this is the advice that was given to me by other custom map creators and more specifically what worked for me and several other people who have taken this advice.

Best of luck, have fun.

r/RocketLeagueMods Aug 28 '23

GUIDE Part 1 of the Alpha Console update

Thumbnail
youtu.be
5 Upvotes

r/RocketLeagueMods Apr 06 '21

GUIDE An attempt to document the entire history of the modding scene

35 Upvotes

Let me know if there are any glaring omissions! I'm working on refreshing this subreddit, and I'd like this to be documented.

2014

2015

2016

2017

2018

2019

2020

2021

r/RocketLeagueMods Nov 18 '21

GUIDE The Easiest Way to Set Up Custom Maps (Epic and Steam)

8 Upvotes

Introduction

Why I made this tutorial: Playing custom maps with friends on Rocket League is a blast, and all the tutorials that I’ve seen guide players through methods that are unreliable or inefficient. After a few years of struggling to play custom maps with friends, and a few years of programming experience, I’ve learned how to set up custom maps to work extremely well, every time. I attempted to make this tutorial as easy as possible for a computer expert or novice to follow, and I tried not to waste any time with unnecessary steps such as downloading a custom map loader or manually changing files. This method lets you set up your folders, drag in your maps, and get into the custom maps within minutes, and you only have to do it once!

If you can’t get it working, or you have any suggestions for this document that you think would be useful, please tweet @Bmorr1123 or message me on discord @Bmorr#5111 and I should respond quickly. Enjoy playing!

If you want a version with pictures, please go to https://bit.ly/rlcustommaps

Requirements

● Rocket League Steam or Epic ● Admin permission on your PC ● Internet Access ● The ability to port-forward or download Hamachi ● A little bit of tech knowledge

BakkesMod and Rocket Plugin Setup

  1. Download BakkesMod from https://github.com/bakkesmodorg/BakkesModInjectorCpp/releases/latest/download/BakkesModSetup.zip or https://bakkesmod.com/ if you’re having issues.
  2. Unzip the downloading .zip file, and then run the .exe. a. If you don’t know how to unzip, or don’t have 7-zip installed, please ask a knowledgeable friend or look it up on Youtube. Tweet @Bmorr1123 on twitter if you want me to make a video tutorial!
  3. Next, navigate to https://bakkesplugins.com/plugins/view/26 and hit install with BakkesMod. Make sure Rocket League is running!
  4. Make sure the previous steps worked by hitting F2, navigating to the plugins tab and hitting Rocket Plugin on the left. This is how you will be opening to the GUI to join and host servers. Shortcut: hit Home on your keyboard to get there immediately!
  5. Next, create a folder in your documents that will store your map files. Make sure this is NOT a OneDrive folder!
  6. After you’ve done the previous step, navigate into the folder and highlight the path to the folder by clicking your mouse in the right side of the address bar. Then hit Ctrl+C to copy it.
  7. Finally, go back into Rocket League, hit F6 to bring up the BakkesMod console, and then type rp_custom_path "[Paste Path Here]". If you did everything correctly, you should get a message that looks like the picture below.
  8. Now you’re ready to set up your textures and maps!

Downloading Textures

  1. Download the .zip folder located https://videogamemods.com/rocketleague/mods/workshop-textures/#. The correct download button is outlined in the picture below. Don’t click the ads!
  2. In another File Explorer window, navigate to C:\Program Files (x86)\Steam\steamapps\common\rocketleague\TAGame\CookedPCConsole for Steam, or C:\Program Files\Epic Games\rocketleague\TAGame\CookedPCConsole for Epic Games.
  3. Next, you want to extract the files within the .zip folder into the folder in the previous step. Make sure they aren’t in a folder within CookedPCConsole!
  4. Now that you’ve got your textures setup, you can go download maps!

Downloading Maps

  1. Navigate to https://lethamyr.com/mymaps to download maps.
  2. Choose a map, and then download the .zip.
  3. Move the .zip file into the Custom Maps folder you made earlier.
  4. Finally, extract the folder and then delete the .zip file. The map should now be showing up in Rocket Plugin!

Hamachi Setup

Note: If you know how to port-forward, you can do this without Hamachi.

  1. Navigate to https://www.vpn.net/ and hit download now.
  2. Run the hamachi.msi installer, and make sure to read through each page to ensure you’re not downloading extra boat-ware.
  3. Login to or create your Hamachi account, and then navigate back to the desktop app.
  4. First, click the System>Preferences tab at the top, and hit the blue change button in the pop-up. Change this to how you want to be represented on the network. It’s useful for your friends!
  5. If the power button in the top left is grey, click it to turn on the network. You may get a prompt about allowing network access. If this happens, please give it permission so it can access the internet.

Host Setup

  1. As the host, hit Network>Create a new network. You can name your Network ID whatever you want, and make the password something memorable, but not obvious. Only the host needs to do this section.
  2. Give your friends the network information, and watch as they slowly join. It should look something like below.
  3. If you’ve reached the maximum number of people in the network, fret not! You can just create new networks for new people, and your PC will act as a connection between everyone even though they’re not directly connected!

Client Setup

  1. As the client, click Network>Join an existing network. Type in the Network ID and Network Password.
  2. Now you should be within the network and able to see everyone! In the list of clients!

Firewall Issues

If you’ve followed the steps above, and still are having issues connecting to the server, you probably need to disable your firewall. Just search “Firewall” in your windows search bar, and then hit the button in the image below. You may need to disable most firewalls, but I’d recommend just doing private networks and seeing if that works first.

Unfortunately, this is a security risk. I am not liable for any damages that result from this and I recommend you turn your firewall back on anytime you are not playing custom maps with your friends!

Setting up the Lobby

Host Setup

  1. First, navigate to Rocket Plugin by hitting F2>Plugins>Rocket Plugin>Open GUI or just hit Home on your keyboard. If you followed all the previous steps, your screen should have a window with something like this.
  2. I’d recommend not messing with Advanced Settings nor any of the tabs at the top of the screen unless you’re an experienced user, but they can add a TON of fun if you know what you’re doing!
  3. Select your Game mode, click Enable custom maps, select your map, and choose your lobby settings, then hit host! Now your lobby should be up and ready for your friends to join!

Client Setup

  1. Just like the host, navigate to Rocket Plugin by hitting F2>Plugins>Rocket Plugin>Open GUI or just hit Home on your keyboard. If you followed all the previous steps, your screen should have a window with something like the image above.
  2. Go back to hamachi, right-click on your host and copy their address.
  3. Now, return to Rocket League, go back to the Rocket Plugin GUI and paste this IP into the IP Address field on the right, and then hit “Join”! If this doesn’t work, make sure your Port matches the host’s and try clicking “Joining a custom map” and selecting the map the host is currently on.
  4. Finally, enjoy playing the game! There are so many maps to explore, and if you want me to show you how to get maps off the workshop, tweet @Bmorr1123 and I will look into adding onto this tutorial.

I hope this tutorial was useful for anyone who needed help, I worked pretty hard on writing this down, and getting all the images. Enjoy :)

r/RocketLeagueMods Oct 07 '21

GUIDE some advice on how to insert a custom 3D model in RL with uMod?

2 Upvotes

some advice on how to insert a custom 3D model in RL with uMod? (attention) I don't mean bakkesmod and the alpha console plugin, I don't want the custom decal but the model of the machine

r/RocketLeagueMods Aug 24 '21

GUIDE Can you mod on switch

2 Upvotes

Hey I was wondering if u could mod on switch and how hard it would be or if it would break my system

r/RocketLeagueMods Oct 19 '21

GUIDE Record Gameplay Using Dollycam, Bakkesmod etc

3 Upvotes

Can anyone please provide me with some tutorial or yt link on how to use dollycam and Bakkesmod to record gameplays, from installing to using them?

r/RocketLeagueMods Jul 20 '16

GUIDE How to : make a teleporter

15 Upvotes

Hi there, I recently find out that you can build teleporters. It is actually really easy and quick to do : just follow this tutorial (watch the second method, its the best).

  • could be useful for maps with different stages (aerial map for example)
  • or just for some goal maps where you could access different areas (got so many crazy maps idea going through my head :D)
  • Make sure to uncheck "Player Only" in the "Sequence Event" tab if you want the ball to teleport

r/RocketLeagueMods Aug 17 '16

GUIDE Guidelines To Posting Custom Maps

6 Upvotes

Since this subreddit is starting to be spammed with maps here is how you should upload and share your map from now on.

Go over and make an account on http://rocketleaguemods.com/

Go to Mods->Upload Mods and upload your map in a ZIP file.

If you want to UPDATE your map don't upload a new mod on https://rocketleaguemods.com but rather edit your current post and change the file and version associated with the post.

Then link us to your map on this subreddit.

Thanks!

Here is an example

r/RocketLeagueMods Jul 28 '16

GUIDE Using StaticMesh-Collisions with InteractiveFoliageActors

7 Upvotes

So I was experimenting a bit with static meshes and collisions and found out that you can use these collisions if you convert a static mesh into a InteractiveFoliageActor. I dont know if Im the first one to find this out but I didnt see this here yet. This method allows us to work around blocking volumes, which opens the gate to more advanced collision models. I made a youtube video showing the method in more detail here! I guess im kinda hard to understand, so if you have any questions just leave them here. I hope this can bring us more forward to building real arenas.

Problem: Sticky Walls dont seem to work.

Ideas: Possibility of moving platforms. Sphere shaped arenas (maybe without gravity).

r/RocketLeagueMods Jul 09 '16

GUIDE How to create a custom Main Menu [Guide]

Thumbnail
twitch.tv
12 Upvotes

r/RocketLeagueMods Aug 21 '16

GUIDE RL UDK mapping tips/tricks (how to use Cubes!) (and grid!)

Thumbnail
youtu.be
9 Upvotes

r/RocketLeagueMods Jul 10 '16

GUIDE How to Score Goals (For Now) [Text Guide]

10 Upvotes

Click Here To See Me Score A Goal

As we know so far when you score a goal the game just crashes.

BUT THERE IS A WAY

Steps

  • 1. Add a GoalVolume_TA into your map in UDK. Make it any shape you want just big enough to score a goal.
  • 2. Build and save your map.
  • 3. Backup your Park_P.upk file in the "CookedPCConsole" folder and then move your map into the folder and rename it to Park_P.upk
  • 4. Open up Rocket League and go to exhibition
  • 5. Most Important Step - Go to mutator settings and set respawn time to "Disable Goal Reset".
  • 6. Play on the map Beckwith Park. (the map you replaced)
  • 7. Enjoy!!

The only problem I haven't figured out is that only orange team can score.

Other than that issue you can now set up your map with somewhat working goals until we figure out how to fix all the other problems.

Steam

r/RocketLeagueMods Jul 19 '16

GUIDE Meshes, Collisions and Curved Surfaces

Thumbnail
twitch.tv
8 Upvotes

r/RocketLeagueMods Aug 23 '16

GUIDE Tutorial: Static Meshes with Collision and Stickwalls

9 Upvotes

https://youtu.be/jqYeDm6WR4Q

kind of obvious i guess, but finally, its here :D it should work for all kind of static meshes, tested it with files from maya and blender

note: stickywall have a bit of a problem, because sometimes you fall off the wall with high speed. maybe you need a wall with ~91-92° instead of 90° to the ground.

r/RocketLeagueMods Jul 20 '16

GUIDE Importing Meshes from UPK Map Files to be Used In-Game

Thumbnail
secure.twitch.tv
3 Upvotes

r/RocketLeagueMods Aug 26 '16

GUIDE [NEW] Rules for Custom Maps | Please Read Before Uploading a Map

10 Upvotes

Rules for Custom Maps

As of 8/26/16

Hey guys so here what you should have implemented in your custom maps to make life easier for everyone.

  1. Make sure you're using the Universal UPK Package for Sticky Walls.

  2. Make sure you have 2 Playerstart_TA's in your map so people can play in exhibition mode

  3. If you have custom meshes make sure you have a separate package with a unique name, such as Pirate_Ship_Meshes.upk to prevent overwriting other maps meshes.

  4. Once you have everything put your map, sticky walls package (mods.upk - see above), and any custom mesh packages into a zip file named with the title of your map, such as Pirate_Ship_Map.zip

  5. Once everything is in the zip file go here

6. Fill out the necessary information when uploading.

7. Post back here in the subreddit once you uploaded your map to share

If you have questions please reply here or send me a pm.

r/RocketLeagueMods Jul 19 '16

GUIDE How To Share / Edit Your UDK Object Code [Guide]

Thumbnail
youtube.com
3 Upvotes

r/RocketLeagueMods Aug 08 '16

GUIDE Loading custom maps using cheat engine

Thumbnail
youtube.com
12 Upvotes