![]() |
VOOZH | about |
dotnet add package DanielWillett.LevelObjectIcons --version 1.1.2
NuGet\Install-Package DanielWillett.LevelObjectIcons -Version 1.1.2
<PackageReference Include="DanielWillett.LevelObjectIcons" Version="1.1.2" />
<PackageVersion Include="DanielWillett.LevelObjectIcons" Version="1.1.2" />Directory.Packages.props
<PackageReference Include="DanielWillett.LevelObjectIcons" />Project file
paket add DanielWillett.LevelObjectIcons --version 1.1.2
#r "nuget: DanielWillett.LevelObjectIcons, 1.1.2"
#:package DanielWillett.LevelObjectIcons@1.1.2
#addin nuget:?package=DanielWillett.LevelObjectIcons&version=1.1.2Install as a Cake Addin
#tool nuget:?package=DanielWillett.LevelObjectIcons&version=1.1.2Install as a Cake Tool
This was originally a part of DevkitServer and has been ported to a standalone module.
Unturned/Modules folder.
(-90, 0, 0) (this is the default for most objects in-game, which is why it was chosen).<br>IDefaultIconProvider interface.There are two config files.
level_object_icons_config.jsonMain settings file for the module with the following options:
edit_keybind: Key used to toggle the Live Editor checkbox. Default: F8log_mising_keybind: Key used to print all objects that don't have an offset to Client.log. Default: Keypad5cycle_material_palette: Enables cycling between materials in the material palette. This may cause some lag on lower-end machines. Default: truedebug_logging: Enables extra logging to see what files are being used, etc. Default: falsedisable_default_provider_search: Disables searching other modules for default icon providers. Set this to true if errors arise from ApplyDefaultProviders. Default: falseOpen in Visual Studio Code or another IDE that supports JSON schemas to get auto-complete.
Change translation values for UIs and add a language here. English.dat has the default values but you can add your own language if desired, similar to how vanilla localization files work.
You can create offsets using the in-editor object extension menu. You must have this enabled in the config, which will be enabled by default.
Spawn in the object you want to edit (E).
Press 'F8' while in the Object Editor. You should see a toggle box appear called Live Editor, ensure it's checked. It is normal to have a minor FPS drop while editing.
You must have the asset selected and the object you just spawned in selected, then you'll see the preview moving as you move your camera.
You can have multiple objects selected, as long as you only have one selected of the type you're editing. This can be useful for making multiple icons have the exact same offset.
Position your camera so the preview looks how you want the icon, then either hit Save or Save New (see below).
Save New saves to (or updates if theres already an icon preset there) the custom icon file: <Module Folder>\configured_icons.json, where they can be copied into your mod or plugin.
Save looks for a non-readonly file with an icon preset for that asset and saves there, otherwise it saves to the same place as Save New.
Except for the Custom icons file, the file name must start with one of the following (case insensitive) and be a .json file:
| Location | Readonly | Recursive File Discovery |
|---|---|---|
Custom icons file: <Module Folder>\configured_icons.json |
No | N/A |
Loaded workshop content: steamapps\workshop\304930\* |
Yes | Yes |
Sandbox folder: Unturned\Sandbox |
No | Yes |
Vanilla bundles folder: Unturned\Bundles |
Yes | No |
Vanilla object bundles folder: Unturned\Bundles\Objects |
Yes | Yes |
Loaded and Enabled Modules: Unturned\Modules\* |
Yes | Yes |
To include custom icon offsets in your mod, delete the custom icon file at <Module Folder>\configured_icons.json and exit and rejoin the editor if needed.
Then go through all your objects, place them, configure the icon like described above, and hit Save New.
The priority will be set as high as it needs to be to be picked over any other presets.
Once you're done, cut the custom icon file to somewhere in your mod folder (it must be under ~\Bundles for maps).
For manual entry
[
{
// Asset GUID or UInt16 ID - Objects do not require UInt16 IDs so they will likely become discontinued.
"object": "GUID or ID",
// Position offset (m)
"position": [x: decimal, y: decimal, z: decimal],
// Euler rotation offset (you can add a fourth argument (w: decimal) to make it read as a Quaternion)
"rotation": [x: decimal, y: decimal, z: decimal],
// Optional - Default is 0. Higher priorities are used first.
"priority": integer
},
{
"object": "205a8cc33c9849c9bd65790403d0753d",
"position": [-3, -10, 9],
"rotation": [-107, -80, 260],
"priority": 1
}
]
You can copy offsets of other objects by selecting the object asset, then right clicking the Goto button to fill it's GUID into the text box next to it. You could also just type the GUID in manually.
Next select the asset you want to align and a spawned level object object of the same type (not more than one) and left click Goto, it will teleport your camera to the same offset as the other object had relative to your selected object, and you can save it from there.
I recommend using the JSON method described above for compatibility and performance reasons.
Adding an empty GameObject as a child to the base prefab will provide a position and rotation for a camera.
Name it Icon (Icon2 is also supported).
To preview it in Unity, add a Camera Component in perspective mode with 60 FOV. Then just position the camera where you want.
Make sure you remove the Camera and I'd recommend disabling your Icon GameObject for performance reasons.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 net5.0 was computed. net5.0-windows net5.0-windows was computed. net6.0 net6.0 was computed. net6.0-android net6.0-android was computed. net6.0-ios net6.0-ios was computed. net6.0-maccatalyst net6.0-maccatalyst was computed. net6.0-macos net6.0-macos was computed. net6.0-tvos net6.0-tvos was computed. net6.0-windows net6.0-windows was computed. net7.0 net7.0 was computed. net7.0-android net7.0-android was computed. net7.0-ios net7.0-ios was computed. net7.0-maccatalyst net7.0-maccatalyst was computed. net7.0-macos net7.0-macos was computed. net7.0-tvos net7.0-tvos was computed. net7.0-windows net7.0-windows was computed. net8.0 net8.0 was computed. net8.0-android net8.0-android was computed. net8.0-browser net8.0-browser was computed. net8.0-ios net8.0-ios was computed. net8.0-maccatalyst net8.0-maccatalyst was computed. net8.0-macos net8.0-macos was computed. net8.0-tvos net8.0-tvos was computed. net8.0-windows net8.0-windows was computed. net9.0 net9.0 was computed. net9.0-android net9.0-android was computed. net9.0-browser net9.0-browser was computed. net9.0-ios net9.0-ios was computed. net9.0-maccatalyst net9.0-maccatalyst was computed. net9.0-macos net9.0-macos was computed. net9.0-tvos net9.0-tvos was computed. net9.0-windows net9.0-windows was computed. net10.0 net10.0 was computed. net10.0-android net10.0-android was computed. net10.0-browser net10.0-browser was computed. net10.0-ios net10.0-ios was computed. net10.0-maccatalyst net10.0-maccatalyst was computed. net10.0-macos net10.0-macos was computed. net10.0-tvos net10.0-tvos was computed. net10.0-windows net10.0-windows was computed. |
| .NET Core | netcoreapp3.0 netcoreapp3.0 was computed. netcoreapp3.1 netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 netstandard2.1 is compatible. |
| .NET Framework | net461 net461 is compatible. net462 net462 was computed. net463 net463 was computed. net47 net47 was computed. net471 net471 was computed. net472 net472 was computed. net48 net48 was computed. net481 net481 was computed. |
| MonoAndroid | monoandroid monoandroid was computed. |
| MonoMac | monomac monomac was computed. |
| MonoTouch | monotouch monotouch was computed. |
| Tizen | tizen60 tizen60 was computed. |
| Xamarin.iOS | xamarinios xamarinios was computed. |
| Xamarin.Mac | xamarinmac xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos xamarinwatchos was computed. |
Showing the top 2 NuGet packages that depend on DanielWillett.LevelObjectIcons:
| Package | Downloads |
|---|---|
|
DevkitServer.Client
Module for Unturned that enables multi-user map editing. |
|
|
DevkitServer.Server
Module for Unturned that enables multi-user map editing. |
This package is not used by any popular GitHub repositories.