Skip to main content

On Sale: GamesAssetsToolsTabletopComics
Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

CookieBadger

80
Posts
1
Topics
376
Followers
6
Following
A member registered Aug 09, 2019 · View creator page →

Creator of

Recent community posts

Hey!
There is a paint mode for this purpose, you just have to enable Snapping (set the step equal to your tile size), and then click and drag to place multiple tiles. You can see it in action here:

https://cookiebadger.github.io/assetplacer-docs/painting_orienting.html

yes, of course this is possible!

Please closely follow the instructions: https://cookiebadger.github.io/assetplacer-docs/installation.html

You need to have .NET installed on your machine for C# scripts to work, the latest version can be downloaded here: https://dotnet.microsoft.com/en-us/download/dotnet

Don't forget to actually press the C# build button (hammer icon) in the top right run bar of the editor! 

~CookieBadger

Hey, thanks for reaching out :)

While nobody specifically asked me this before, I figured that the components I developed might be handy for an in-game level editor too, although major adaptions would have to be made. Since the editor has a similar structure as a Godot game (scene tree, process() functions, input events), re-purposing at least some parts of the tool would certainly be possible. However, all the plugin logic that ties into the EditorInterface, for example, would need to be stripped out, so you will have to dive into the plugin's code base quite deeply for integrating it into an in-game level editor.

Hope this helps, let me know if you have any specific questions about the source code and implementation.

awesome game. love how it hits at insurance companies making their claim procedures purposefully terrible. it perfectly reminded me of cancelling an adobe subscription 

Okay, I'm sorry that you had this extra effort just to get the plugin working. Do let me know if you ever have the problem again, and if regenerating the NuGet Config helps in that case.

Best regards, and happy developing!

Alright, since you have nothing uncommon there, it should be safe to delete both .sln and .csproj files, and see if that fixes the issue.

If it doesn't, then I guess there must be an issue with either your .NET installation (or Mono, but better not to use Mono anymore), the NuGet configuration, or some stuff within your userdata folders. 

As a start, you should try and make sure that NuGet works. From the docs:

A simple way to fix the NuGet configuration file is to regenerate it. In a file explorer window, go to %AppData%\NuGet. Rename or delete the NuGet.Config file. When you build your Godot project again, the file will be automatically created with default values.

I can recall this fixing the issue on one of my machines once. I really hope we won't have to reinstall stuff, I wouldn't want you to go through that trouble.

Thanks for the screenshot. Your setup does indeed look correct. 

Sometimes, such issues can occur when certain C# files are not properly (re-)built, and the engine thinks they are at a different location.

Can you try both going to MSBuild and pressing 'Clean Build', and if that still does not work, manually deleting the folder: C:/Users/Ian/Documents/GitHub/liminalita/.godot/mono

This 'mono' folder is where the compiled C# files are put when they are built, so if stuff goes wrong, deleting that often helps.

 If the problem persists, would you please also send me the contents of the .csproj and .sln files inside your project folder? 

Thanks for the patience, by the way, I hope together we're getting to the root of the problem.

Hello sol-vin. 

To my knowledge, the language field in the .cfg does not do much. Please make sure that the plugin is set in the correct folder (inside "res://addons/"), as described here: https://cookiebadger.github.io/assetplacer-docs/installation.html
The installation location should match the location specified in the .cfg file. If you are on Linux, note that uppercase and lowercase are treated differently, so if your addons folder is called "Addons", e.g. it might not work.

Let me know if you need further help. 

thanks for the info. While it's more a workaround than a fix, I'm glad it prevents the problem. I might decide to break compatibility with 4.0 and remove all those deprecated references in an update then.

Apologies for this very late response. I have been looking into this from time to time again,  but still have not found a reliable way to reproduce the issue. So far, it seems like the engine arbitrarily performs a (de)serialization and then the plugin looses certain references.

If you could somehow provide me with exact steps to do in order to get this issue, it might help me find a fix. I would also be interested in your hardware (especially CPU and RAM) to see if the bug is related to limitations in physical resources.

So far, one thing you could try is go to the file addons\assetplacer\placementController\SurfacePlacementController.cs and in line 102 change `editorInterface` to `EditorInterface.Singleton`. If this fixes the issue, please also let me know, so I can include it in a hotfix. 

In the meantime, I will keep trying to find a fix, whenever I have the time.

Are you using any other plugins that could cause an incompatibility? 

Does disabling and re-enabling (temporarily) remove the error? 

Which OS and which .NET version version are you on?

Hello berni94,

I'm glad you like the plugin. Thanks for the report, I am looking into this now. I have not been able to reproduce it for now, but it seems to happen during (de)serialization, i.e. when the plugin is loaded or unloaded. You might be able to get rid of the error if you disable and re-enable the plugin. If that doesn't fix it, restarting the editor might also fix it. 

Unfortunately, it is quite difficult to prevent this type of error during serialization, so I would need some more info to find a potential fix for this. When, and how often does this error occur in your project? E.g. does it happen after you rebuild your C# solution, or right after enabling the plugin? Also, how severe is this issue for your workflow?

I'd appreciate if you could update me on these details.

Glad I could help!

(1 edit)

Dear Nathcra,

I've been able to investigate your issues a little. As for the first issue, I gathered that you are probably using the Terrain3D addon and placing on it? If my guess is correct, you are using an outdated version of Terrain3D (0.9.2 or prior). If you were to use Terrain3D 0.9.3 the error would not appear. If updating Terrain3D is not possible in your project, you can easily fix the error spam by going into addons\assetplacer\placementController\Terrain3DPlacementController.cs and replacing lines 30-47 with the code below:

var data = _terrain3DNode.Get("storage"); // legacy (<0.9.3)
if (data.Obj == null)
{
   return new PlacementInfo(PlacementPositionInfo.invalidInfo, "Error retrieving Terrain3D data", Colors.Red);
}
var heightRange = data.As<Resource>().Get("height_range"); // legacy (<0.9.3)
if (heightRange.Obj == null)
{
   return new PlacementInfo(PlacementPositionInfo.invalidInfo, "Error retrieving Terrain3D height range", Colors.Red);
}

As for the second error you found, I can not provide a quick fix, unfortunately. I suspect that deactivating and activating the plugin would temporarily make it disappear. If you are using any other plugins (which could be conflicting) or if the error always pops up after you perform a certain action prior to the viewport clicking you describe above, let me know. If you find any other bugs, I'm glad if you share them as well.

I hope this helps!

~CookieBadger

Hello Nathcra,

thanks for the detailed bug report. Before I start looking into it, would you please let me know the Godot version and AssetPlacer version you are using?

Best,

CookieBadger

Thanks for reporting, I understand what you mean and will look into it 

Hello!

I'm sorry that it didn't meet expectations. You can  request a refund on itch.io only by contacting support.

Best,

CookieBadger

Hello Dawid,

scattering is a larger feature set, that needs time to be designed and developed. A non-mono version is also not a feature that I can just make from one week to another. I am unable to make any estimates for both requirements for now, but I suspect that by the end of the year, you will still be waiting.

I understand it is frustrating when you pay for a product and it does not fulfill all of your requirements. Unfortunately, you are paying to obtain product as-is, and while I hope to provide you with useful updates as often as I can, it does not entitle you to have requests implemented in a given time frame. I do appreciate you supporting the development, though, and hope to come closer to meeting your expectations soon.

Best,

CookieBadger 

Noted!

Hello TranquilMarmot!

Unfortunately the randomizer is not implemented yet. What you see is the UI, that I drafted at some point and which accidentally made it into 1.3.1.

This feature is yet to be implemented.

If you upgrade to the latest version (1.4.1) you'll see that this UI has been removed again.

I'm glad you got it working, and thanks for sharing your findings. I will investigate regarding the project name issue.

Good luck with your projects!

Hello @slothware.

I'm sorry that you're encountering an issue. The error can be affected by several things, but I can't say for sure which is the cause

- Corrupted C# files, you could try if the plugin recompiles correctly after deleting the folder /.godot/mono inside your project repository

- Assetplacer version and Godot version: make sure you have a compatible combination. Let me know which ones you are using, make sure you use the latest Godot version

- .csproj or .sln file in your project directory. If you have added any custom specifications there, the AssetPlacer compilation can be affected.

I hope you can fix your issue. Let me know how it goes. Please also make sure to check this page: https://cookiebadger.github.io/assetplacer-docs/faq.html#i-added-the-plugin-but-i-cannot-enable-it

happy to help!

(2 edits)

Hello @telmotrooper! Indeed, the resolution I used during most of the development was FullHD, I sometimes also use 2k, but I have not taken into account 4k screens I admit. Your request is absolutely valid and I will adjust this in the next minor patch. 

In the meantime you may just apply this easy fix yourself by opening the scene at addons/assetplacer/ui/AssetPaletteUi.tscn, searching for "AssetButtonSizeSlider" in the node hierarchy and changing the max value from 1.0 to a value of your liking (4.0 should be sufficient). After this you need to disable and enable the plugin again for changes to take effect.



If the buttons do appear too pixelated, you can adjust the general thumbnail size of the Engine in the EditorSettings under 'Docs -> File System -> Thumbnail Size'. This should affect thumbnail size in the editor as well as in AssetPlacer.


I hope this helps. Let me know if you encounter any other issues.

thank you so much <3

I'm trying my best, but I can assure this is a charming exaggeration 😅♥

Yes, of course! I also added a hint at the end of the store page with a link to your page, to be fair.

Hey Keith!

yes, if you remember I once contacted you to ask if I could use them. Are you interested in the tool? I can provide you with a key if you wish. Contact me on Discord, if so :)

Best regards, and thank you for your great work,

~Cookie

Okay, thank you for specifying. I'm sorry, such a feature is currently not implemented, but it might be a good addition, so I will think about implementing it!

I wish you best of luck for your project!

Hello Denis!

thank you for your message :) If I understand correclty, the "Match Selected" button should do what you are looking for. Select the barrel, then click "match selected", and you can start placing it right away. Also there is a shortcut on Spacebar, to select the last object you have been placing, which might be useful. 

I hope this is what you are looking for, if it is not, please specify what exactly you would like to do. As to "do it on runtime", I am not sure what you are referring to.

Best regards

You are welcome, and I am glad you were able to fix your issue. Happy development! :)

Hello denisvergara@outlook.com, did you make sure after adding the plugin to the addon folder to:

- add a new empty C# script, to let Godot know that this is a C# project and show the build button?

- Click the build button (little hammer icon) next to the play button?

I went ahead and tried the plugin again in 4.2.2mono and 4.3rc2mono, and in both versions I was able to install the plugin without problems. I also used the latest .NET version (6.0.424).

Hello denismedia, did you make sure after adding the plugin to the addon folder to:

- add a new empty C# script, to let Godot know that this is a C# project and show the build button?

- Click the build button (little hammer icon) next to the play button?

I went ahead and tried the plugin again in 4.2.2mono and 4.3rc2mono, and in both versions I was able to install the plugin without problems. I also used the latest .NET version (6.0.424).

I am happy to hear that you were able to solve your issue. The warning you get now should not be a problem, and only appear when you open the project. If it annoys you, you can change all instances of "EditorPlugin.GetEditorInterface()" with "EditorInterface". The reason for the obsolete code is backward compatibility with Godot 4.0.

unfortunately, I cannot tell how to fix your issue from this information. Since it happens in a new project, I suspect there might either be a problem with your .NET installation (maybe try upgrading it to a newer version), or with the version of Godot you downloaded (make sure it is the mono version). If the problem persists, you may contact me here so we can try to do some deeper troubleshooting.

Hello Relic, can you try if it gives you the same error if you add the plugin to a new project? Also, can you send me the contents of your .csproj file inside your project, to see if you have any unusual configuration there?

Please also make sure you precisely followed each of the installation steps here:

https://cookiebadger.github.io/assetplacer-docs/installation.html

I wish you best luck for your project! If there is anything else you want to know about my plugin, be sure to let me know :)